一、活动图
行为模型:
系统建模,需要从系统的结构和行为两个方面来描述,其中系统的行为是通过状态图、活动图、序列图和协作图来描述的。
1.什么是活动图
(1)流程图常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判断点、分支和循环
(2)活动图与流程图十分类似,不同之处在于他支持并行活动
(3)活动图的缺点:很难清楚地描述动作与对象之间的关系,没有交互图直接。
(4)以下场合不使用活动图
- 显示对象这件的合作
- 显示对象在其生命周期内的运转情况
2.活动图的几个基本要素
(1)活动状态Action states
(2)活动状态之间的转移transitions
(3)判断decisions(一种表示判断决策的特殊活动)
(4)保证条件guard conditions(只有保证条件为真时转移才发生)
(5)同步条synchronization bar(一种表示活动之间的同步的特殊活动)
(6)起点和终点(起点有且只有一个,终点可以有一个或多个)
3.活动图的图符
3.泳道Swimlanes
泳道:用于对活动图中的活动进行分组,用于描述对象之间的合作关系
-所谓泳道技术,是将活动用线分成一些纵向区域,这些纵向区域称为泳道。
每个区域代表一个特定类,或者人,或者部门的责任区。泳道技术是活动图中引入的一种面向对象机制。可为提取类及分析各个对象之间的交互提供方便。
4.活动图的主要作用
(1)描述一个操作的执行过程中所完成的工作或者动作。
(2)描述对象内部的工作
(3)显示如何执行一组相关的动作,以及这些动作如何影响周围的对象。
(4)描述用例的执行
(5)处理多线程应用
二、状态图
状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。
1.状态机State machine
2.状态State
3.转换Transition
-一个装换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。
-一个转换由五部分组成:
(1)源状态source state
(2)事件触发event trigger
(3)监护条件guard condition
(4)动作action
(5)目标状态target state
4.子状态Substate
5.活动图和状态图的区别
-状态图侧重从行为的结果来描述(状态)
-活动图侧重从行为的动作来描述(活动)
6.状态图的例子
三、小结
1.在实际项目中,活动图并不是必须的。一般在一下情况需要使用活动图:
-描述一个并行的过程 或者行为
-描述一个算法
-描述一个跨越多个用例的活动
2.状态图描述了一个具体对象的可能状态以及他们之间的转换。