1. 活动图与决策节点基础认知
活动图作为UML(统一建模语言)的核心图表类型之一,主要用于描述系统或业务流程的动态行为。在业务流程建模中,决策节点(DecisionNode)扮演着关键角色,它表示流程执行过程中需要进行条件判断的分支点。就像十字路口的交通信号灯,决策节点决定了流程下一步的执行路径。
传统流程图中的菱形判断框在UML活动图中被规范化为两种元素:决策节点(实心菱形)和合并节点(同样使用实心菱形)。这种标准化设计使得建模过程更加清晰——决策节点专门处理分支逻辑,而合并节点则负责汇聚多个分支流。这种分离符合单一职责原则,避免了传统流程图中菱形符号既做判断又做合并的混乱情况。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 决策节点的规范用法详解
2.1 图形表示与连接规则
在UML 2.5规范中,决策节点必须用实心菱形表示,且应满足以下连接规则:
- 必须有一个输入流(incoming edge)
- 至少有两个输出流(outgoing edges)
- 每个输出流必须标注监护条件(guard condition)
正确的连接方式示例:
code复制[活动A] --> (决策节点)
(决策节点) --"[条件1]--> [活动B]
(决策节点) --"[条件2]--> [活动C]
重要提示:决策节点不允许自我连接形成循环,这种情况应该使用合并节点配合活动边界来实现循环逻辑。
2.2 监护条件的规范表达
监护条件需要遵循以下语法规范:
- 必须用方括号包裹,如"[x > 0]"
- 条件表达式应当简洁明确
- 建议使用业务术语而非技术实现细节
- 必须保证条件互斥且全覆盖
常见错误示例:
- 缺少方括号:x > 0 → 错误
- 条件重叠:"[年龄≥18]"和"[年龄>16]" → 可能重叠
- 未全覆盖:缺少"[else]"分支
2.3 与合并节点的配合使用
合并节点(MergeNode)同样使用实心菱形表示,但其连接规则与决策节点相反:
- 有多个输入流
- 只有一个输出流
- 不需要监护条件
典型模式:
code复制[活动A] --> (决策节点)
(决策节点) --"[条件1]--> [活动B] --> (合并节点)
(决策节点) --"[条件2]--> [活动C] --> (合并节点)
(合并节点) --> [活动D
