EA画UML状态图中状态机的示例分析
这篇文章主要介绍了EA画UML状态图中状态机的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
行为状态机可以用于定义下面的场景(不限于)
主动类的类目行为
一个行为化类目的除了类目行为以外的拥有行为。
如果状态机有某种行为类目上下文,那么这个类目定义了哪些信号和调用事件可以适用于那个状态机,也定义了哪些特征对状态机拥有的行为可用。状态机的信号触发条件和调用事件触发条件根据这个类目的接受和操作被分别定义。这些特征可以被用于定义状态机的消息事件触发条件。
--UML2.5 14.2.3.1 StateMachine(状态机)
用一个不是很严密,但是简单的说就是:状态机可以用于定义类目的类目的行为。这时,状态机可以调用上下文类目的行为,也可以将上下文类目中定义的事件用于定义状态机的触发条件。
示例
我们继续使用按钮式信号系统的例子。
定义上下文类目
在本例中就是一个类:TrafficLight.
TrafficLight类是一个主动类,主动类的行为就是状态机。
TrafficLight类有两个方法,SetCurrentLight和SetShuttingDownFlag。它们会在状态机中调用。
为类目添加状态机
打开【Project Browser】中TrafficLight的上下文菜单,选择【Add】-【State Machine】菜单项。
就可以得到一个状态机对象和一个状态图。
绘制状态图
接下来的内容就是我们前面讲过的了。以下是按钮式型号系统的状态图。
从图中可以看出以下不同:
状态图的外面包围着一个方框,表示这是一个状态机。
状态机的进入/退出行为,迁移的效应行为调用的是TrafficLight类的方法。
进入/退出行为的设定和表示方法
打开进入/退出行为对话框
选择【Behavior】属性页
在【Behavior】文本框中输入行为的详细内容
如果需要类类图中显示详细内容,则选择蓝色圆圈中的【Show Behavior in Diagram】项目。
感谢你能够认真阅读完这篇文章,希望小编分享的"EA画UML状态图中状态机的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!