我知道UML活动图描述了一种算法,所以从某种意义上说,它是流程图的现代版本,而UML状态图显示了对象或系统可能处于的所有可能(或有趣)状态,并显示了这些状态之间的所有可能转换。
我也知道它们是正交模型:状态图中连接两个状态的箭头代表一个算法,或者一段活动图;活动图的两个活动之间的一些(如果不是全部的话)箭头表示对象在连续的动作之间所处的状态。
是否有一种标准的图表类型(UML或其他传统类型)可以为动作(算法步骤,包括分支、分叉/连接等)和动作之间的状态(只有设计者希望命名的状态)提供不同的形状?
类似这样的东西:
begin --> (state: new) --> [action: save] --> (state: saved) --> [action: delete]...
没有,但StateMachine是一种行为定义类型,可以使用一些结构编程功能来定义,如Decision(在状态机中称为Choose)、Fork、Join。您可以定义要在状态机的几个部分中执行的行为(如果需要,可以定义操作)。。在转换期间、状态进入期间、状态执行期间和状态退出期间。在这种情况下,您可以将对象的状态流组合起来,并在一个图中指示行为执行。但是,为状态和转换定义的行为并没有不同的形状,它被描述为转换名称和状态定义中的文本。有关更多详细信息,请参阅上层结构文档StateMachine部分。
是否有一种标准的图表类型(UML或其他传统类型)为两个动作提供不同的形状(算法步骤,包括分支、fork/join等)和操作之间的状态(仅限于表示设计者希望为其命名)?
类似这样的东西:
begin-->(状态:new)-->[操作:保存]-->(状态:已保存)-->[操作:删除]。。。
是的,使用Petri网,您可以使用转换-节点来表示动作,使用place-nodes来表示状态;还支持分支和连接。如果你有机会的话,我建议你阅读《Petri网讲座I:基本模型(付费墙)》。