上午题 # 8 UML
2025年3月29日12:43:34
UML四种事务
类别 | 核心特点 | 典型例子 | 类比记忆 |
---|---|---|---|
结构事物 | 静态的、基础构建块 | 类、接口、构件、节点 | 公司的「部门架构图」 |
行为事物 | 动态的、动作与流程 | 交互、状态机、活动 | 员工的「工作流程表」 |
分组事物 | 组织管理的容器 | 包(Package) | 文件柜的「分类抽屉」 |
注释事物 | 附加说明的符号 | 注释(Note) | 贴在墙上的「便利贴」 |
UML五种关系
依赖借,关联友,聚合可拆组合死
关系类型 | UML表示 | 代码表现 | 生命周期 | 强度 |
---|---|---|---|---|
依赖 | -----> (虚线) | 局部变量/ 方法参数 | 临时性 | ⭐ |
关联 Association | ──>(实线) | 成员属性 | 独立存在 | ⭐⭐ |
聚合 Aggregation | ◇── (空心菱) | 成员属性 | 部分可独立 | ⭐⭐⭐ 强调对象间的引用关系 |
组合 Composition | ◆── (实心菱) | 成员属性 | 同生共死 | ⭐⭐⭐⭐ 人体与心脏 |
泛化/继承 Generalization | ▲── (空心三角) | extends | 子类继承父类 | 特殊 |
实现 Realization | 虚线空心三角 | 类实现接口 | 子类实现父类 |
关联多重度
UML类图
对象图
用例图
一个用例和多个对象的行为
序列图(顺序图)
以时间顺序组织的对象之间的交互活动
特点
- 有垂直的虚线(生命线)-> 序列图或者通信图(通信图也叫做协作图, 通信图专有的特点是, 消息旁边有箭头)
- 垂直对象排列 + 水平消息箭头 → 序列图独有布局。
- 看是否有交互片段(如
loop
、alt
)→ 锁定序列图
通信图(协作图)
强调参加交互的对象的组织
特点
- 消息有编号
- 消息旁边有箭头表示消息的指向
状态图
展现了一个状态机,它由状态、转换、事件、活动组成. 强调对象行为的时间顺序
特点
- 只描述1个对象的内部的多个状态变化
- 可以没有终点(final,用⦾表示)状态,图仍然是有效的
- 不适用多对象交互(多对象交互是序列图和通信图)
- 复合状态(也叫做超状态,表示包含多个子状态)
- 四条边都是直线,四个角是圆角
- 两个状态之间有转换(迁移), 转换包含的元素有: 事件 + [监护条件] + /效果(动作)
转换(迁移)的组成因素
转换时状态之间的连线.而非状态
转换的三大要素是:事件、条件、效果(动作),而非“状态”
转换连接两个状态
活动图
是一种特殊的状态图. 所以特征里有黑太阳,
展现了从一个活动到另一个活动的流程
特点
- 有两个实心并且瘦长的矩形
- 有并发分岔/汇合分岔. 注意, 状态图也会有
是一种特殊的状态图
构件图(组件图)
构件图是组件之间的组织和依赖
特点
- 英文 component
- 有供/需接口表示, 即圆和半圆
- 两室一厅