UML—【状态图】

【内容】

1.什么是状态图

状态图描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。状态图侧重于从行为的结果来描述,只涉及一个特定的对象,常用于动态特性建模。

2.状态图的组成

(1)起点、终点

(2)状态

主要用来描述一个对象在生命周期内的一个时间段。状态包括:状态名、内部转移、进入/退出操作、子状态、延迟事件等状态的特征。

(3)转换

两个状态之间的关系,即当发生指定事件并满足指定条件时,第一个状态中的对象将执行某些操作进入第二个状态。

其中,除了普通的转换,还有复杂的转换

外部转换:对事件做出响应,引起状态变化或自身转换,同时引发一个特定动作,如果离开或进入状态将引发进入转换、离开转化。

内部转换:对事件做出响应,并执行一个特定的活动,但并不引起状态变化或进入转换、离开转换。

进入转换:当进入某一状态时,执行相应活动。

退出转换:当离开某一状态时,执行相应活动。

(4)事件

事件可以分为几种:信号事件、调用事件、改变事件、时间事件等。

信号事件:信号是作为两个对象之间的通信媒介的实体,它是用来作为对象之间的通信的。

调用事件:是指一个对象对调用的接收,这个对象利用状态的转换而不是固定的处理过程实现操作。

改变事件:是指依赖于特定属性的布尔表达式所表示的条件满足时,事件发生改变。

时间事件:表示时间表达式被满足的事件,它代表时间的流逝。

3.状态

状态是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。一个状态有以下几个部分:

1)名称name

2)进入协作和退出动作 entry action/exit action

3)内部转换 internal transition

4)子状态 substate

5)延迟事件 deferred event

6)特殊状态:初始状态、终止状态

4.状态机

状态机是这样一种行为,它描述了一个对象或一个交互在舍命期内响应事件所经历的状态序列。单个类或一组类之间的协作的行为可以用状态机来描述。

一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转换的事物)和活动(对一个转换的响应)。

5.转换

一个转换使两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。

一个转换由5部分组成:

源状态:source state

事件触发:event trigger

监护条件:guard condition

动作:action

目标状态:target state

6.活动图和状态图的区别

状态图侧重从行为的结果来描述(状态)

活动图侧重从行为的动作来描述(活动)

7.机房收费系统状态图

猜你喜欢

转载自blog.csdn.net/frj0260/article/details/86488317