有没有人在序列图中使用过消息分支?有谁知道这是专门用于什么?
据我所知,它用于显示多个收件人收到的单个邮件
我刚刚看到它曾用于显示并发性,但我认为这是不正确的,应该由" par"片段或在共同区域内。
想法和意见?
答案 0 :(得分:5)
据我所知,在UML 2+的序列图中没有消息分支这样的东西(但是看到结尾)。
首先,Message
是一对sendEvent
和receiveEvent
,其中sendEvent
(对于foundMessage)和receiveEvent
(对于lostMessage) )可以是可选的,但它不能有多个发送者/接收者。
如果有的话,你的图表将是两个不同的消息发送,因为如果你有两个接收者,那么每个接收者都会呈现不同的receiveEvent
(因此是唯一的Message
)。
此外,您使用的符号很奇怪,因为[强调我的]
在交互图中,每条垂直线描述了一个流程的时间线,时间从页面开始增加。 时间线上两个事件之间的距离并不代表任何字面上的时间度量,只有非零时间已经过去。
所以非水平线表示非零时间间隔,并且规范没有提到这样的弯曲线。
我在 UML 1.3 (http://doc.omg.org/formal/2000-03-01.pdf)
中找到了邮件分支变体:分支
分支由多个箭头显示,留下一个点,每个点用a标记 保护条件。取决于保护条件是否相互关联 独占,构造可以表示条件或并发。
然而 UML 1.3没有明确定义的元模型。
据我所知,消息分支已从UML 2开始的规范中删除。但是,它可以由两个具有明确定义的Ordering
的单独消息或使用par
片段表示如果它是平行的(这不是一回事)。