状态图[State Diagram]:适合行为由其状态决定的对象建模,描述了一个对象可能处于的各种不同状态以及这些状态之间的转化。 它是有效的基于对象的行为建模工具。
1.状态图由状态(State)和迁移(Transitions)组成,它的表达方式为:状态图 = 状态 + 迁移
2.状态图的表示方法
3.状态
状态是对象在它的生命周期的某一时刻,对象不仅在这一时刻具有某些特殊条件下产生的状况值,而且具有该状态决定的相应动作或活动。
UML使用圆角矩形来表示状态。
状态的种类:
1.简单状态[Simple State]
2.复合状态[Composite State]
3.初始状态[Initial State]
4.终止状态[Final State]
5.结合状态[Junction State]
6.历史状态[History State]
状态的内部活动:
状态的内部活动(Internal Activity)表示在特定的状态下对象的可执行的功能。一个状态可能有若干个相关的活动,这 些状态可能有内部活动也可能有外部活动,但是不 管什么类型的活动,只有状态被激活的条件下活动才能被触发。
UML提供了三种标签来表示活动:
1.entry:当进入一个状态的时候被自动触发,该活动在状态中其他任何活动之前被自动触发;
2.do:当状态处于激活时执行do活动,do活动在进入活动之后执行,并且一直运行到它本身完成
3.exit:当离开一个状态时被自动触发。
4.迁移
指从一个状态到另一个状态的瞬间变化过程[UML使用带开放式箭头的实线表示迁移,箭头指向目标状态]
引发迁移的事件:
如果某一事件的发生引起了对象的状态变化,即称对象的状态发生了迁移。可以进一步划分为:
1.信号事件:实时系统运行中,对象接受到一个系统外界的信号,从而使对象的状态发生迁移的事件。
2.变化事件:对象的内部或外部条件发生变化而引起对象状态发生变化的事件
3.调用事件:对象的状态在绝对时间上或某个时间段内自动发生迁移
4.时间事件:系统之外的其他系统通过接口或某种协议,直接执行该系统内部的对象行为,从而引发对象状态的迁移。