4.3 UML 作为思考工具
建模不是为了产出漂亮图。建模是为了让一个设计问题足够可见,让团队能讨论它。
当对话需要一个共享对象时,就使用模型。
正在加载交互实验...
正在加载概念检查...
为问题选择模型
| 图 | 适合回答的问题 |
|---|---|
| 用例图 | 谁和系统交互,哪些目标重要? |
| 类图 | 有哪些概念,它们拥有哪些职责? |
| 时序图 | 对象或服务按什么顺序通信? |
| 活动图 | 存在哪些流程、分支或异常路径? |
| 状态图 | 一个实体如何在状态之间移动? |
| 组件图 | 哪些部分可部署或可替换? |
| 部署图 | 软件在哪里运行,基础设施如何连接? |
如果没人知道这张图支持什么决策,就停止画图。
建模高风险部分
你通常不需要给整个系统画完整 UML。建模有不确定性的部分:
- 支付重试时序。
- 账号恢复状态。
- 基于角色的访问决策。
- 数据迁移流程。
- 服务抽取前的边界。
正在加载交互实验...
正在加载概念检查...
让模型活着,或明确它是一次性的
有些模型是一次性思考工具。有些模型是活文档。先决定你正在做哪一种。
活模型应该靠近代码,在决策变化时被评审,并且简单到人们真的愿意更新。
正在加载本节练习...