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

问题描述 投票:31回答:6

我想详细了解一下alt和opt片段在序列图中的区别,它们看起来很相似,我无法区分它们。谁知道这件事?

uml sequence option sequence-diagram alt
6个回答
67
投票

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

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

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


14
投票

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


3
投票

使用Interaction Frames(组合片段)

Interaction Operators用于表征片段。

  • alt - 将片段分成组并为每个组定义条件 - 只有条件为真的那个才会执行。
  • opt - 为单个调用定义条件 - 只有在提供的条件为真时才会执行调用。相当于只有一条迹线的alt。
  • par - 定义片段内的调用并行运行。
  • loop - 定义片段内的调用在循环中运行。
  • region-定义片段内的调用位于临界区,即片段只能有一个线程同时执行它。

enter image description here

阅读更多here


-1
投票

它们基本相同。

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

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


-1
投票

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

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

希望这可以帮助!!

最好,SD


-3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.