该UML活动图本质上是一种流程图,用于建模流程的顺序和并发步骤或活动。它用于描述系统的动态方面,重点关注从一个活动到下一个活动的控制流。
该图对于建模业务流程、定义不同组件之间的工作流以及记录系统或方法的内部逻辑至关重要。

活动流的核心元素
活动图基于节点(表示步骤)和边(表示控制流)构建。
A. 活动与操作节点
它们表示流程中的一个步骤或任务。

- 符号表示: 一个圆角矩形。
- 操作节点: 表示一个原子且不可中断的步骤(例如,检查库存).
- 活动节点: 表示一个高层次目标,可以进一步分解为子活动(例如,完成订单).
- 目的: 用于定义需要执行的工作。
B. 控制流(边)
控制流是连接两个节点的箭头,表示从一个操作到下一个操作的转换。

- 符号表示: 一条实心箭头。
- 目的: 表示执行顺序。
C. 开始和结束节点
每个图都必须有一个起始点和一个或多个结束点。

- 初始节点(开始):
- 符号:一个实心填充的圆圈。
- 用途:控制流的入口点。
- 活动最终节点(结束):
- 符号:一个被较大空心圆包围的实心圆。
- 用途:表示活动内所有流程的完成。
- 流程最终节点:
- 符号:一个内部带有‘X’的圆圈。
- 用途:表示特定路径(流程)的结束,但并不一定不会终止整个活动。
建模决策与分支逻辑
活动图使用特定节点来处理条件逻辑,类似于代码中的if-else或switch语句。
A. 决策与合并节点
这些节点用于建模条件分支以及后续路径的重新汇合。

- 决策节点:
- 符号:菱形。
- 用法:一个输入流和多个输出流。每个输出流必须有一个保护条件(方括号中的条件,例如
[库存 > 0])决定选择哪条路径。
- 合并节点:
- 符号: 一个菱形。
- 用法: 多个输入流和一个输出流。它仅表示不同分支重新汇合的点,表明任意一个输入分支都可以进入下一步。它不会同步并发流。
建模并发与同步
与流程图通常为顺序结构不同,活动图擅长使用同步条来展示并行执行。
A. 分叉与汇合节点
这些节点用于将单一控制流拆分为多个并发流,之后等待这些并发流完成。

- 分叉节点:
- 符号: 一条粗的水平或垂直条。
- 用法: 一个输入流和多个输出流。所有输出流从此点开始并发(并行)执行。
- 汇合节点:
- 符号: 一条粗的水平或垂直条。
- 用法: 多个输入流和一个输出流。输出流必须等到所有 输入的并发流都完成(同步)后才能开始。
组织元素:泳道
泳道(也称为分区)对于显示哪个部门、组件或参与者负责哪项活动至关重要。它们将图表在视觉上划分为垂直或水平区域。
- 符号表示:垂直或水平的平行线,用于分隔不同的责任区域。
- 目的:按负责执行各项操作的实体对操作进行分组,从而在不同组织单元之间提供明确的责任归属(例如,“客户”、“Web系统”、“仓库”)。

活动图最佳实践总结
- 建模流程,而非对象:关注步骤的顺序和控制流,而非类之间的结构关系(这是类图的任务)。
- 使用泳道:始终使用泳道来清晰地划分每个动作的执行者(人或事物),尤其是在跨职能业务流程中。
- 标注守卫条件: 确保每个从决策节点发出的流程都标注有清晰且互斥的守卫条件(例如,
[A],[B],[否则]). - 同步分叉: 每个分叉 必须由一个汇合来确保后续步骤等待所有并行活动完成。
要更深入地理解UML以及人工智能如何对其进行可视化,可访问我们的UML资源中心.











