1

希望一切顺利!我正在为网站制作 UML 状态图。如果你有一个导航栏,你会/可以有代表每个链接的多个退出操作吗?

4

2 回答 2

1

似乎只能定义一种退出行为(第 307 页):

14.2.3.4.3 状态进入、退出和doActivity 行为 一个状态可能有一个关联的进入行为。此行为(如果已定义)将在通过外部转换进入状态时执行。此外,一个状态也可能有一个关联的退出行为,如果定义了,它会在状态退出时执行。

同样在后面的段落中,他们只exit用单数谈论。例如

14.2.3.4.6 退出状态 退出状态时,无论是简单的还是复合的,在所有其他与该退出相关的行为完成后,退出所涉及的最后一步就是执行该退出的行为。状态。如果 State 有一个 doActivity Behavior 在 State 退出时仍在执行,则该 Behavior 在 exit Behavior 开始执行之前中止。

因此,您需要测试exit行为内部的状态转换以采取相应的操作。

注意我正在使用允许定义多种exit行为的 Enterprise Architect。没有办法定义任何守卫来肯定我关于只exit允许一个单一的假设的假设。所以这里的实现很可能被破坏了。

于 2017-04-11T20:02:55.027 回答
0

如其他回复中所述,只有一个退出操作。

但是,您可以在状态存在多个转换(每个导航栏项一个),每个转换都有自己的触发器、守卫和行为。

根据您的工作流程,这些可能是自我转换(回到相同状态)或进入另一个系统状态。这些也可以是内部的(例如,在进行转换时不退出状态。

于 2017-04-12T12:51:22.380 回答