alt
和opt
片段有什么区别?alt
和opt
片段有什么区别?alt
用于描述工作流的备选场景。只会执行其中一个方案。
opt
用于描述工作流中的可选步骤。
例如,对于在线购物网站购买顺序图,您可以使用opt
来描述用户如何在希望时添加礼品包装。alt
可用于描述两种付款方式:使用信用卡或电汇转账。
在UML规范中,这些含义在第17.12.15节中描述。 opt
和alt
是两种不同的运算符类型,以下是规范如何描述它们:
alt
:
InteractionOperatorKind alt表示CombinedFragment代表行为选择。最多选择其中一个操作数。所选操作数必须具有在此交互点评估为true的显式或隐式保护表达式。如果操作数没有保护,则暗示一个隐式真实的保护。
opt
:
InteractionOperatorKind opt表示CombinedFragment代表行为选择,其中操作数(唯一)发生或不发生任何事情。选项在语义上等同于具有非空内容的一个操作数和第二个操作数为空的替代CombinedFragment。
opt
片段表示该图描述了两个可能的交互序列 - 一个包含opt
片段中的交互,另一个则不包含。描述条件可以从某些确定性计算(2+2==4
)到用户选择(选择红色药丸
)再到随机事件(原子衰变
)。这取决于图表作者的意图。 - Roman-Stop RU aggression in UAskin rose
。 - Roman-Stop RU aggression in UAAlt是替代流程(SWITCH或if. 带有两个路径的 IF)Opt是只带有一个路径的IF。如果您使用Opt,代码将会执行或者不执行!
Alt(alternative)确实与"if"类似,但都不仅限于只有两个选择,实际上都可以有很多"else"选项,根据需要而定。例如://if (a=b) then a++; else if (a>b) then a--; else b++。无论如何,如果Alt是被调用的代码的一部分,Alt将会执行。
而Opt(Optional)即使包含在被调用的序列或代码中,也不一定会被执行。通常,要执行Opt序列需要来自用户的外部交互,用户进行决策时会呈现许多选项(比如选择在线支付方式)。在这种特殊情况下,与Alt序列相反,如果支付方式是"信用卡"、"PayPal"或"预付款",代码将具有3个Opt序列,每个序列只有一个流程,但只有一个Opt序列会被实际执行。
希望对您有所帮助!
祝好, SD
它们基本上是相同的。
alt
更多地用于多个选择,例如 C 编程语言中的 switch
语句组。而 opt
更多地用于仅有两个选择,例如 if
语句。
但是,如果你看到这两个概念交替使用,请不要感到惊讶。