状态模型是描述响应外部激励而发生的操作序列。状态模型有多个状态图组成,每个类对应一个状态图,描述对应用程序而言的重要的时序行为。状态图用有限状态机的图形表示法,联系起事件和状态事件表示外部激励,状态表示对象的取值。
事件
事件是指在某个时刻发生的事情。事件包括错误事件和普通事件。
信号事件
信号事件指发送或接收信号的事件。每次信号传输都是唯一时间,会把它们组织成信号类,并赋予每个信号类一个名字,表示公共的结构和行为。
变更事件是指满足布尔表达式而引起的事件。变更事件的意图是要不断测试表达式——无论何时只要表达式由假变真,事件就会发生。变更事件的表示方式:采用关键词when,后跟着用括号括起的表达式。
状态
状态是对象取值和链接的抽象。根据对象的总体行为,将取值和连接的集合组成一个状态。状态的表示方法:包括可选状态名的圆角方框,约定使用黑体在圆角方框内列出状态名。
迁移指从一个状态到另一个状态的瞬时变化。从原状态到目标状态一发生变化,就说是触发了迁移。
警戒条件指为了要让迁移发生而必须为真的布尔表达式。在状态变成真之后,迁移就不会触发。注意:警戒条件仅触发一次,变化时间实际上要连续检查的。
状态图说明了有事件序列引起的状态序列;结点是状态,有向弧是状态间的迁移。类中的所有对象都执行该类的状态图,状态图会建模对象的公共行为。
状态图行为
活动效应
效应是对为响应是按而执行的行为的引用。活动是由效应触发的实际行为,可以表示内部控制操作。活动的执行条件包括:迁移,进入或退出某状态以及收到状态内的其他事件。活动的表示方法:用 / 和活动名称(或描述),跟在引起活动的时间后面。关键词do来表示正在进行的活动,不能用作时间名称。