UML 作图时间线:从零到交付的实战顺序

本手册不要求画全部 14 种 UML 图。实战只用 8 种,按 6 个阶段推进,约 3 周完成从需求到部署的全部模型文档。所有图使用 PlantUML 语法——8 种图全部原生支持,无需近似语法。

相比 Mermaid 版本的优势:PlantUML 原生支持用例图、活动图、组件图、部署图、包图、gantt 图,不再需要用 flowchart 或 classDiagram 近似替代。

阶段一搞清边界(1-3 天)

1. 用例图 — 回答"系统给谁用、做什么"

用例图
用例图示例:在线商城

产出:一张用例图 + 每个用例 3 句话描述的用例规约。

用例规约模板:基本流(正常场景)| 备选流(异常场景)| 前置/后置条件

阶段二梳理流程(1-3 天)

2. 活动图 — 回答"每个核心用例怎么走"

核心用例不超过 3 个,带泳道。

活动图
活动图示例:提交订单(带泳道)

产出:核心用例的活动图(一张图讲一个用例的主流程 + 异常分支)。

阶段三识别关键对象状态(半天)

3. 状态机图 — 回答"核心对象有哪些状态、怎么切换"

状态机图
状态机图示例:订单生命周期

产出:1-3 个关键对象的状态机。

阶段四建模核心领域(2-5 天)

4. 类图 — 回答"系统有哪些核心概念、它们什么关系"

类图
类图示例:订单域模型

产出:一张核心域模型类图(≤20 个类),标注关键属性和关系类型。

5. 包图 — 回答"核心代码怎么分层、分模块"

包图
包图示例:订单模块分层依赖

产出:包图(含依赖方向),禁用循环依赖。

阶段五设计交互细节(3-7 天)

6. 序列图 — 回答"一个操作内部怎么协作"

为 3-5 个关键操作 各画一张序列图。

序列图
序列图示例:提交订单完整协作

产出:关键操作的序列图(一张图一个场景,不合并成功/失败)。

阶段六确定模块与部署(1-2 天)

7. 组件图 — 回答"系统有哪些服务、接口怎么定义"

组件图
组件图示例:微服务拓扑

产出:组件图,标注每个组件的供给接口与依赖接口。

8. 部署图 — 回答"系统跑在什么机器上、怎么连"

部署图
部署图示例:三层物理拓扑

产出:部署图,标注节点规格(可选)和通信协议。

完整时间线总览

时间线总览
Gantt 图:3 周 6 阶段总览

一句话速记

你要做什么画什么
搞清楚要做什么用例图
看懂业务流程活动图
核心对象状态状态机图
领域模型类图
代码分层包图
某个操作怎么协作序列图
微服务怎么拆组件图
部署到哪台机器部署图

铁律

  1. 不是 14 种全画。实战只画这 8 种,足够覆盖从需求到上线的全部阶段。
  2. 一张图一个焦点。类图不超过 20 个类,序列图一个场景一张。
  3. 先画再完美。草图对齐理解,细节后补。
  4. 图要进 git。PlantUML 是纯文本,天然支持 diff 和 code review。
  5. 8 种图 PlantUML 全部原生支持。不需要 flowchart 近似,语义精确。

PlantUML 支持对照

UML 图PlantUML 语法原生支持
用例图usecase + actor完整
活动图start / if / |泳道|完整
状态机图[*] + 状态转移完整
类图class + 关系完整
包图package + 依赖完整
序列图actor / participant + 消息完整
组件图component + ()完整
部署图node + artifact完整