在/ /

时间:2016-07-10 14:37:23

标签: uml sequence diagram alternate

在UML序列图中 - 如果在中途满足条件时流量应该停止,那么如何用备用/可选片段最好地表示它?

即。 - 如果不满足停止条件,则继续流动几个步骤。 如果备用片段覆盖自停止条件以来的所有步骤,使所有步骤超过备用片段的一部分,或者是否有一个符号来处理小的备用片段内的停止(仅限于条件)?

2 个答案:

答案 0 :(得分:5)

这种情况有三种选择。我用图表说明每个应该如何使用相应的组合片段。使用交互引用隐藏实际行为(通常应该执行的流的normalFlow和在需要中断时应该发生的任何流的breakFlow)。

第一个解决方案是最方便的 - 它完全涵盖了你的情况,你也可以使用正面版本的防区。但是,每一个都为您提供了有效的可能性。

  1. 打破组合片段
  2. 当满足中断组合片段并且它的保护条件为真时,仅执行该片段,然后停止执行交互(流)。如果不满足条件,则省略组合片段并继续正常流程。这正是您描述的情况。在这种情况下,您将在中断组合片段之后放置不应执行的消息。

    enter image description here

    1. 选择合并片段
    2. 当满足opt组合片段时,仅当保护条件为真时才执行。无论条件如何,流程的其余部分都会继续 正如Thomas Kilian在其他答案中已经描述的那样,只有在opt组合片段中不满足中断条件时,才能将流的一部分继续存在。 opt片段应该具有与流应该停止的条件相反的保护。如果在休息时发生任何其他操作,则应将其放在opt组合片段之后。

      enter image description here

      1. Alt合并片段
      2. 当满足alt组合片段时,将评估其保护条件,并且仅执行最后一个保护评估为true的片段。可能还存在这样的情况,即没有一个防护评估为真,并且在这种情况下没有执行任何片段。无论如何,在组合片段正常执行之后是什么流程。 在这种情况下,您最好放置两个碎片,一个带有正确的操作防护装置,另一个带有应该导致断裂的条件。将正常流量放在第一个片段中,以及在第二个片段中断时应该发生什么。

        enter image description here

答案 1 :(得分:3)

您可以使用opt片段来快捷方式:

enter image description here

人们可以开始争辩说这在语法上是不正确的,但它会传输消息(我猜)。这就是最重要的。

根据我的个人经验:尽可能少地使用片段。而是将您的场景分开,专注于某些重要方面。 SD是系统的快照,您可以在这里查看正在进行的操作的概况,而不是每个可能的猫狗踪迹的详细路线图。