面向对象分析过程
请根据本学期的课程,结合实际软件开发过程,归纳出使用面向对象技术进行项目开发,需要开展哪些活动,你认为最关键的活动是什么?(注意,核心活动不能少,辅助活动至少两个。
答:业务流程分析(业务建模):业务活动图
用例模型:用例文本和用例图
其他需求捕获:业务规则、补充规格说明、词汇表、愿景、变例等
领域模型分析:领域模型
系统顺序图(辅助)、操作契约(辅助)
用例交互图实现:用例顺序图
设计类图建模:类图
逻辑架构分析:架构设计文档说明(辅助)
活动图及其建模、状态图及其建模(辅助)
持久化设计:数据库设计说明(辅助)
部署和构件建模(辅助)
代码实现:源码(辅助)
最关键的活动是交互图。理由是:他描述出系统动态完成用例的过程。
迭代开发和进化开发的概念
迭代开发:迭代开发是UP和大多数其他现代方法中的关键实践。开发被组织成一系列固定的短期小项目称为迭代。每次迭代都产生经过测试,集成并可执行的局部系统。每次迭代都具有各自的需求分析,设计,实现和测试活动。
进化开发:迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以循环反馈和调整为核心驱动力,使之最终成为适当的系统。
RUP的阶段和科目
RUP的阶段:初始 细化 构造 移交
科目:业务建模 需求 设计
初始阶段的目标
为项目目标建立一些初始的共同构想,确定项目是否可行,并决定是否值得进入细化阶段加以认真研究。
用例的定义
用例是文本形式的情节描述,广泛应用于需求的发现和记录中,用以说明某参与者使用系统以实现某些目标。
顺序图和代码的转换
右边的矩形是你的属性(看要不要创建)
左边的箭头指过来的是你的方法
右边指过去的箭头是你方法里的小方法,但是是右边属性.出来的方法。
通信图画法
实例放在下面生成出来
GoF
策略
- 环境类(Context):持有抽象策略类的引用,用来操作策略的上下文环境。
- 抽象策略类(Strategy):策略的抽象类或接口,给出所需实现接口。
- 具体策略类(ConcreteStrategy):具体的策略实现。
使用策略模式,简单来说,就是封装子类行为成接口,父类包含该接口即可。
问题:如何设计变化但相关的算法或政策?如何设计才能使这些算法或政策具有可变更的能力?
解决方案(建议):在单独的类中分别定义每种算法/政策/策略,并且使其具有共同接口。
不同的定价算法或策略会根据时间而变化。谁应该创建策略呢?有一种直接的方法就是再次应用工厂模式
相关模式
策略是基于多态的,并且对于变化的算法提供了防止变异。策略通常由工厂创建。
用例图
知识分享平台用例图
然后老师想要的用例图和下面的要求不一样,老师不想要花里胡哨的extend什么的,所以下面的就只是图一乐了。
知识分享平台需要的使用者需要有两个,一个是分享者,一个是接收者。
就算在现实生活中你可以同时兼任两个人,但是你在用例图中就得给他区分开来。
Actor
primary actors要在左边
secondary actors要在右边
Use Case
oval shape
Relationships
Association
Include
Extend
Generalization
类图
使用指向父类的箭头是继承关系
核酸检测的类图
顺序图
骰子游戏顺序图
object 用矩形
生命线用虚线
虚线表示返回的信息
然后老师想要的是最后回到屏幕而不是回到使用者