《第09章 活动图.ppt》由会员分享,可在线阅读,更多相关《第09章 活动图.ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第9章章 活动图活动图 9.1 概述概述9.2 活动图的组成元素活动图的组成元素9.3 活动的分解活动的分解9.4 活动图建模技术活动图建模技术9.5 实例实例图书馆管理系统的活动图图书馆管理系统的活动图9.1 概述概述活动活动是是某件事情某件事情正在进行正在进行的状态的状态。活动在状态机中表现为一个由活动在状态机中表现为一个由一系列动作一系列动作组成组成的的非原子非原子的的执行过程执行过程。活动图活动图是一种描述系统行为的图是一种描述系统行为的图,它用于,它用于展现参与行为的展现参与行为的类所进行类所进行的各种的各种活动的顺活动的顺序关系序关系。活动图活动图与与状态图状态图都是都是状态机的
2、表现形式状态机的表现形式。活动图与状态图的区别:活动图与状态图的区别:活动图活动图着重表现从着重表现从一个活动一个活动到到另一个活动另一个活动的的控制流控制流,是,是内部处理驱动内部处理驱动的流程。的流程。状态图状态图着重描述从着重描述从一个状态一个状态到到另一个状态另一个状态的的流程流程,主要有,主要有外部事件外部事件的参与。的参与。9.1.1 活动图的图形表示活动图的图形表示在在UML中,活动表示成中,活动表示成圆角矩形圆角矩形。如果一个活动引发下一个活动,两个活动如果一个活动引发下一个活动,两个活动的的图标之间图标之间用用带箭头的直线连接带箭头的直线连接。活动图也有活动图也有起点起点和和
3、终点终点,表示法和状态图,表示法和状态图中相同。中相同。活动图中活动图中还包括还包括分支与合并分支与合并、分叉与汇合分叉与汇合等模型元素。分支与合并的图标和状态图等模型元素。分支与合并的图标和状态图中的判定的图标相同,而分叉与汇合则用中的判定的图标相同,而分叉与汇合则用一条加粗的线段一条加粗的线段表示。表示。9.1.2 活动图与流程图的区别活动图与流程图的区别流程图流程图着重着重描述处理过程描述处理过程,它的主要控制,它的主要控制结构是结构是顺序顺序、分支分支和和循环循环,各个处理之间,各个处理之间有严格的顺序和时间关系有严格的顺序和时间关系;而;而活动图活动图描述描述的则是的则是对象活动的顺
4、序关系所遵循的规则对象活动的顺序关系所遵循的规则,它它着重表现的是系统的行为着重表现的是系统的行为,而,而非系统的非系统的处理过程处理过程。活动图活动图能够表示能够表示并发活动并发活动的情形,而的情形,而流程流程图图做不到做不到。活动图活动图是是面向对象面向对象的,而的,而流程图流程图是是面向过面向过程程的。的。9.2 活动图的组成元素活动图的组成元素组成组成UML的图形元素:的图形元素:动作状态动作状态(Action State)活动状态活动状态(Activity State)动作流动作流(Action Flow)分支分支(Branch)与)与合并合并(Merge)分叉分叉(Fork)与)与
5、汇合汇合(Join)泳道泳道(Swimlane)对象流对象流(Object Flow)9.2.1 动作状态动作状态动作状态是指执行动作状态是指执行原子的原子的、不可中断不可中断的动的动作,并在此动作完成后通过作,并在此动作完成后通过完成转换完成转换转向转向另一个状态的状态。另一个状态的状态。动作状态使用动作状态使用平滑的圆角矩形平滑的圆角矩形表示,动作表示,动作状态所表示的状态所表示的动作写在圆角矩形内部动作写在圆角矩形内部。动作状态的动作状态的特点:特点:动作状态是动作状态是原子的原子的,它是构造活动图的,它是构造活动图的最小单最小单位位,已经,已经无法分解无法分解为更小的部分。为更小的部分
6、。动作状态是动作状态是不可中断的不可中断的状态,它一旦开始运行状态,它一旦开始运行就不能中断,一直运行到结束。就不能中断,一直运行到结束。动作状态是动作状态是瞬时的行为瞬时的行为,它所占用的处理事件,它所占用的处理事件极短,有时甚至可以忽略。极短,有时甚至可以忽略。动作状态动作状态可以有入转换可以有入转换,入转换既可以是动作,入转换既可以是动作流,也可以是对象流。动作状态流,也可以是对象流。动作状态至少有一条出至少有一条出转换转换,这条转换以内部动作的完成为起点,与,这条转换以内部动作的完成为起点,与外部事件无关。外部事件无关。动作状态动作状态和状态图和状态图中的状态中的状态不同不同,它不能有
7、入它不能有入口动作和出口动作口动作和出口动作,更不能有内部转移更不能有内部转移。在一张活动图中,动作状态在一张活动图中,动作状态允许多处出现允许多处出现。9.2.2 活动状态活动状态活动状态用于活动状态用于表达状态机中的一个表达状态机中的一个非原子非原子的运行的运行。活动状态的表示图标也是活动状态的表示图标也是平滑的圆角矩形平滑的圆角矩形,并并可以可以在图标中给出在图标中给出入口动作入口动作和和出口动作出口动作等信息。等信息。活动状态的活动状态的特点:特点:活动状态活动状态可以分解成其他可以分解成其他子活动子活动或或动作状态动作状态,由于它是一组不可中断的动作或操作的组合,由于它是一组不可中断
8、的动作或操作的组合,所以所以可以被中断可以被中断。活动状态的活动状态的内部活动可以用内部活动可以用另一个活动图另一个活动图来表来表示示。和动作状态不同,活动状态可以和动作状态不同,活动状态可以有入口动作有入口动作和和出口动作出口动作,也可以有,也可以有内部转移内部转移。动作状态动作状态是活动状态的一个是活动状态的一个特例特例,如果某个活,如果某个活动状态只包括一个动作,那么它就是一个动作动状态只包括一个动作,那么它就是一个动作状态。状态。9.2.3 动作流动作流所有动作状态之间的转换流称之为所有动作状态之间的转换流称之为动作流动作流。与状态图的转换相同,活动图的转换也用与状态图的转换相同,活动
9、图的转换也用带箭头的直线带箭头的直线表示,箭头的方向指向转入表示,箭头的方向指向转入的方向。的方向。9.2.4 分支与合并分支与合并分支一般用于分支一般用于表示表示对象类所具有的对象类所具有的条件行为条件行为。条件行为用分支和合并表达。条件行为用分支和合并表达。在活动图中分支与合并用在活动图中分支与合并用空心小菱形空心小菱形表示。表示。一个一个分支分支有有一个入转换一个入转换和和两个带条件的出转两个带条件的出转换换,出转换的条件应当是,出转换的条件应当是互斥的互斥的,这样可以,这样可以保证只有一条出转换能够被触发。保证只有一条出转换能够被触发。一个一个合并合并有有两个带条件的入转换两个带条件的
10、入转换和和一个出转一个出转换换,合并表示从对应的分支开始的条件行为,合并表示从对应的分支开始的条件行为的结束。的结束。图图9-4 还书过程还书过程9.2.5 分叉与汇合分叉与汇合分叉分叉用于用于将动作流将动作流分为分为两个或者多个两个或者多个并发运行并发运行的分的分支支,而,而汇合汇合则用于则用于同步这些并发分支同步这些并发分支,以达到,以达到共同共同完成完成一项事务的目的。一项事务的目的。分叉分叉可以用来可以用来描述并发线程描述并发线程,每个分叉可以有,每个分叉可以有一个一个输入转换输入转换和和两个或多个输出转换两个或多个输出转换,每个转换都可以,每个转换都可以是是独立的独立的控制流。控制流
11、。汇合汇合代表两个或多个并发控制流代表两个或多个并发控制流同步发生同步发生,当所有,当所有的控制流的控制流都达到汇合点后都达到汇合点后,控制,控制才能继续往下进行才能继续往下进行。每个汇合可以有每个汇合可以有两个或多个输入转换两个或多个输入转换和和一个输出转一个输出转换换。分叉和汇合分叉和汇合都使用都使用加粗的水平线段加粗的水平线段表示。表示。图图9-5 到到羽羽毛毛球球馆馆打打羽羽毛毛球球的的活活动动图图9.2.6 泳道泳道泳道泳道将将活动图中的活动图中的活动活动化分为化分为若干组若干组,并把,并把每一组每一组指定给指定给负责这组活动的业务组织即负责这组活动的业务组织即对象对象。泳道区分了负
12、责活动的对象,泳道区分了负责活动的对象,明确地明确地表示了表示了哪些活哪些活动是由哪些对象进行的动是由哪些对象进行的。每个活动每个活动只能明确地属于只能明确地属于一个泳道一个泳道。泳道用泳道用垂直实线垂直实线绘出,垂直线分隔的区域就是泳道。绘出,垂直线分隔的区域就是泳道。在在泳道上方泳道上方可以给出可以给出泳道的名字或对象泳道的名字或对象(对象类)(对象类)的名字,该对象(对象类)负责泳道内的全部活动。的名字,该对象(对象类)负责泳道内的全部活动。泳道泳道没有顺序没有顺序,不同泳道中的活动既,不同泳道中的活动既可以顺序进行可以顺序进行也也可以并发进行可以并发进行,动作流和对象流,动作流和对象流
13、允许穿越分隔线允许穿越分隔线。图图9-7 到到羽羽毛毛球球馆馆打打羽羽毛毛球球的的具具有有泳泳道道的的活活动动图图9.2.7 对象流对象流对象流是对象流是动作状态动作状态或者或者活动状态活动状态与与对象之间对象之间的的依赖关系依赖关系,表示动作使用对象或者动作对对象,表示动作使用对象或者动作对对象的影响。的影响。对象流中的对象对象流中的对象特点:特点:一个对象可以由多个动作操纵一个对象可以由多个动作操纵。一个动作输出的对象可以作为另一个动作输入一个动作输出的对象可以作为另一个动作输入的对象的对象。在活动图中,在活动图中,同一个对象可以多次出现同一个对象可以多次出现,它的,它的每一次出现表明该对
14、象正处于对象生存期的每一次出现表明该对象正处于对象生存期的不不同时间点同时间点。对象流用对象流用带有箭头的虚线带有箭头的虚线表示。表示。如果如果箭头箭头从动作状态出发指向对象从动作状态出发指向对象,则表示动作对则表示动作对对象施加了一定的影响对象施加了一定的影响。如果如果箭头从对象箭头从对象指向动作状态,则表示该动作使用对象流指向动作状态,则表示该动作使用对象流所指向的对象所指向的对象。图图9-7 到到羽羽毛毛球球馆馆打打羽羽毛毛球球的的具具有有对对象象流流的的活活动动图图9.3 活动的分解活动的分解一个活动一个活动可以分为可以分为若干个动作若干个动作或或子活动子活动,这些动作和子活动本身可以
15、这些动作和子活动本身可以组成一个子活组成一个子活动图动图。一个包含子活动的活动和嵌套了子状态的一个包含子活动的活动和嵌套了子状态的组合状态类似,概念上也相对统一。组合状态类似,概念上也相对统一。一个不含内嵌活动或动作的活动称之为一个不含内嵌活动或动作的活动称之为简简单活动单活动;一个嵌套了若干活动或动作的活一个嵌套了若干活动或动作的活动称之为动称之为组合活动组合活动,组合活动有自己的名,组合活动有自己的名字和相应的子活动图。字和相应的子活动图。图图9-8 在在书书店店买买书书的的包包括括组组合合活活动动的的活活动动图图9.4 活动图建模技术活动图建模技术识别识别要对其工作流描述的要对其工作流描
16、述的类类或或对象对象。确定确定工作流的工作流的初始状态初始状态和和终止状态终止状态,明确,明确工作流的边界工作流的边界。对对动作状态动作状态或或活动状态活动状态建模建模。对对动作流动作流建模建模。对对对象流对象流建模建模。对建立的对建立的模型模型进行进行精化精化和和细化细化。9.5 实例实例图书馆管理系统的活动图图书馆管理系统的活动图9.5.1 使用使用Rational Rose绘制活动图的步绘制活动图的步骤骤9.5.2 图书馆管理系统的活动图图书馆管理系统的活动图9.5.1 使用使用Rational Rose绘制活动图绘制活动图的步骤的步骤1.创建活动图创建活动图2.活动图工具栏按钮简介活动
17、图工具栏按钮简介3.加入初态和终态加入初态和终态4.增加动作状态增加动作状态5.增加活动状态增加活动状态6.增加动作流增加动作流7.增加分支与合并增加分支与合并8.增加分叉与汇合增加分叉与汇合9.增加泳道增加泳道10.增加对象与对象流增加对象与对象流9.5.2 图书馆管理系统的活动图图书馆管理系统的活动图1.借阅者的活动图借阅者的活动图2.图书管理员的活动图图书管理员的活动图3.系统管理员的活动图系统管理员的活动图1.借阅者的活动图借阅者的活动图2.图书管理员的活动图图书管理员的活动图 3.系统管理员的活动图系统管理员的活动图系统管理员维护借阅者帐户的活动图系统管理员维护借阅者帐户的活动图系统管理员进行书目信息维护的活动图系统管理员进行书目信息维护的活动图系统管理员维护书籍信息的活动图系统管理员维护书籍信息的活动图(1)系统管理员维护借阅者帐户的)系统管理员维护借阅者帐户的活动图活动图(2)系统管理员进行书目信息维护)系统管理员进行书目信息维护的活动图的活动图(3)系统管理员维护书籍信息的活)系统管理员维护书籍信息的活动图动图
限制150内