活动图
活动图是阐明了业务用例实现的工作流程。就是某一个业务是通过哪些流程完成的,就是用活动图来表现出来。
1.活动图的几个基本元素
1) 活动状态 action states
活动状态表示在工作流程中执行某个活动或步骤
2)活动状态之间的转移 transitions
表示各种活动状态的先后顺序。
3)判断 decisions
一种表示判断决策的特殊活动。
4)保证条件 guard conditions
只有保证条件为真时转移才能发生
5)同步条 synchronization bar
用于显示业务用例的工作流程中的并行线程
6)起点和终点
起点有且只有一个,终点可以有一个或多个
2.泳道
泳道用于对活动图中的活动进行分组,用于描述对象之间的合作关系
所谓泳道技术,是将活动用线分成一些纵向区域,这些区域成为泳道。
每个区域代表一个特定类,或者人,或者部分的负责区。
泳道技术是活动图中引入的一种面向对象机制。为提取类及分析各个对象之间的交互提供方便。
3.活动图的作用
1)描述一个操作的执行过程中所完成的工作或动作
2)描述对象内部工作
3)显示如何执行一组相关的动作,以及这些动作如何影响周围对象
4)描述用例的执行
5)处理多线程应用
4.以下场合不适用活动图
1)显示对象之间的合作
2)显示对象在其生命期内的运转情况
5.活动图的局限
很难清楚的描述动作与对象之间的关系,没有交互图直接。
状态图
状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出的反应。
通常我们创建一个状态图是为了研究类、角色、子系统或组件的复杂行为。
1.状态机 State machine
描述了一个对象或一个交互在生命期内相应事件所经历的状态序列。
单个类或一组类之间协作的行为可以用状态机来描述
一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件
2.状态
状态是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
一个状态通常由名称、进入协作和退出动作、内部转换、子状态、延迟事件五部分组成。
3.转换
一个转换是两个状态之间的一种关系,表示对象将第一个状态中执行一定的动作,并在某个特定时间发生而某个特定的条件满足时进入第二状态。
一个转换通常由源状态、事件触发、监护条件、动作、目标状态五部分组成
源状态:即受转换影响的状态
目标状态:当转换完成后对象的状态
触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件
监护条件:布尔表达式,决定是否激活转换
动作:转换激活时的操作
4.活动与延迟事件
活动:当对象处于一个状态时,它一般是空闲的,在等待一个事件的发生。
但在某些时间,你可能希望描述个正在进行的活动。在处于一个状态的同时,对象做着某些工作,并一直继续到被某个事件中断
延迟事件:延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。
活动图和状态图的区别
活动图侧重从行为的动作来描述(活动)
状态图侧重从行为的结果来描述(状态)
在实际项目中,活动图并不是必须的。一般在以下情况下需要使用活动图
1)描述一个并行过程或者行为
2)描述一个算法
3)描述一个跨越多个用例的活动
装填图描述了一个具有对象的可能状态以及他们之间的转换。