2015-04-29 31 views
1

在搜索到我拥有的网络和一些旧式书籍后,我仍然没有找到如何为特定用例建模活动的答案。 我对UML以及活动图很新颖。如何在UML活动图上对可选操作建模

活动为添加酒店。这是虚构的,但问题与我的问题完全相同。我的合同阻止我谈论第三方的真实交易。

在此活动的用户提供必要的细节,并有他可以随时选择两种可选的动作,而在加入酒店活动:

  1. 加入连锁酒店
  2. 添加会员计划

如上所述,这些是可选的,而不是强制性的。用户也可以继续保存输入的数据。然而,当选择其中一个动作时,我想应该调用另一个活动图,命名与用户所做的选择相同。在此活动中输入所有相关内容,并在端点处用户返回到添加酒店活动,之后用户可以选择再次选择可选活动或继续保存提供的数据。

唯一有点答非所问我发现了this one

但据我了解,叉指后,所有动作都流之前进行后加入仍将继续。 而且在做出决定的情况下,只能选择一个选项。

上述操作1和2也可从应用程序中的其他位置获得。我只需要让他们在上添加酒店活动。

那么我将如何去建模在活动流程中始终可用的可选操作?为什么要这样做(如果阅读后不明显) 另外,如果这些可选操作是Atomic操作还是CallBehavior操作,是否重要?就像说的,我对UML相当陌生,所以我很可能会错误地解释一些事情。

回答

2

假设分支将在所有路径中继续,这是正确的。为了使一个可选的过程简单地使用决定节点(看起来像一个菱形)。从那里,您可以继续进行两项可选操作或跳过。最后再次用同样的菱形加入路径来合并可选路径。

基本上它看起来像这样(不考虑你的活动的所有细节考虑在内),

enter image description here 不理会有关不同的操作所有这些模糊的细节。原子足够一开始。

+0

感谢您的快速回答。你的建议很容易理解。但是,我的问题是,选择添加忠诚计划后,我仍然需要能够选择添加酒店连锁店。我是否可以继续进行合并,返回提供详细信息?如果是这样,这是否意味着第二个菱形可以省略? 我将第一个菱形的中间边缘视觉化为前往端点,其他人前往可选动作,并将动作的输出边缘返回到提供细节。 猜猜我刚刚给我的自己很难与此。你肯定会把我推向正确的方向。 –

+0

我只会回到“添加忠诚计划”的决定,所以在此之后,您仍然可以转到“添加酒店连锁店”或直接转到合并节点。 –

+0

谢谢吉尔特。这很清楚。 –