为什么 Branch 和 Merge 在 UML Activity 图中使用相同的符号?

Why do Branch and Merge use the same symbol in UML Activity diagrams?

分支和合并使用相同符号的基本原理是什么?

我觉得很困惑,因为你不能依靠形状来知道是否有条件发生。

我可以使用其他一些标准符号或符号变体吗?我宁愿避免将许多箭头连接到同一个端点,因为这样很难理解图表。但我也想区分条件和合并点。

注意这个问题与Fork和Join无关,它们处理并发并用黑色矩形表示。

原因可能是允许您将两者组合在一个节点中。

UML 2.5 规范状态:

The functionality of a MergeNode and a DecisionNode can be combined by using the same node symbol, as shown in Figure 15.34. At most one of the incoming flows may be annotated as a decisionInputFlow. This notation maps to a model containing a MergeNode with all the incoming edges shown in the diagram and one outgoing edge to a DecisionNode that has all the outgoing edges shown in the diagram.