状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移
为什么要绘制状态图?如果系统存在复杂的状态变换,我们需要对它进行模拟和监控,为保证状态的一致性,不会出现非法状态。
状态图侧重从行为的结果来描述,活动图侧重从行为的动作来描述
图符:状态、转移、起点、终点
状态机
状态机是这样一种行为,它描述了对象或一个交互在生命期内响应事件所经历的状态序列,单个类或一组类之间协作的行为可以用状态机来描述。涉及元素:状态、转换、事件、活动。
状态
状态是指对象在生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。组成元素:名称、进入协作和退出动作、内部转换、子状态、延迟事件。
转换
是两个状态之间的一种关系,表示对象在一状态执行一定动作可进入第二个状态。元素:源状态、事件触发、监护条件、动作、目标状态
活动图不是必须的,以下需要活动图
描述一个并行的过程或者行为
描述一个算法
描述一个跨越多个用例的活动
而状态图则是必须的,在有些系统中是相当重要的,系统就是执行状态图的引擎
我画的机房收费系统状态图为: