UML之状态图

状态图State Diagram,用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。侧重从行为的结构来描述。

 

机房收费系统的状态图示例

UML之状态图_第1张图片



一个状态图包含起始状态、终止状态、状态、转移、事件等元素。


状态

指的是对象的状态。指对象在生命周期中,满足某些条件、执行某些活动或等待某些事件时的一个状况,用椭圆或圆角矩形表示,内部填写状态名。


状态的要素

状态名、进入动作、退出动作、内部转移、子状态、延迟事件等。

UML之状态图_第2张图片



转移

两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。用有向箭头表示,从箭头出发的状态可以转换到箭头指向的状态。


转移包括自转移、自动转移、条件转移。


自转移

源状态和目标状态为同一状态的转移。

UML之状态图_第3张图片



自动转移

一个状态根据本状态的有关情况,自动触发进入目标状态,在转以上没有事件。

UML之状态图_第4张图片




条件转移

通过分支判断后发生的转移。

UML之状态图_第5张图片



事件

引起状态转移的原因。事件名可在转移上方标出。如果没有标注事件,则为自动转移。

UML之状态图_第6张图片


 

事件又包括调用事件、变化事件、时间事件。


调用事件

表示对操作的调度。

UML之状态图_第7张图片


变化事件

因满足某种条件而引起的事件,变化条件用when表示。

UML之状态图_第8张图片


时间事件

满足某一时间表达式而引起的事件,时间事件用after,when表示

UML之状态图_第9张图片


 

起点

初始状态,用实心圆表示。


终点

终止状态,用内部实心的同心圆表示。

UML之状态图_第10张图片


状态图的作用

当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和动作时,用状态图。

 


你可能感兴趣的:(UML之状态图)