1. 活动图与决策节点基础解析
活动图(Activity Diagram)作为UML中最常用的行为建模工具之一,特别适合描述业务流程和系统工作流。在订单处理系统的建模实践中,决策节点(DecisionNode)扮演着关键角色,它相当于流程图中的条件判断菱形符号,但具有更丰富的语义表达。
决策节点通常表现为菱形图标,具有一个输入流和多个带条件的输出流。与合并节点(MergeNode)配合使用时,可以构建复杂的条件逻辑分支。在Figure 15.39展示的案例中,我们看到"Buy Item"和"Make Item"两个活动可以并行执行,这种设计模式在库存管理系统中非常典型——当客户下单时,系统既可以选择采购新品(Buy Item),也可以选择从生产线调拨(Make Item),或者两者同时进行。
关键理解:决策节点不同于分叉节点(ForkNode)。分叉表示纯粹的并行开始,而决策节点必须明确每个出流的监护条件(guard condition),如Figure 15.40中的"[order accepted]"和"[order rejected]"。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 典型决策模式深度剖析
2.1 单条件分支结构
Figure 15.40展示的是最基础的二元决策结构:
code复制[Received Order] → (DecisionNode) → [Fill Order]/[Close Order]
这种模式需要注意三个要点:
- 监护条件必须互斥且全覆盖,避免出现条件漏洞
- 条件表达式应使用方括号包裹,如
[库存充足] - 每个出流应指向明确的活动节点或另一个决策节点
在实际项目中,我建议为每个条件分支添加注释说明,例如:
plantuml复制:Received Order;
if (order accepted?) then (yes)
:Fill Order;
else (no)
:Close Order;
endif
2.2 并行执行与同步机制
Figure 15.39演示了高级的并行控制流:
code复制[Buy Item] → [Ship Item]
[Make Item] → [Ship Item]
这种模式的特点是:
- 使用分叉节点(ForkNode)启动并行流
- 每个并行
