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

3.5 KiB
Raw Blame History

UML九图速查手册

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


📊 九种UML图一句话定位

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

🔗 九图分类

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

📋 九图完整对比表

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

🎨 各图关键语法速查

用例图

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

类图

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

顺序图

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

协作图

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

状态图

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

活动图

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

组件图

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

部署图

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

📐 MVC版型速查

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