在UML序列图中,是否可以对可选的外部输入进行建模

时间:2015-11-15 00:01:55

标签: uml sequence-diagram

在UML Sequence Diagrams中,您可以根据参数的不同值将组合的片段类型Alt分支。但是,让我们说,在序列的中间,您正在等待来自两个不同外部参与者的两个不同消息中的一个,您应该根据哪个到达来分支代码,对此进行建模的最佳方法是什么?为了使问题更具挑战性,让我们抛出这两种消息都没有出现的可能性(触发超时)。

如果没有更好的解决方案,我会将序列图分成多个序列图,每个序列图都以两个可能的消息之一开始。或者可能只是转到状态机。但是,他们是一个不太复杂的方式,可以让我在一个序列图中显示这些不同的情况吗?

2 个答案:

答案 0 :(得分:1)

我只想找到你可以相应命名的两个SD。应始终牢记SD应突出系统中复杂动作链的某个方面。试图将越来越多的信息放在单个SD中会使其陷入困境并阻碍更多信息。

也可以使用图表片段,允许导航通过放大两个片段。

enter image description here

时序图在这里不会有所帮助。您仍然需要一个大的alt片段来显示序列,具体取决于首先到达的消息。

答案 1 :(得分:1)

除了我在评论中提到的答案外,我还制作了一个带有持续时间约束的小样本。

enter image description here

如果你有很多条件逻辑来显示Activity Diagrams是另一种选择。它们没有对象责任或时间轴,但正因为如此,它们可以自由地使用两个维度来显示流量控制。