序列图中alt和opt片段的区别?

时间:2014-02-21 16:06:41

标签: uml sequence option sequence-diagram alt

我想详细了解序列图中alt和opt片段之间的区别,它们看起来相似,我无法区分它们。有人知道这件事吗?

7 个答案:

答案 0 :(得分:65)

alt用于描述工作流的替代方案。只会执行其中一个选项。

opt用于描述工作流程中的可选步骤。

例如,对于在线商店购买序列图,您可以使用opt来描述用户如果愿意可以添加礼品包装的方式。 alt可用于描述两种付款方式:使用信用卡或电汇转帐。

答案 1 :(得分:14)

Alt 是替代流程(SWITCH或if。具有两个路径的IF)选项是具有一个流的IF。如果您使用Opt,代码将被执行或不执行!

答案 2 :(得分:2)

使用Interaction Frames(组合片段)

Interaction Operators用于表征片段。

  • alt-将片段分为几组并为每个组定义条件-只有条件为true的那个组才会执行。
  • opt-将条件定义为单个调用-仅在提供的条件为true时,该调用才会执行。等效于只有一条痕迹的alt。
  • par-定义片段中的调用并行运行。
  • loop-定义片段中的调用循环运行。
  • region-定义片段中的调用位于关键部分,即片段只能有一个线程一次执行它。

enter image description here

了解更多here

答案 3 :(得分:0)

alt-if else
opr-单一条件

enter image description here

答案 4 :(得分:-1)

它们基本相同。

alt更多用于多种选择,例如C编程语言中的switch句组。虽然opt更多用于两个选项,例如if句。

但是,如果你看到这两个概念可以互换使用,不要感到惊讶。

答案 5 :(得分:-1)

Alt(替代)确实类似于"如果"但两者都不仅限于两个选项,两者实际上可以根据需要包含许多"其他",多个选项。例如:// if(a = b)然后是++;否则,如果(a> b)则a--;否则b ++。在任何情况下,如果Alt是正在调用的代码的一部分,则Alt将执行。

尽管Opt(可选)不一定会被执行,即使它包含在被调用的序列或代码的中间。通常,执行Opt序列需要来自用户的外部交互,该用户正在做出决定,其中呈现了许多选项(例如选择在线支付方法)。在这种特殊情况下,与Alt序列相反,如果支付方法是"信用卡","支付朋友"或"预付费",代码将有3个Opt序列 - 每个只有一个流程 - 但是只有一个Opt序列将实际执行。

希望这会有所帮助!!

最佳, SD

答案 6 :(得分:-3)

Alt alt alt可以认为它与if一样......否则就是条件处理。 可选的opt是一种可能发生或不发生的行为(视情况而定)