使用替代流程时,是否需要在序列图中使用if和else保护?例如,如果我有一个网站并且一个人决定购买一个项目,那么该项目是保留的,如果他没有付款,那么该产品将被删除,付款也是如此。因此,如果您已经在客户和界面之间的交互中指定了它,那么在接受付款成本时是否有意义:接口?
答案 0 :(得分:2)
如果未指定保护条件,则跳过两个备选方案。 UML 2.5的第17.6.3.7节(替代方案)说,“如果没有操作数具有评估为真的保护,则不执行任何操作数,并且执行封闭的InteractionFragment的其余部分。”
答案 1 :(得分:0)
每个alt流程都有明确或隐含的保护(见第一段17.6.3.7)。如果没有提供保护声明,则将其视为隐含的真正保护。
如果使用序列图对各种流进行建模,即使您只显示特定图表中的一个流,也应该将保护放在那里(否则您将拥有一个始终执行的流程,通常不是什么你想用alt建模。
正如Uffe所提到的,守卫只包含一个被评估为真或假的逻辑语句(没有'if'关键字)。