如何在 UML activity 图上对可选操作建模

How to model optional actions on UML activity diagram

在网上搜索和我拥有的几本老式书籍之后,我仍然没有找到如何为特定用例建模 activity 的答案。 我对 UML 相当陌生,因此 activity 图表。

activity是添加酒店。这是虚构的,但问题与我的问题完全相同。我的合同不允许我向第三方谈论真正的交易。

在此 activity 中,用户提供必要的详细信息,并有两个可选操作,他可以​​在 添加酒店 activity 中随时选择:

  1. 添加连锁酒店
  2. 添加忠诚度计划

如前所述,这些是可选的而非强制性的。用户还可以继续保存输入的数据。 However, when choosing one of these actions, I imagine another activity diagram should be invoked, named the same as the choice the user made.在此 activity 中输入所有相关内容,并在端点上用户 returns 到 添加酒店 activity 之后用户可以选择再次选择可选活动或继续保存提供的数据。

我找到的唯一有点相关的答案是 this one

但据我了解,fork 意味着必须执行它之后的所有操作,然后流程才能在 join 之后继续。 并且在决定的情况下,只能选择一个选项。

上面的操作 1 和 2 也可以从应用程序的其他位置获得。我只需要在 添加酒店 activity.

上提供它们

那么我将如何对 activity 流程中始终可用的可选操作进行建模?为什么要那样做(如果阅读后不明显) 另外,这些可选操作是 Atomic 操作还是 CallBehavior 操作有关系吗?

正如所说,我对 UML 还很陌生,所以很可能我对某些事情的解释有误。

您假设分叉将在所有路径中继续进行是正确的。要制作可选流程,只需使用决策节点(看起来像菱形)。从那里您可以继续您的两个可选操作或跳过。最后用完全相同的菱形再次加入路径以合并可选路径。

基本上它可能看起来像这样(不考虑您 activity 的所有细节):

忽略所有关于不同动作的模糊细节。 Atomic 足以作为开始。