一、状态图简介(Brief introduction)
状态图(
Statechart Diagram
)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(
Event
),以及因状态转移而伴随的动作(
Action
)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(
State Mac
hine Diagram
),重点在与描述状态图的控制流。
如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作( Action ) .
如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作( Action ) .
状态有
Opened
、
Closed
、
Locked
。
事件有
Open
、
Close
、
Lock
和
Unlock
。
注意:
1、
并不是所有的事件都会引起状态的转移,比如当门是处于【
Opened
】状态,不能进行【
Lock
】事件。
2、
转移(
Transition
)有警备条件(
guard condition
),比如只有
doorWay->isEmpty
条件满足时,才会响应事件。
二、状态图元素(State Diagram Elements)
1、状态(States)
指在对象的生命周期中的某个条件或者状况,在此期间对象将满足某些条件、执行某些活动活活等待某些事件。所有对象都有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态将发生变化。
状态用圆角矩形表示