在UML序列图中 - 如果在中途满足条件时流量应该停止,那么如何用备用/可选片段最好地表示它?
即。 - 如果不满足停止条件,则继续流动几个步骤。 如果备用片段覆盖自停止条件以来的所有步骤,使所有步骤超过备用片段的一部分,或者是否有一个符号来处理小的备用片段内的停止(仅限于条件)?
答案 0 :(得分:5)
这种情况有三种选择。我用图表说明每个应该如何使用相应的组合片段。使用交互引用隐藏实际行为(通常应该执行的流的normalFlow和在需要中断时应该发生的任何流的breakFlow)。
第一个解决方案是最方便的 - 它完全涵盖了你的情况,你也可以使用正面版本的防区。但是,每一个都为您提供了有效的可能性。
当满足中断组合片段并且它的保护条件为真时,仅执行该片段,然后停止执行交互(流)。如果不满足条件,则省略组合片段并继续正常流程。这正是您描述的情况。在这种情况下,您将在中断组合片段之后放置不应执行的消息。
当满足opt组合片段时,仅当保护条件为真时才执行。无论条件如何,流程的其余部分都会继续 正如Thomas Kilian在其他答案中已经描述的那样,只有在opt组合片段中不满足中断条件时,才能将流的一部分继续存在。 opt片段应该具有与流应该停止的条件相反的保护。如果在休息时发生任何其他操作,则应将其放在opt组合片段之后。
答案 1 :(得分:3)