1

我有一个用例图,以下是其中的一部分,需要描述我想要做什么:

在此处输入图像描述

我绘制了用旋钮打开和用旋钮关闭的活动图,方法如下:

在此处输入图像描述

在此处输入图像描述

但是我不确定这两个图的决策分支中的最终节点。我想要做的是为使用旋钮打开和使用旋钮关闭用例图保留单独的图表,但我不确定在决策中放置最终节点是否是表示它的正确方法,例如,如果在决策分支导致系统已经开启,则使用 KNOB 开启的活动图中的流程结束,这是因为如果系统已经开启,则对应的活动图是使用 KNOB 关闭活动图。

但这似乎很令人困惑,因为在到达决策分支之前,如果两者相同,我怎么知道要选择哪个活动图?我的意思是,从符合 UML 的角度来看是否正确,例如,开始遵循使用 KNOB 活动图打开的流程,然后到达决策分支并确定系统已经开启并且只是“跳转”到与用 KNOB 关闭用例相对应的活动图,并从决策分支继续遵循后一张图中的流程?或者我应该严格遵守系统已经关闭的场景并选择使用 KNOW活动图打开?

现在,这引出了另一个问题;每个活动图可以代表多个用例吗?

4

1 回答 1

0

UML 规范说一个活动可能有多个活动最终节点。第一个到达停止活动中的所有流。(因此,在您的示例中,控制流停止是因为灯已经打开/关闭,或者在该状态下打开后)。或者,您可以使两条边都指向同一个最终节点*,这是等效的,因为最终节点的唯一目的是终止活动。

在我看来,每个用例都应该与其他用例分开(尽管活动可能包含嵌套活动,这将模拟较低级别的行为)。

(*请注意,它不是“最终状态”而是“最终节点”,因为它位于活动图中。状态机具有最终状态。)此外,您没有“拆分”活动流(如在 fork 节点中) ,因为决策节点恰好选择一个出边。

于 2013-02-20T05:08:46.270 回答