前言
状态图是UML中对系统行为方面建模的五种图之一。一个状态图显示了一个状态机。在为对象的生命期建模中,活动图和状态图都是有用的。然而,活动图展示跨过不同的对象从活动到活动的控制流。而状态图展示的是单个对象内从状态到状态的控制流。
状态图
状态图(state diagram),显示了一个状态机,用来描述一个特定对象的所有可能状态以及由于各种事件发生而引起的状态之间的转移。
状态机
状态机是一种行为,描述一个对象或一个交互在声明周期内响应事件所经历的状态序列。
- 单个类或一组类之间协作的行为可以用状态机来描述。
- 一个状态机涉及到一些其他元素,包括状态、转换、事件和活动。
状态
在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
- 名称
- 进入写作和退出动作
- 内部转换
- 子状态
- 延迟时间
事件
事件(event),是对一个有意义的发生的规约,这种发生在时间和空间上占有一定位置。在状态机的语境中,时间是一次激励的出现,激励能够出发状态转移。
转移
转移是两个状态之间的关系,它指明当特定事件发生而且特定条件满足时,在第一个状态中的对象执行一定的动作并进入第二个状态。
- 源状态
- 事件触发
- 监护条件
- 动作
- 目标状态
活动
活动是状态机中正在进行的执行。
与活动图的区别
- 状态图侧重从行为的结果来描述状态
- 活动图侧重从行为的动作来描述活动