活动图如何在一个图表中继续代码流

时间:2018-03-19 14:39:55

标签: uml

我有一个功能。 例如,这样做:

Function start: 
...
 if statement{
      set variable 
 }

if second if{}

contintue

这段代码我试着把它放到一个UML,Activity图中。 enter image description here

我想知道我的分叉是否正确,还是我需要使用分叉符号。所以我有一个分裂,它最终进入if语句(总数的差异)。但是在if之后(或者即使if甚至没有执行),下一个if语句也将被执行(无论第一个是否结果)。

1 个答案:

答案 0 :(得分:1)

如果您想要条件路径,则需要使用决策节点。想象一下虚拟代币来表示执行流程。当你处于一个具有多个(无人看守)控制流的动作离开它时,每个动作将采用一个标记(UML规范调用该隐式fork),执行将并行继续。因此,要么为每个传出控制流添加防护,要么使用决策节点。虽然你应该(或者更好)必须在这里使用警卫,但你只有一个令牌会离开决策节点。如果没有适当的警卫,将不确定哪个传出流将采用令牌。

隐式分叉: enter image description here

只有一个令牌继续:enter image description here

一个令牌肯定,最终并列第二个:enter image description here

(我不是百分百肯定,如果这是真的。这是我永远不会使用的符号。)

只有一个令牌继续,但没有定义(由于没有警卫):enter image description here