UML用例图、时序图、类图、活动图
1 .类图
1.1关系
实现: 类实现接口 , [表现] implements
泛化: 类继承类 , [表现] extends
组合: 特殊的关联关系, 是整体与部分的关系, 部分与整体同生命周期, [表现] 成员变量
聚合: 特殊的关联关系, 是整体与部分的关系, 部分与整体不同生命周期, [表现] 成员变量关联: 一个类知道另一个类的行为(方法), [表现] 成员变量
依赖: 一个类的实现需要另一个类的协助, [表现] 局部变量、方法的参数或者对静态方法的调用
关系强弱:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
示例说明:
- 汽车和飞机实现交通工具接口
- 引擎组合成汽车,车载收音机聚合成汽车
- 出租车继承自汽车
- 出租车与司机是多对多的双向关联关系,司机单向关联驾照(一个司机持有一个驾照)
- 司机依赖车载WIFI
2.用例图:
参与者:外部参与者(用户/其他系统)
用例:功能
2.1关系
包含关系:一个用例包含另一个用例(不可或缺)
拓展关系:一个用例存在是为了拓展另一个用例(锦上添花)
继承关系:一个用例继承自一个用例
依赖关系:一个用例依赖另一个用例
-—————————————————————-静态图结束—————————————————————————-
静态视图: 用例图 , 部署图 , 类图 , 对象图
动态视图: 序列图 , 协作图 , 状态图 , 活动图
-—————————————————————-动态图开始—————————————————————————-
3.时序图:
对象: 类的实例
焦点: 对象操作的执行
同步消息(黑实心箭头):等待响应
异步消息(尖角箭头):无需等待响应
返回消息:操作响应
示例说明:
- 用户向控制器发送一个同步登录消息(调用控制器的login方法)
- 控制器先检查用户信息(查询DB或会话),成功匹配后向账户发送一个信息请求
- 账户收到请求,返回一个账户信息,控制器返回给用户
- 控制器给自己发送一个异步用户已登录消息(保存会话信息)
4.状态图:
超状态:状态的父状态
事件:激发状态转换
动作:状态转换伴随的行为
监护条件:满足条件状态才可转换
示例说明:(假设是一台咖啡机)
- 打开开关,开机灯亮,状态置为On::Ready
- 按下制作按钮,判断监护条件:是否有水有咖啡粉,满足进入工作状态,工作灯亮
- 制作完毕,就绪灯亮,状态转换为Ready
- 按下关闭按钮,灯灭进入Off状态
5.活动图
和流程图类似,但又有所区别:
- 活动图侧重对象活动顺序,表现系统行为; 流程图侧重控制结构,表现处理过程;
- 活动图面向对象,流程图面向过程;
- 活动图可以表示并发活动;
还没有评论,来说两句吧...