UML九图速查手册
用途:考前快速回顾9种UML图的核心特征
📊 九种UML图一句话定位
| 想表达什么? |
用什么图? |
| 系统能干什么? |
用例图 |
| 系统里有哪些类?它们什么关系? |
类图 |
| 某一刻对象的具体情况? |
对象图 |
| 对象之间怎么按时间顺序交互? |
顺序图 |
| 对象之间怎么在空间上协作? |
协作图 |
| 一个对象的状态怎么变化? |
状态图 |
| 一个业务流程步骤怎么走? |
活动图 |
| 代码文件之间怎么依赖? |
组件图 |
| 软件部署在哪些硬件上? |
部署图 |
🔗 九图分类
📋 九图完整对比表
| 图类型 |
分类 |
描述几个对象? |
强调 |
核心元素 |
| 用例图 |
功能 |
多 |
系统功能全景 |
参与者、用例、系统边界 |
| 类图 |
静态结构 |
多 |
类的定义和关系 |
类、属性、操作、关系 |
| 对象图 |
静态结构 |
多 |
某一时刻的快照 |
对象、属性值、链 |
| 包图 |
静态结构 |
多 |
类的分组组织 |
包、依赖、泛化 |
| 顺序图 |
动态交互 |
多 |
消息的时间顺序 |
对象、生命线、控制焦点、消息 |
| 协作图 |
动态交互 |
多 |
对象的空间位置 |
对象、链、消息(带序号) |
| 状态图 |
动态行为 |
1个 |
状态如何变迁 |
状态、转移、事件 |
| 活动图 |
动态行为 |
多 |
流程步骤 |
活动、分支、泳道、分叉 |
| 组件图 |
物理实现 |
多 |
代码文件组织 |
组件、接口、依赖 |
| 部署图 |
物理实现 |
多 |
硬件拓扑 |
结点、组件、连接 |
🎨 各图关键语法速查
用例图
- 参与者 = 火柴人 🧑
- 用例 = 椭圆 ○
- 系统边界 = 方框 □
- 关系:包含
<<include>> (必然)、扩展 <<extend>> (条件)
类图
- 类 = 三格矩形(类名|属性|操作)
- 可见性:
+公有 -私有 #受保护
- 六大关系:关联(实线)、聚合(空心菱形)、组合(实心菱形)、依赖(虚线)、泛化(空心三角)、实现(虚线空心三角)
顺序图
- 对象 + 生命线(虚线) + 控制焦点(矩形条) + 消息(箭头)
- 调用消息 = 实心箭头,异步消息 = 开放箭头
- 嵌套:1 → 1.1 → 1.1.1
协作图
- 对象 + 链(实线) + 消息(带序号)
- 必须标注消息序号!没有时间轴
状态图
- 状态 = 圆角矩形,转移 = 箭头
- 事件/ [条件] / 动作
- 初始状态 ● → 终态 ⊙
活动图
- 活动 = 圆角矩形
- 分支 = 菱形 ◇
- 分叉/汇合 = 粗横线
- 泳道 = 纵向分区
组件图
- 组件 = 带<>的矩形
- 关系主要是依赖(虚线箭头)
部署图
📐 MVC版型速查
| 版型 |
图标 |
职责 |
例子 |
| <> 边界类 |
带竖线的圆 |
与外界交互 |
登录页面、购物车页面 |
| <> 控制类 |
带箭头的圆 |
协调逻辑 |
订单处理、支付验证 |
| <> 实体类 |
带横线的圆 |
持久化数据 |
用户、订单、商品 |