【UML】行为图(活动图、状态图)

活动图

概述

  • 活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某项工作,也可以是软件系统中某某类对象的一个​​操作
  • 活动是在状态机中它的一个非原子的执行,它由一系列动作组成,动作由kezhixing算组成,这些计算能够使系统的状态发生变化或返回一个值。

#元素

1.动作状态

  • 动作状态是原子的,它是构造活动图的最小单位,已经无法能分解-不可中断
  • 瞬时性
  • 不可中断
  • 动作状态可以有入转换,入转换既可以是动作流,也可以是对象流动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关
  • 动作状态和状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移
  • 在一张活动图中,动作状态允许多处出现

这里写图片描述

2.活动状态

  • 可以分解成其他子活动或动作转太,由于它是一个不可中断的动作或操作的组合,所以可以被中断
  • 活动状态的内部活动可以用另一个活动图表示
  • 和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移
  • 动作状态是活动状态的一个特例,如果某个活动状态只包含一个动作,那么它就是一个动作状态
    这里写图片描述

3.动作流
当一个动作状态或活动状态结束时,该状态就会转换到下一个状态,这就是无触发转移或称为自由转移。无触发转移实际上是灭有任何特定的事件触发的转移,即当状态结束工作时就自动的发生转移
这里写图片描述
4.分支与合并
描述了软件对象在不同的判断结果下所执行的不同动作。
这里写图片描述
5分叉和汇合

  • 一个分叉表示把一个控制流分解成两个或多个的并发运行控制流,也就是说分叉可以有一个输入转换和两个或多个输出转换,每隔转换都是独立的控制流。
  • 汇合代表两个或多个并发控制流同步发生。当所有的控制流都到达汇合点后,控制才继续向下进行。一个汇合可以有两个或多个转换和一个输入输出转换。
    这里写图片描述
    6.泳道
    泳道将活动图的活动状态分组,每一组表示负责那些活动的业务组织。在活动如里泳道区分了活动的不同职责,在泳道活动图中,每一个活动都只能明确的属于一个泳道。从语义上,泳道可以被理解为一个模型包。

机房收费系统活动图

这里写图片描述

状态图

状态机

状态机由状态组成,各状态由转移链接在一起。状态是对象执行某项活动或等待某个事件时的条件。转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或评估并导致特定的结束状态。

状态图

状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。

1.状态

名字 由一个字符串组成,用以识别不同的状态
入喉/出口动作 表示进入/退出这个状态所执行的动作
内部装换 不会引起状态变化
延迟事件 延迟事件该状态下暂不处理,但将推迟到该对象的另一个状态下事件处理队列
子状态 一个状态内部还包括其他状态,即为子状态

2.转换

源状态 转换之前的状态
目标状态 转换完成后,目标所处的状态
触发事件 状态机描述了对象具有事件驱动的动态行为
监护条件 监护条件可以引用对象的属性值和触发事件的参数
动作 当转变被激活时,它对应的动作被执行

机房收费系统状态图

这里写图片描述

猜你喜欢

转载自blog.csdn.net/suzan_bingtong/article/details/80550977