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

Activity Diagram how to continue code flow in one chart

我有一个功能。 例如,它是这样的:

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

if second if{}

contintue

我尝试将此代码放入 UML Activity 图中。

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

如果你想要有条件的路径,你需要使用决策节点。想象一个虚拟令牌来表示执行流程。当您处于一个有多个(未受保护的)控制流离开它的操作时,每个控制流都将获取一个令牌(UML 规范调用隐式分叉),执行将继续并行进行。因此,要么向每个传出控制流添加守卫,要么使用决策节点。虽然你也应该(或者更好的是必须)在这里使用守卫,但你只有一个令牌会离开决策节点。如果没有适当的保护措施,将无法确定哪个流出流将使用令牌。

隐式分叉:

只有一个令牌继续:

肯定有一个令牌,最后并行有第二个:

(我不是 100% 确定这是否属实。这是我永远不会使用的符号。)

只有一个令牌继续,但未定义是哪个(由于没有守卫):