UML建模工具——状态图
图:马来西亚,吉隆坡(Kapa Lumpur)
Guderian出品
状态图(Statechart Diagram)是描述一个实体(对象)基于事件反应的动态行为
完整的状态图例子
状态图的建模元素
状态(State)
状态亮灯如上图所示,状态用圆角矩形表示,其中可以包括:
- 名称
- 进入动作
- 退出动作
- 内部迁移
- 子状态
事件(Event)
事件可视作引起一个状态迁移至另一个状态的激励条件
如以上状态图中,事件会员收货使得状态订单发货迁移至订单收货。
事件必须有意义,只有有意义的事件才会促成状态迁移,无意义的事件对状态不产生影响。
迁移(Transition)
如上图所示,迁移为状态之间的关联,且必须有事件触发器并满足一定触发条件才会产生状态间的迁移。
迁移由5部分组成:
- 源状态
- 事件触发器
- 触发条件
- 效应
- 目标状态
状态图建模注意事项
- 一个状态必须与其他状态有关联,不允许孤立存在
- 不允许只进不出或只出不进的迁移
- 不允许没有事件的迁移