【问题标题】:Terminate activity diagram from subactivity从子活动中终止活动图
【发布时间】:2014-08-05 15:47:13
【问题描述】:

我正在尝试为以下代码 sn-p 表示的功能(高度简化)绘制 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)具有其父活动图必须处于最终状态的结果?

在下面的图片中你可以看到我尝试解决它。这是一个正确的解决方案吗?

【问题讨论】:

标签: c uml diagram termination activity-diagram


【解决方案1】:

由于您正在处理某种异常,我将使用异常处理程序对其进行建模,就像您在此处看到的 http://www.sparxsystems.com.au/images/screenshots/uml2_tutorial/ad11.GIF 一样。尽管您的具体实现使用了 if/else,但这应该是一种易于理解您想要实现的目标的方式(防止子例程以错误的模式执行)。

您可以在此处查看有关该符号的更多详细信息:http://edn.embarcadero.com/article/30169

这取决于您想规定实际实施的程度。 UML 本身不具备语言感知能力,大多数利益相关者也是如此。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 2013-03-17
  • 1970-01-01
  • 2011-07-31
相关资源
最近更新 更多