我正在尝试为以下代码片段表示的功能(高度简化)绘制 UML 活动图。我的意图是为检查模式参数(if-else)的行设置一个子活动。
ErrorType DoSomething(int mode) {
if(mode==MODE1) {
...
}
else {
return MODE_NOT_AVAILABLE;
}
SomethingElse...
return NO_ERROR;
}
您可以看到,else-Block 中的 return-Statement 导致函数DoSomething终止。因此,如果它被执行,SomethingElse...就无法被执行。
正如我所提到的,这个 else 块应该在一个子活动中。如何可视化子活动中的操作(返回 MODE_NOT_AVAILABLE)具有其父活动图必须处于最终状态的结果?
在下图中,您可以看到我尝试解决的问题。这是一个正确的解决方案吗?