状态图(Statechart digram)是系统分析的一种常用工具,系统分析员在对系统建模时,最先考虑的不是基于活动之间的控制流,而是基于状态之间的控制流,因为系统中对象的状态变化最易被发现和理解。
状态机
要想画出状态图,首先得了解状态机,状态机是展示状态与状态转换的图。
状态图
一个状态图表示一个状态机,主要用于表现从一个状态到另一个状态的控制流。
状态图主要包括
1.状态
2.转换
状态
状态是状态机的重要组成部分,它描述了状态机所在对象动态行为的执行所产生的结果。在图形上,使用一个圆角矩形表示一个状态。一个完整的状态有5个组成部分。如下所示:
转换
转换是状态间的关联。它们用于对一个实体的不同状态间的关系建模。当某实体在第一个状态中执行一定的动作,并在某个特定事情发生并且某个特定的条件满足时进入下一个状态。转换同样有5个部分组成。如下所示:
举一个实用的小例子:手机的状态图
状态:空闲状态(idle)、拨号状态(dialing)、通话状态(working)响铃状态(ringing)
触发事件:呼叫某人(call someone)完成通话(finish connection)被呼叫(be called)
监护条件:接听电话(pick up)用户未做出任何反映(haven't acts)拒接来电(refused)电话接通(connected)呼叫不成功(can't connect)
对UML的各种图认识尚且浅显,如果哪里有错误,还望大牛指正!