一 状态图
状态图:(1)由状态、转移和事件组成。
(2)有时还需要 决策点和同步条(为了说明并发工作流的分叉与联合)。
(3)状态细节是指当对象处于特定状态时,可能要进行一些活动,例如生成报表、进行计算或向另一对象发送事件。
条件用来描述状态转移的前提。事件用来指示什么触发了转移,动作用来说明当转移发生时会产生什么情况。事件、条件和动作是转移的三个选项,其定义格式见下图所示。
该图描述的信息是—“如果guardCondition为true,当anEvent发生时,将执行anAction,并立即进入状态B”
事件通常在从一个状态到另一个状态的转移路径上直接指定。事件用来指示是什么导致了模型中状态的改变。
动作说明了当事件发生时发生了什么行为。
条件说明状态转移必须要满足的前提。条件一般为一个布尔表达式。
组合状态:在一个复杂的状态中可以细化为多个子状态的合成。该复杂状态称为组合状态。
二 活动图
状态图用来表示单个对象的行为如何改变其状态。而活动图是用来建模不同区域的工作如何彼此交互。
元素 (1)活动 在活动图中,用来指示要完成某项工作的动作或表示工作流的步骤。
(2)操作 可以用操作在活动中增加更多详细的步骤。操作是活动中执行的小步骤。
(3)状态
(4)转移 转移用来指示一种状态到另一个状态的控制流。它们可以显示活动之间或者状态之间的控制流。
(5)决策
(6)分叉用来表示并行活动的分支处理,联结用来把并行活动的汇集到同步处理。