我是 UML 新手,正在重新定义 FSM 图,如何表示导致相同状态的两个转换,例如,我处于 state1:
when(event1)-->action1-->state2
when(event2)-->action2-->state2
我的意思是我需要从 state1 到 state2 画两条线吗?
是的,你必须画两条线,因为事件和动作是这条线的一部分。
正如您在http://en.wikipedia.org/wiki/File:UML_state_machine_Fig1.png中看到的
您的行将获得类似"event1 / action1"
and的文本"event2 / action2"
。
如果您不从图表中生成代码,您也可以使用一行并添加一个文本,"event1 / action1 OR event2 / action2"
如果这更具可读性。
我认为 UML 是一种指南——有时您必须稍微更改规则才能创建可读且有用的内容。:-)