有趣的UML

面向对象分析过程

请根据本学期的课程,结合实际软件开发过程,归纳出使用面向对象技术进行项目开发,需要开展哪些活动,你认为最关键的活动是什么?(注意,核心活动不能少,辅助活动至少两个。

答:业务流程分析(业务建模):业务活动图
用例模型:用例文本和用例图
其他需求捕获:业务规则、补充规格说明、词汇表、愿景、变例等
领域模型分析:领域模型
系统顺序图(辅助)、操作契约(辅助)
用例交互图实现:用例顺序图
设计类图建模:类图
逻辑架构分析:架构设计文档说明(辅助)
活动图及其建模、状态图及其建模(辅助)
持久化设计:数据库设计说明(辅助)
部署和构件建模(辅助)
代码实现:源码(辅助)

最关键的活动是交互图。理由是:他描述出系统动态完成用例的过程。

迭代开发和进化开发的概念

迭代开发:迭代开发是UP和大多数其他现代方法中的关键实践。开发被组织成一系列固定短期小项目称为迭代。每次迭代都产生经过测试,集成并可执行的局部系统。每次迭代都具有各自的需求分析,设计,实现和测试活动。
进化开发:迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以循环反馈和调整为核心驱动力,使之最终成为适当的系统

RUP的阶段和科目

RUP的阶段:初始 细化 构造 移交
科目:业务建模 需求 设计

初始阶段的目标

为项目目标建立一些初始的共同构想,确定项目是否可行,并决定是否值得进入细化阶段加以认真研究。

用例的定义

用例是文本形式的情节描述,广泛应用于需求的发现和记录中,用以说明某参与者使用系统以实现某些目标。

顺序图和代码的转换

右边的矩形是你的属性(看要不要创建)
左边的箭头指过来的是你的方法
右边指过去的箭头是你方法里的小方法,但是是右边属性.出来的方法。

通信图画法

实例放在下面生成出来

GoF

策略

在这里插入图片描述

  • 环境类(Context):持有抽象策略类的引用,用来操作策略的上下文环境。
  • 抽象策略类(Strategy):策略的抽象类或接口,给出所需实现接口。
  • 具体策略类(ConcreteStrategy):具体的策略实现。

使用策略模式,简单来说,就是封装子类行为成接口,父类包含该接口即可。

在这里插入图片描述

问题:如何设计变化但相关的算法或政策?如何设计才能使这些算法或政策具有可变更的能力?
解决方案(建议):在单独的类中分别定义每种算法/政策/策略,并且使其具有共同接口。

不同的定价算法或策略会根据时间而变化。谁应该创建策略呢?有一种直接的方法就是再次应用工厂模式

相关模式
策略是基于多态的,并且对于变化的算法提供了防止变异。策略通常由工厂创建。

用例图

知识分享平台用例图

然后老师想要的用例图和下面的要求不一样,老师不想要花里胡哨的extend什么的,所以下面的就只是图一乐了。

知识分享平台需要的使用者需要有两个,一个是分享者,一个是接收者。
就算在现实生活中你可以同时兼任两个人,但是你在用例图中就得给他区分开来。

Actor

在这里插入图片描述
primary actors要在左边
secondary actors要在右边

Use Case

oval shape
在这里插入图片描述

Relationships

Association

Include

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Extend

在这里插入图片描述
在这里插入图片描述

Generalization

在这里插入图片描述
在这里插入图片描述

类图

使用指向父类的箭头是继承关系

核酸检测的类图

顺序图

骰子游戏顺序图

object 用矩形
生命线用虚线
虚线表示返回的信息
然后老师想要的是最后回到屏幕而不是回到使用者

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值