状态、区域和转换

在 UML 建模中,状态表示对象的不断变化的行为。使用转换来描述状态的变化,以说明两种状态之间的变化过程。

状态

一种状态中可以包含其他状态,通常称为嵌套状态或子状态。如果您正在为复杂的状态机建模,那么使用嵌套状态来将详细行为分成多个级别。状态中还可以包含一些操作,用来标识当对象处于特定状态时可能执行的任务。

状态类型和区域

每种状态分成多个部分。上面的部分显示状态的名称。名称部分下面是操作部分。操作部分显示状态可能包含的执行、进入或退出活动。活动部分下面的每个部分都表示一个区域。状态机、组合状态和正交状态都包含一些区域。区域中可以包含状态、伪状态和转换。使用区域来定义嵌套状态和转换。
状态类型 描述 图元素
简单 一种不包含任何区域的状态 名称 simple state 显示在圆角矩形的上面部分。
组合 一种具有一个区域的状态 名称 composite state 显示在圆角矩形的上面部分。
正交 一种具有两个或更多区域的状态 名称 orthogonal state 显示在圆角矩形的上面部分。
最终 位于组合状态的某个区域中的一种状态,用来表示已完成该区域中的活动 最终状态的名称显示在一个包含实心圆的圆下方。
子机状态 一种引用另一个状态机的状态 子机状态的名称显示在圆角矩形的上面部分。

转换

转换显示状态之间的变化过程,指示状态正在发生更改。触发器、警戒条件和结果是组成一个转换的三个部分,这三个部分都是可选的。

触发器是一个事件,必须发生该事件才能启动转换。警戒条件是一个布尔条件,必须满足此条件才能进行转换。结果是在满足警戒条件的情况下由对象执行的操作或活动。
事件类型 描述 图标
调用 对象接收到调用一项操作的请求。调用该操作将触发转换。 调用触发器图标。
更改 指定了一个布尔条件,当满足该条件时就会触发转换。 更改触发器图标。
信号 指定的一条消息。当对象接收到该消息时,就会触发转换。 信号触发器图标。
时间 指定必须经过的一个时间段,或者是触发转换的绝对时间。 时间触发器图标。
相关任务
对状态机添加状态和伪状态
创建状态之间的转换
对状态机图添加触发器
对转换添加警戒条件
对转换添加结果
在特定图中显示或隐藏部分

反馈