状态图中的OR和AND分解是什么?

时间:2016-05-29 22:12:10

标签: uml statechart

我正在阅读有关状态图的图表,它是对一个或多个类的一个或多个实例可能存在的不同状态进行建模的图表。

一个对象可以通过转换从一个状态转到另一个状态,转换使用带有事件的箭头表示,并最终对该事件分别在其上方和下方执行操作。

我现在的问题是我不明白状态图中的OR和AND分解究竟是什么。你可以给我一个解释(因为我没找到任何一个)吗?

我真的很感激有相应图片或图表的具体例子。

1 个答案:

答案 0 :(得分:1)

以下图片是OR的示例。考虑从InitialChoice(钻石)的代币。这里,令牌在约束条件下向左或向右移动,约束条件用于测试Choice中检查的条件。从那时起,他们接下来通过以下未命名的钻石转移到Continued。您可以放弃连接菱形并直接将过渡绘制到Continued

enter image description here

AND条件如下所示:

enter image description here

第一个Fork(条形图)重复标记并将其发送到EitherOr。这些状态后面的Join等待两个令牌到达,然后才会将一个令牌进一步发送到Continued

ForkJoin使用相同的符号。他们等到所有传入令牌到达,然后发送与传出转换一样多的令牌。所以他们实际上是一些分裂的人格。但大多数情况下,他们都是以一种或另一种方式使用。