UML用例图、时序图、类图、活动图

1 .类图

UML用例图、时序图、类图、活动图

1.1关系

实现: 类实现接口 , [表现] implements
泛化: 类继承类 , [表现] extends
组合: 特殊的关联关系, 是整体与部分的关系, 部分与整体同生命周期, [表现] 成员变量
聚合: 特殊的关联关系, 是整体与部分的关系, 部分与整体不同生命周期, [表现] 成员变量关联: 一个类知道另一个类的行为(方法), [表现] 成员变量
依赖: 一个类的实现需要另一个类的协助, [表现] 局部变量、方法的参数或者对静态方法的调用

关系强弱:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

示例说明:

  • 汽车和飞机实现交通工具接口
  • 引擎组合成汽车,车载收音机聚合成汽车
  • 出租车继承自汽车
  • 出租车与司机是多对多的双向关联关系,司机单向关联驾照(一个司机持有一个驾照)
  • 司机依赖车载WIFI

2.用例图:

UML用例图、时序图、类图、活动图

参与者:外部参与者(用户/其他系统)

用例:功能

2.1关系

包含关系:一个用例包含另一个用例(不可或缺)

拓展关系:一个用例存在是为了拓展另一个用例(锦上添花)

继承关系:一个用例继承自一个用例

依赖关系:一个用例依赖另一个用例

--------------------------------------------静态图结束---------------------------------------------------

静态视图: 用例图 , 部署图 , 类图 , 对象图

动态视图: 序列图 , 协作图 , 状态图 , 活动图

--------------------------------------------动态图开始---------------------------------------------------

3.时序图:

UML用例图、时序图、类图、活动图

对象: 类的实例

焦点: 对象操作的执行

同步消息(黑实心箭头):等待响应

异步消息(尖角箭头):无需等待响应

返回消息:操作响应

示例说明:

  • 用户向控制器发送一个同步登录消息(调用控制器的login方法)
  • 控制器先检查用户信息(查询DB或会话),成功匹配后向账户发送一个信息请求
  • 账户收到请求,返回一个账户信息,控制器返回给用户
  • 控制器给自己发送一个异步用户已登录消息(保存会话信息)

4.状态图:

UML用例图、时序图、类图、活动图

超状态:状态的父状态

事件:激发状态转换

动作:状态转换伴随的行为

监护条件:满足条件状态才可转换

示例说明:(假设是一台咖啡机)

  • 打开开关,开机灯亮,状态置为On::Ready
  • 按下制作按钮,判断监护条件:是否有水有咖啡粉,满足进入工作状态,工作灯亮
  • 制作完毕,就绪灯亮,状态转换为Ready
  • 按下关闭按钮,灯灭进入Off状态

5.活动图

UML用例图、时序图、类图、活动图
和流程图类似,但又有所区别:

  • 活动图侧重对象活动顺序,表现系统行为; 流程图侧重控制结构,表现处理过程;
  • 活动图面向对象,流程图面向过程;
  • 活动图可以表示并发活动;