第六章:状态图
概述
- 状态图定义:状态图描述了一个对象或交互过程在它的生命周期中对**一系列外界激励的所呈现出的不同状态以及它相应的响应和活动。**状态图描述了一个状态机。
- 状态机定义:根据当前事件,以及对以前事件的响应的结果决定对当前事件的响应的软件对象的动态行为,称为是事件驱动的。在UML里,最适合于描述这类动态行为的建模手段,就是状态机。
- 状态机
用状态:记录以前的动态行为的结果。
用变迁:描述软件对象对外来事件的响应以及响应的状态的变化。 - 可描述对象:可以是类的实例,可以是用例的实例,甚至可以是非软件对象。
构成
-
状态:状态被图形化表示为一个圆角矩形
- 起始状态(可以有多个起始状态)
- 目标状态(可以有多个目标状态)
- 触发事件(触发条件是一个布尔表达)
- 触发条件(触发事件[触发条件]/变迁动作)
- 变迁动作(变迁动作是伴随着变迁的激发被执行的一个元计算)
状态图基本组成成分
描述状态图的图符元素有:状态图符、迁移图符、起始状态、终止状态、条件判定、发出信 、接收信 和并发等。
- entry事件:指明在进入该状态时的特定动作;
- exit事件:指明退出该状态时的特定动作;
- do事件:指明在该状态中执行的动作;
对象的状态属性可分为:嵌套状态(组合状态)、顺序状态、历史状态、同步状态和并发状态。
-
自动转移: 一个状态根据本状态的有关情况,自动触发进入目标状态,在转移上没有事件。
状态图的作用:
当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和动作时,用状态图。

对比
-
状态图VS交互图
交互强调的是对象之间的互相协作,通过软件对象的交互实现软件系统的设计功能。
状态机则强调的是对象本身对对象外部发生的事件的响应及伴随的状态的变化。 -
动作VS活动
动作:一组可执行的语句,具有迁移性、原子性和连续性。
活动:一组可执行的动作,具有有限性和非原子性。
状态图的建模分析步骤
(1)首先要确定进行系统控制的对象,可以从前面分析的顺序图中寻找。
(2)确定对象的起始状态和结束状态。
(3)在对象的整个生命周期寻找有意义的控制状态。
(4)寻找状态之间的转换。
(5)补充引起转换的事件。
(6)UML建模工具画状态图。
(7)补充必要的文档。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!