状态
概念:被观察到的系统行为模式
只能有一个初始状态,可以有多个中间状态和最终状态
中间状态的状态名必须要有,状态变量和行为可选
状态变量可以是某些变量赋初值,例如:timer = 0
事件
概念:引起状态转换的外界事件抽象
事件表达式 = 事件名 + [条件]
事件表达式,表示由一个状态切换到下一个状态需要触发的事件
事件表达式为空,表示一个状态执行完直角切换到下一个状态
行为
概念:进入某状态所作动作
行为用活动表表示:活动表 = 事件名 + / + 动作表达式
常用的3种标准事件
标准事件名 | 说明 | 活动表示例 |
---|---|---|
entry | 指定进入该状态的动作 | entry / 点击开始游戏按钮 |
exit | 指定退出该状态的动作 | exit / 点击退出游戏按钮 |
do | 指定在该状态下的动作 | do / 同步游戏信息 |
例子
复印机的工作过程大致如下:
- 未接到复印命令时处于闲置状态
- 一旦接到复印命令则进入复印状态
- 完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令
- 如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸
- 装满纸后进入闲置状态,准备接收复印命令
- 如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障
- 故障排除后回到闲置状态