UML 状态图:选择和联结之间有什么区别?

UML state diagram: What is the difference between a choice and a junction?

在 UML 状态图中,过程流中的分支可以使用选择元素(由菱形符号表示)和传出转换条件进行建模(参见 example)。

另一方面,连接元素(用实心圆圈表示)可用于合并多个传入转换 and/or 将流程拆分为多个传出转换,这些转换也可能有条件(请参阅 example).

那么结点真的是选择的泛化吗? 有没有必须用choice不能用junction的情况?

根据 UML 2.5.1 specification,第 14.2.3.7 节,结点或选择传出转换之间的区别是何时 评估其关联的守卫。

如果在行为评估期间,即将离任的警卫评估可能会发生变化,则必须使用选择伪状态。 如果即将离任的守卫评估永远不会改变,你当然可以同时使用,但交界处可以更清楚。

希望对您有所帮助, 红胡子