面向对象分析与设计
上QQ阅读APP看书,第一时间看更新

2.5.6 状态图(Statechart Diagram)

状态图是一种由状态、变迁、事件和动作组成的状态机模型。状态图描述的是一个对象在其生存期或某个生存期片段中的状态以及状态变迁的控制流,主要用于对系统的动态特性建模,对反应型对象的行为进行建模。

在UML中,状态图可用来对一个对象按事件发生的顺序所触发的行为进行建模。图2-22给出了描述某信息系统的登录用户界面对象的状态图。

图2-22中就包含了为用户界面对象定义的多个状态,其中包括了一个初始态、两个终止态,以及输入用户名和输入验证码等多个状态。其中初始态和终止态是伪状态,分别表示状态图表示的过程开始之前和之后的状态。输入用户名状态和输入验证码状态是用户界面对象的两个不同的工作状态,每个状态的内部,还包含了必要的状态属性和相关动作,如入口动作、出口动作和动作等。在所有状态之间,还定义了若干个状态变迁,每个变迁都定义了触发变迁的事件、守卫条件和变迁时需要完成的动作。

图2-22 登录用户界面的状态机模型

状态图是对类所描述的模型元素的补充说明,它描述了这个类的对象可能具有的状态、引起状态变化的事件以及状态变迁时需要完成的动作。