活动图
概述
- 活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某项工作,也可以是软件系统中某某类对象的一个操作
- 活动是在状态机中它的一个非原子的执行,它由一系列动作组成,动作由kezhixing算组成,这些计算能够使系统的状态发生变化或返回一个值。
#元素
1.动作状态
- 动作状态是原子的,它是构造活动图的最小单位,已经无法能分解-不可中断
- 瞬时性
- 不可中断
- 动作状态可以有入转换,入转换既可以是动作流,也可以是对象流动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关
- 动作状态和状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移
- 在一张活动图中,动作状态允许多处出现
2.活动状态
- 可以分解成其他子活动或动作转太,由于它是一个不可中断的动作或操作的组合,所以可以被中断
- 活动状态的内部活动可以用另一个活动图表示
- 和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移
- 动作状态是活动状态的一个特例,如果某个活动状态只包含一个动作,那么它就是一个动作状态
3.动作流
当一个动作状态或活动状态结束时,该状态就会转换到下一个状态,这就是无触发转移或称为自由转移。无触发转移实际上是灭有任何特定的事件触发的转移,即当状态结束工作时就自动的发生转移
4.分支与合并
描述了软件对象在不同的判断结果下所执行的不同动作。
5分叉和汇合
- 一个分叉表示把一个控制流分解成两个或多个的并发运行控制流,也就是说分叉可以有一个输入转换和两个或多个输出转换,每隔转换都是独立的控制流。
- 汇合代表两个或多个并发控制流同步发生。当所有的控制流都到达汇合点后,控制才继续向下进行。一个汇合可以有两个或多个转换和一个输入输出转换。
6.泳道
泳道将活动图的活动状态分组,每一组表示负责那些活动的业务组织。在活动如里泳道区分了活动的不同职责,在泳道活动图中,每一个活动都只能明确的属于一个泳道。从语义上,泳道可以被理解为一个模型包。
机房收费系统活动图
状态图
状态机
状态机由状态组成,各状态由转移链接在一起。状态是对象执行某项活动或等待某个事件时的条件。转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或评估并导致特定的结束状态。
状态图
状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。
1.状态
名字 | 由一个字符串组成,用以识别不同的状态 |
---|---|
入喉/出口动作 | 表示进入/退出这个状态所执行的动作 |
内部装换 | 不会引起状态变化 |
延迟事件 | 延迟事件该状态下暂不处理,但将推迟到该对象的另一个状态下事件处理队列 |
子状态 | 一个状态内部还包括其他状态,即为子状态 |
2.转换
源状态 | 转换之前的状态 |
---|---|
目标状态 | 转换完成后,目标所处的状态 |
触发事件 | 状态机描述了对象具有事件驱动的动态行为 |
监护条件 | 监护条件可以引用对象的属性值和触发事件的参数 |
动作 | 当转变被激活时,它对应的动作被执行 |