状态图显示一个状态机。状态机用于对模型元素的动态行为进行建模,更具体地的说,就是对系统行为中受事件驱动的方面进行建模。
状态机用户描述对象的状态变化以确定何种行为改变了对象的状态,以及对象状态变化对系统的影响。我们可以用状态机来描述业务实体对象,分析类对象和设计类对象。通常状态机用于描述实体类对象在整个生命周期内的状态变迁以获得对这个实体对象的理解,同时获得系统和实体对象相互影响关系。需要注意的是,状态图通常用于描述单个对象的行为,如果要描述多个对象之间的交互,最好采用协作图或时序图。
关键要素
初始状态
初始状态是状态机的初始状态,它不需要事件的触发
状态
状态是对象执行某项活动或等待某个事件时的条件
符合状态
具有子状态的状态被称为复合状态
转移
转移是两个状态之间的关系,它表示当发生指定事件并且满足指定条件时,第一个状态中的对象执行某些操作并进入第二状态。
事件
事件是一个特定的动作或行为,有时也包括系统时钟之类的定时器。
条件
条件是一个布尔表达式,当事件发生时将检查这个表达式的值。