UML 状态图 statechart diagram

来源:互联网 发布:黎活明给程序员的忠告 编辑:程序博客网 时间:2024/05/02 22:33

1. 什么是状态图

       状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成。说明对象在它的生命期中响应事件所经历的状态序列,以及它们对那些事件的响应。

2. 状态图的作用

1). 状态图描述了状态之间的转换顺序,通过状态的转换顺序也就可以看出事件的执行顺序。
2). 更好的描述工作流,不同的条件进入不同的工作流。
3). 显示类对象的生存周期。
4). 对类图的进一步完善。

3. 状态图的组成

1). 状态:
       对象的状态是指在这个对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动,或等待某些事件。
       状态的组成: 上格放的是状态的名称,下格放的是当处在这个状态的时候要做的一些事情Action,具体如下图。

这里写图片描述

: e(a:T)[exp]/action 表示事件–> 事件 ( 参数 )[ 监护条件 ]/ 动作
例如 :这里写图片描述 从改图可以看出状态名称: 座位无预定。这个状态内部要做的动作:当进入这个状态时通知航空公司。

2). 转移: (实线+箭头表示,箭头方向表示是要转移到的状态)
       转移是由一种状态到另一种状态的迁移。这种转移由被建模实体内部或外部事件触发。 对一个类来说,转移通常是调用了一个可以引起状态发生重要变化的操作的结果。
       转移上标出触发转移的事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。
这里写图片描述

3). 事件:状态转移说明文字。
       事件的组成:事件(参数)[监护条件]/动作

4). 起始状态: 只有一个起始状态。

5). 终止状态: 可以有0个或者多个终止状态。

5. 状态图的建模过程

1). 确定对象的所有的状态。
2). 确定什么条件进入什么状态(监护条件)。

6. 例子

航空公司订票系统简单状态图状态图

这里写图片描述

1 0
原创粉丝点击