首页/开发/系统分析与架构设计速查/活动图(Activity Diagram)
需求分析与建模61 条

活动图(Activity Diagram)

描述流程与并发:动作节点、控制流、决策与合并(菱形)、分叉与汇合(粗线)、对象节点与泳道;语义上以令牌流动驱动执行。

活动图是什么

活动图描述流程与并发:动作节点表示一个步骤,控制流连接节点,菱形表示决策与合并,粗线表示分叉与汇合,还可以用泳道按角色或系统划分职责区域。语义上它以令牌流动驱动执行,一个令牌沿控制流前进,经过分叉会产生多个令牌,必须全部到达汇合点后流程才继续。它适合表达业务流程、审批流程与带并发分支的处理逻辑。

PlantUML 示例

PlantUML 示例
@startuml
start
:接收申请;
if (校验通过?) then (是)
  :写入订单;
  fork
    :发送通知;
  fork again
    :更新统计;
  end fork
else (否)
  :返回错误;
endif
stop
@enduml

基本信息

决策与合并菱形,多出多入的条件判断与流程汇聚
分叉与汇合粗线,表示并发分支开始与等待全部分支完成
泳道按角色、部门或系统划分职责区域
对象节点表示流程中流转的数据或产物
工具PlantUML、draw.io、Mermaid、建模工具

典型使用场景

  • 业务流程梳理:把审批、退换货等跨角色流程画成统一视图
  • 需求评审:用泳道明确每个环节由谁负责,减少职责争议
  • 并发处理设计:表达哪些步骤可并行、哪些必须等待全部完成
  • 异常路径梳理:补出失败、超时、撤销等分支的处理方式
  • 流程自动化选型:作为工作流引擎建模的输入
  • 系统对接:说明跨系统流程中各自的职责边界
活动图与状态机图容易混用:活动图关注步骤与流转,状态机图关注对象所处的状态;工作流适合前者,生命周期约束适合后者。
分叉后的并行分支在汇合前必须全部完成;若某个分支可能永久等待,需要显式加入超时或取消路径。

节点与语义

节点符号语义与注意
起始节点实心圆流程唯一入口,可有多处结束
动作节点圆角矩形描述一个可执行步骤,命名用动词短语
决策节点菱形按条件选择一条分支,条件需互斥且完整
分叉与汇合粗线并发开始与同步等待,注意设置超时出口
结束节点带圈实心圆流程终止,区分流程结束与局部结束

易错点

  • 并行分支缺少异常出口,某个分支失败或超时后整个流程永久停住
  • 决策节点未覆盖全部取值组合,出现无出口的悬挂路径
  • 泳道只标一个角色,跨部门职责无法表达,评审时职责仍然模糊
  • 把流程细节画到界面操作级别,界面改版后图立即失效
  • 用活动图表达对象状态约束,状态与守卫条件无法体现

数据来源与参考

  • OMG UML 2.5.1 规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌