Files
obsidian/速查手册/UML九图速查.md
T

3.5 KiB

UML九图速查手册

用途:考前快速回顾9种UML图的核心特征


📊 九种UML图一句话定位

想表达什么? 用什么图?
系统能干什么? 用例图
系统里有哪些类?它们什么关系? 类图
某一刻对象的具体情况? 对象图
对象之间怎么按时间顺序交互? 顺序图
对象之间怎么在空间上协作? 协作图
一个对象的状态怎么变化? 状态图
一个业务流程步骤怎么走? 活动图
代码文件之间怎么依赖? 组件图
软件部署在哪些硬件上? 部署图

🔗 九图分类

UML图
├── 功能模型:用例图
├── 静态模型(结构):类图、对象图、包图
├── 动态模型(行为):顺序图、协作图、状态图、活动图
└── 物理模型(实现):组件图、部署图

📋 九图完整对比表

图类型 分类 描述几个对象? 强调 核心元素
用例图 功能 多 系统功能全景 参与者、用例、系统边界
类图 静态结构 多 类的定义和关系 类、属性、操作、关系
对象图 静态结构 多 某一时刻的快照 对象、属性值、链
包图 静态结构 多 类的分组组织 包、依赖、泛化
顺序图 动态交互 多 消息的时间顺序 对象、生命线、控制焦点、消息
协作图 动态交互 多 对象的空间位置 对象、链、消息(带序号)
状态图 动态行为 1个 状态如何变迁 状态、转移、事件
活动图 动态行为 多 流程步骤 活动、分支、泳道、分叉
组件图 物理实现 多 代码文件组织 组件、接口、依赖
部署图 物理实现 多 硬件拓扑 结点、组件、连接

🎨 各图关键语法速查

用例图

  • 参与者 = 火柴人 🧑
  • 用例 = 椭圆 ○
  • 系统边界 = 方框 □
  • 关系:包含 <<include>> (必然)、扩展 <<extend>> (条件)

类图

  • 类 = 三格矩形(类名|属性|操作)
  • 可见性:+公有 -私有 #受保护
  • 六大关系:关联(实线)、聚合(空心菱形)、组合(实心菱形)、依赖(虚线)、泛化(空心三角)、实现(虚线空心三角)

顺序图

  • 对象 + 生命线(虚线) + 控制焦点(矩形条) + 消息(箭头)
  • 调用消息 = 实心箭头,异步消息 = 开放箭头
  • 嵌套:1 → 1.1 → 1.1.1

协作图

  • 对象 + 链(实线) + 消息(带序号)
  • 必须标注消息序号!没有时间轴

状态图

  • 状态 = 圆角矩形,转移 = 箭头
  • 事件/ [条件] / 动作
  • 初始状态 ● → 终态 ⊙

活动图

  • 活动 = 圆角矩形
  • 分支 = 菱形 ◇
  • 分叉/汇合 = 粗横线
  • 泳道 = 纵向分区

组件图

  • 组件 = 带<>的矩形
  • 关系主要是依赖(虚线箭头)

部署图

  • 结点 = 3D立方体
  • 通信路径 = 实线

📐 MVC版型速查

版型 图标 职责 例子
<> 边界类 带竖线的圆 与外界交互 登录页面、购物车页面
<> 控制类 带箭头的圆 协调逻辑 订单处理、支付验证
<> 实体类 带横线的圆 持久化数据 用户、订单、商品