1
 软件工程
1.8.4.9 6.4.9 状态图

6.4.9 状态图

状态图(State Diagram)用于描述对象对外部事件所做出响应的状态序列。状态图侧重于描述某个对象生命周期中的动态行为,包括对象在各个不同状态间的转移及触发这些状态转移的外部事件,即从状态到状态的控制流。状态图的组成元素包括状态、转换、活动和动作。

img108

图6-19 ATM系统的合作图

状态图通过对类对象的生存周期建立模型来描述对象随时间变化的动态行为。每一个对象都被看做是通过对事件进行探测并做出回应来与外界其他部分通信的独立的实体。事件表示对象可以探测到的事物的一种运动变化,如接收到从一个对象到另一个对象的调用或信号、某些值的改变或一个时间段的终结。任何影响对象的事物都可以是事件,真实世界所发生的事物的模型通过从外部世界到系统的信号来建造。

状态是给定类的对象的一组属性值,这组属性值对所发生的事件具有相同性质的反应。换言之,处于相同状态的对象对同一事件具有同样方式的反应,所以当给定状态下的多个对象在接收到相同事件时会执行相同的动作,然而处于不同状态下的对象会通过不同的动作对同一事件做出不同的反应。例如,当自动答复机处于处理事务状态或空闲状态时会对取消键做出不同的反应。

状态图一般由起始点、终止点、状态、转换、事件和活动组成。

图6-20是ATM系统的状态图。