状态图State Diagram,用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。侧重从行为的结构来描述。
机房收费系统的状态图示例
一个状态图包含起始状态、终止状态、状态、转移、事件等元素。
状态
指的是对象的状态。指对象在生命周期中,满足某些条件、执行某些活动或等待某些事件时的一个状况,用椭圆或圆角矩形表示,内部填写状态名。
状态的要素
状态名、进入动作、退出动作、内部转移、子状态、延迟事件等。
转移
两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。用有向箭头表示,从箭头出发的状态可以转换到箭头指向的状态。
转移包括自转移、自动转移、条件转移。
自转移
源状态和目标状态为同一状态的转移。
自动转移
一个状态根据本状态的有关情况,自动触发进入目标状态,在转以上没有事件。
条件转移
通过分支判断后发生的转移。
事件
引起状态转移的原因。事件名可在转移上方标出。如果没有标注事件,则为自动转移。
事件又包括调用事件、变化事件、时间事件。
调用事件
表示对操作的调度。
变化事件
因满足某种条件而引起的事件,变化条件用when表示。
时间事件
满足某一时间表达式而引起的事件,时间事件用after,when表示
起点
初始状态,用实心圆表示。
终点
终止状态,用内部实心的同心圆表示。
状态图的作用
当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和动作时,用状态图。