2

我知道 UML 活动图描述了一种算法,因此从某种意义上说,它是流程图的现代版本,而 UML 状态图显示了对象或系统可以找到的所有可能(或有趣)状态,并显示了所有这些状态之间可能的转换。

我也理解它们是正交模型:在状态图中连接两个状态的箭头代表一个算法,或者一个活动图;活动图的两个活动之间的一些(如果不是全部)箭头表示对象在连续动作之间发现的状态。

是否有标准图表类型(UML 或其他传统)为动作(算法步骤,包括分支、分叉/连接等)和动作之间的状态(仅设计者希望命名的那些状态)赋予不同的形状?

像这样的东西:

begin --> (state: new) --> [action: save] --> (state: saved) --> [action: delete]...
4

2 回答 2

1

不,没有,但 StateMachine 是一种行为定义类型,可以使用一些结构化编程功能来定义,例如决策(在状态机中称为选择)、分叉、连接。您可以定义在状态机的多个部分中执行的行为(如果需要,可以执行操作)。在转换期间、状态进入期间、状态执行期间和状态退出期间。在这种情况下,您可以结合对象的状态流并在一个图中指示行为执行。但是,为状态和转换定义的行为没有不同的形状,它被描述为转换名称和状态定义中的文本。有关详细信息,请参阅上层建筑文档 StateMachine 部分。

于 2014-11-10T17:29:15.980 回答
1

是否有标准图表类型(UML 或其他传统)为动作(算法步骤,包括分支、分叉/连接等)和动作之间的状态(仅设计者希望命名的那些状态)赋予不同的形状?

像这样的东西:

开始 --> (state: new) --> [action: save] --> (state: saved) --> [action: delete]...

是的,使用Petri 网,您可以使用转换节点表示动作,使用位置节点表示状态;还支持分支和加入。如果您可以访问,我建议您阅读Petri Nets I 的讲座:基本模型(付费专区)。

于 2016-12-27T22:50:56.317 回答