1.状态转换图
定义:
状态转换图(简称状态图),通过描绘系统的状态及引起系统状态的事件,来表示系统的行为.
此外,状态转换图还指明了作为特定事件的结果系统将做哪些动作.
作用:
用来建立需求分析中的行为模型.
2.状态
定义:
状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式.
系统对事件的响应,既可以是做一个(或一系列)动作,也可以仅仅是改变系统本身的状态,还可以改变状态又做动作.
注意:
一个状态转换图只能有一个初态,但终态可以有多个.
在状态图中定义的状态主要有:
初态(即初始状态),终态(即最终状态)和中间状态.
3.事件
定义
事件是某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象
简而言之,事件就是引起系统做动作或状态转换的控制信息
例如:
单击鼠标或用户移动
点击关机,电脑从工作状态变成关机状态
4.符号
1.在状态转换图中
2.初态用实心圆表示,终态用同心圆表示(內圆为实心圆),
3.中间状态用圆角矩形表示
(也可以用两条水平线将它分成上,中,下三部分.上面是中间状态的名字,这个是必须有的
中间是状态变量的名字和值,这部分是可选的,最下边是活动表,这个也是可选的)
4.活动表的语法格式如下:
事件名(参数表)/动作表达式
其中,事件名可以是任何事件的名称.在活动表中经常使用下述3种标准事件:entry,exit,do
- entry事件指定进入该状态的动作
- exit事件指定退出该状态的动作
- do事件则指定在该状态下的动作
需要时,可以为事件指定参数表.活动表中的动作表达式描述应该做的具体动作
eg:
exit/输出:你是大笨蛋!
这个活动表的含义是:当退出当前状态时,输出你是大笨蛋这句话!
5.状态转换:状态图中两个状态图之间带箭头的连线称为状态转换,箭头指明了转换方向
状态变迁通常是由事件出发的,在这种情况下应该在状态转换的箭头线上标出触发转换的动作表达式;
如果在箭头线上未标明事件,则表示在原状态的内部活动执行完之后自动触发转换.
常规状态转换图的书写样式:
5.小例子,电话系统的状态转换图
读者依照上面的基础知识,如果可以理解这个状态转换图,则证明你基本掌握了这部分知识