3

我是 UML 新手,正在重新定义 FSM 图,如何表示导致相同状态的两个转换,例如,我处于 ​​state1:

when(event1)-->action1-->state2
when(event2)-->action2-->state2

我的意思是我需要从 state1 到 state2 画两条线吗?

4

1 回答 1

2

是的,你必须画两条线,因为事件和动作是这条线的一部分。

正如您在http://en.wikipedia.org/wiki/File:UML_state_machine_Fig1.png中看到的

您的行将获得类似"event1 / action1"and的文本"event2 / action2"

如果您不从图表中生成代码,您也可以使用一行并添加一个文本,"event1 / action1 OR event2 / action2"如果这更具可读性。

我认为 UML 是一种指南——有时您必须稍微更改规则才能创建可读且有用的内容。:-)

于 2011-06-14T12:58:35.033 回答