UML - 序列图中的替代流程是否需要if和else保护?

时间:2016-05-31 00:17:43

标签: uml sequence-diagram

使用替代流程时,是否需要在序列图中使用if和else保护?例如,如果我有一个网站并且一个人决定购买一个项目,那么该项目是保留的,如果他没有付款,那么该产品将被删除,付款也是如此。因此,如果您已经在客户和界面之间的交互中指定了它,那么在接受付款成本时是否有意义:接口?

2 个答案:

答案 0 :(得分:2)

如果未指定保护条件,则跳过两个备选方案。 UML 2.5的第17.6.3.7节(替代方案)说,“如果没有操作数具有评估为真的保护,则不执行任何操作数,并且执行封闭的InteractionFragment的其余部分。”

答案 1 :(得分:0)

每个alt流程都有明确或隐含的保护(见第一段17.6.3.7)。如果没有提供保护声明,则将其视为隐含的真​​正保护。

如果使用序列图对各种流进行建模,即使您只显示特定图表中的一个流,也应该将保护放在那里(否则您将拥有一个始终执行的流程,通常不是什么你想用alt建模。

正如Uffe所提到的,守卫只包含一个被评估为真或假的逻辑语句(没有'if'关键字)。