UML—行为图(活动图和状态图)
活动图
流程图常被用来建立算法模型,可以表示一个算法的执行序列、过程、判定点、分支和循环。
活动图与流程图十分相似,不同之处在于它支持并行活动。
- 缺点:很难清楚的描述动作与对象之间的关系,没有交互图直接。
- 作用: 1.描述一个操作的执行过程中所完成的工作或者动作。
2.描述对象内部的工作
3.显示如何执行一组相关的动作,以及这些动作如何影响周围对象
4.描述用例的执行
5.处理多线程应用
- 哪些场合不适用活动图: 1.显示对象的合作
2.显示对象在其生命周期内的运转情况
- 示例
- 同步条
- 泳道
对活动图中的活动进行分组,用于描述对象之间的合作关系
每个区域代表一个特定类,或者人,或者部门的负责区。是活动图引入的面向对象机制,为提取类及分析各个对象之间的交互提供方便。
状态图
用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。
- 图符:状态、转移、起点、终点
- 状态机
描述了一个对象或一个交互在生命期内响应事件所经历的状态序列;
单个类或一组类之间协作的行为可以用状态机来描述。
- 状态
在对象的生命期中满足某些条件、执行某些活动或等待某些时间时的一个条件或状况。
特殊状态:初始状态、终止状态
- 组成:名称、进入协作和退出动作、内部转换、子状态、延迟事件
-
转换
两个状态的一种关系,表示对象在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。
-
组成:源状态 、事件触发、监护条件、动作、目标状态
- 示例(电话机状态图)
- 区别
活动图和状态图区别:
状态图侧重从行为的结果来描述(状态)
活动图侧重从行为的动作来描述(活动)