Oop 基于决策的顺序图UML if else

Oop 基于决策的顺序图UML if else,oop,uml,sequence-diagram,Oop,Uml,Sequence Diagram,在基于参与者决策的序列图中使用if-else可以吗?例如,如果参与者认为价格足够合理,则执行if,如果价格不合理,则执行else,如下所示: 谢谢是的,但是。。。 组合的片段alt可以有几个操作数,这些操作数由水平线分隔,并由交互约束(如[Rational price])或[else]保护。如果我们照章办事: InteractionConstraint显示在方括号中,它覆盖了第一个事件发生的生命线,位于该事件上方 即使我是第一个忘记这一点的人,这一图形说明也很重要。因此,[合理价格]应该涵盖演员

在基于参与者决策的序列图中使用if-else可以吗?例如,如果参与者认为价格足够合理,则执行if,如果价格不合理,则执行else,如下所示:

谢谢

是的,但是。。。 组合的片段alt可以有几个操作数,这些操作数由水平线分隔,并由交互约束(如[Rational price])或[else]保护。如果我们照章办事:

InteractionConstraint显示在方括号中,它覆盖了第一个事件发生的生命线,位于该事件上方

即使我是第一个忘记这一点的人,这一图形说明也很重要。因此,[合理价格]应该涵盖演员的生命线。实际上,如果您不这样做,您的读者将隐式地进行映射,但是图表可能更加模糊

为什么? 重要的是要认识到,这种图形指令隐藏了一个更深层次的现实:在您的情况下,如果是参与者主动开始相关的alt操作数并发送一些消息,那么参与者应该能够评估[合理价格]是否适用

这里我们应该记住,序列图用UML术语描述了可能的执行跟踪路径,因为执行路径对太多的交互人员来说意味着太多的事情:

交互是封闭分类器的行为单位

交互的语义以一对跟踪集的形式给出。这两个跟踪集分别表示有效跟踪和无效跟踪

跟踪是事件发生的序列

由于序列图是由其生命线之间的交互组成的,因此应该根据可用的知识,即启动操作数的生命线的知识,以及在某些情况下封闭分类器的知识来评估保护

这不是一个明确的UML需求,而是考虑到封装原则和潜在可见性约束的逻辑推导。它使模型更加有用,避免了不现实的期望。通过对抗,如果参与的生命线没有一个窗口可以观察天空和天气,那么卫兵(美丽的天气)的倾斜会是什么呢

结论 如果你的演员在图中有一条生命线,请确保警卫将其覆盖

如果您的参与者在图表中没有生命线,那么这个保护在语法上仍然是正确的。但是问问你自己,哪位参与者可以同时知道价格并确定什么是合理的价格。

是的,但是。。。 组合的片段alt可以有几个操作数,这些操作数由水平线分隔,并由交互约束(如[Rational price])或[else]保护。如果我们照章办事:

InteractionConstraint显示在方括号中,它覆盖了第一个事件发生的生命线,位于该事件上方

即使我是第一个忘记这一点的人,这一图形说明也很重要。因此,[合理价格]应该涵盖演员的生命线。实际上,如果您不这样做,您的读者将隐式地进行映射,但是图表可能更加模糊

为什么? 重要的是要认识到,这种图形指令隐藏了一个更深层次的现实:在您的情况下,如果是参与者主动开始相关的alt操作数并发送一些消息,那么参与者应该能够评估[合理价格]是否适用

这里我们应该记住,序列图用UML术语描述了可能的执行跟踪路径,因为执行路径对太多的交互人员来说意味着太多的事情:

交互是封闭分类器的行为单位

交互的语义以一对跟踪集的形式给出。这两个跟踪集分别表示有效跟踪和无效跟踪

跟踪是事件发生的序列

由于序列图是由其生命线之间的交互组成的,因此应该根据可用的知识,即启动操作数的生命线的知识,以及在某些情况下封闭分类器的知识来评估保护

这不是一个明确的UML需求,而是考虑到封装原则和潜在可见性约束的逻辑推导。它使模型更加有用,避免了不现实的期望。通过对抗,如果参与的生命线没有一个窗口可以观察天空和天气,那么卫兵(美丽的天气)的倾斜会是什么呢

结论 如果你的演员在图中有一条生命线,请确保警卫将其覆盖

如果您的参与者在图表中没有生命线,那么这个保护在语法上仍然是正确的。但作为
k你自己,交互的哪一个参与者可以同时知道价格并确定什么是合理的价格。

除了else的特例,guard表达式是你想要/需要的,在它计算为true的条件下,它是所选的操作数,除了else的特例,guard表达式是你想要的希望/需要在其计算结果为真的情况下成为所选的操作数非常感谢您的清晰解释非常感谢您的清晰解释