ImageVerifierCode 换一换
格式:PPT , 页数:90 ,大小:1.67MB ,
文档编号:4845758      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4845758.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(基于任务驱动模式的软件工程与UML建模技术项目十一动态建模课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

基于任务驱动模式的软件工程与UML建模技术项目十一动态建模课件.ppt

1、项目十一 动态建模 项目十一 动态建模 任务一任务一 认识动态建模认识动态建模 任务二任务二 认识状态图认识状态图 任务三任务三 认识活动图认识活动图 任务四任务四 认识顺序图认识顺序图 任务五任务五 认识协作图认识协作图 项目十一 动态建模 任务一任务一 认识动态建模认识动态建模动态建模描述的是参与者如何通过交互实现系统中的用例。系统中对象的交互是通过顺序图、协作图或者活动图来描述的,同时,用例模型中用例实现中所使用的类会在状态图中得以描述。项目十一 动态建模 操作一操作一 动态建模概述动态建模概述前面通过类图和对象图介绍了系统的静态结构建模,本项目将介绍系统的动态结构模型。UML提供了状态

2、图、活动图、顺序图和协作图来描述系统的结构和行为,它们适合于描述系统中的对象在执行期间不同的时间点是如何动态交互的(一组对象为了实现一些功能而进行通信称之为交互,可以通过状态图、活动图、顺序图和协作图来描述系统的动态行为)。通过对软件系统的静态结构和动态行为的描述,开发团队和用户易于理解目标系统的功能及执行结果。项目十一 动态建模 任务二任务二 认认识识状状态态图图 操作一操作一 状态图的概述状态图的概述状态图(Statechart Diagram)是软件系统进行面向对象分析的一种常用工具,它通过建立对象的生存周期模型(状态)来描述对象随时间变化的动态行为。状态图主要用来描述对象、子系统、系统

3、的生命周期。状态图适合描述跨越多个用例的对象在其生命周期中的各种状态及其状态之间的转换,这些对象可以是类、接口、构件或者结点。状态图常用于对反应型对象建模,反应型对象在接收到一个事件之前通常处于空闲状态,当这个对象对当前事件作出反应后又处于空闲状态等待下一个事件。项目十一 动态建模 类图和对应的对象图只展示出系统的静态方面。它们展示的是系统静态层次和关联,并能告诉你系统的行为是什么。但它们不能说明这些行为的动态细节。状态图能帮助分析员、设计员和开发人员理解系统中对象的行为。开发人员尤其要知道对象是如何表现自己的行为的,因为他们要用软件实施这些行为。仅仅实施对象是不够的,开发人员还必须让对象做该

4、做的事情。状态图可以确保开发人员能够清楚地了解对象应该做什么,而不用自己去猜测它。如果有了一幅展示对象行为的清晰图景,那么开发小组构造出的系统满足需求的可能性就会大大增加。项目十一 动态建模 操作二操作二 状态图的组成状态图的组成状态图是由表示状态的节点和表示状态之间转换的带箭头的直线组成。若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发。如图11-1所示。图11-1 状态图项目十一 动态建模 1起点和终点起点和终点起点代表状态图的一个初始状态,此状态代表状态图的起始位置。起点只能作为转换的源,而不能作为转换的目标。起点在一个状态图中只允许有一个。终点代表状态图的最后状态,此状态代表

5、状态图的终止位置。终点只能作为转换的目标,而不能作为转换的源。终点在一个状态图中可以有一个或多个,表示一个活动图的最后和终结状态。如图11-2所示。项目十一 动态建模 图11-2 状态图的起点与终点 项目十一 动态建模 2状态状态(State)状态是指对象在其生命周期中,满足某些条件、执行某些活动、或等待某些事件时的一个状况。状态指的是对象的状态,用圆角的矩形框表示状态,如图11-3所示。例如:发票(对象)被支付(状态);小车(对象)正在停着(状态);发动机(对象)正在工作(状态);电灯(对象)开着(状态)。项目十一 动态建模 图11-3 登录提示状态项目十一 动态建模(1)状态的特征。通常一

6、个状态包括名称、进入/退出活动、内部转换、子状态和延迟事件等五个部分组成。如图11-4所示,常常使用下面三种标准事件:entry(进入),exit(退出),do(做)。“进入事件”用来指定进入一个状态的动作;“退出事件”用来指定退出一个状态的动作;“做”事件用来指定在该状态下的动作(如:发送一条消息)。项目十一 动态建模 图11-4 初始状态、原子状态、结束状态项目十一 动态建模“动作”是对象类中一个操作的执行,动作具有原子性和不可中断特性。“事件”指的是发生且引起某些动作执行的事情,即事件表示在某一人、特定的时间或空间出现的能够引发状态改变的运动变化。事件有很多,大致可以分为入口事件、出口事

7、件、动作事件、信号事件、调用事件、修改事件、时间事件和延迟事件等,如图11-3、表11-1及表11-2所示。项目十一 动态建模 表表11-1 状状 态态 特特 征征项目十一 动态建模 表表11-2 常见的事件类型常见的事件类型编号 事件名称 触发时机 描 述 1 入口事件 进入状态时 表示一个入口的动作序列,先于人和内部活动或转换 2 出口事件 退出状态时 表示一个出口的动作序列,跟在所有的内部活动之后,先于所有的出口转换 3 动作事件 调用嵌套状态机时 与动作事件相关的活动必定引用嵌套状态机 4 信号事件 两个对象通信时 发送者和接收者可以是同一个对象 5 调用事件 一个对象请求调用另 一个

8、对象的操作时 至少涉及两个以上的对象,可以为同步调用,也可以为异步调用 6 修改事件 特定条件满足时 可以被多次赋值直到条件为真 7 时间事件 自进入状态后某个 时间期限到时 可以被指定为绝对形式,也可以被指定为相对形式 8 延迟事件 在需要时触发或撤消 通常不在本状态处理,推迟到另一个状态才处理 项目十一 动态建模(2)状态的类型。状态的类型有:初始状态、原子状态、结束状态、组合状态和子状态、并发状态、历史状态等。如图11-4所示。子状态是指被嵌套在另外一个状态中的状态。组合状态是指含有子状态的状态。组合状态也可以有初态和终态。如图11-5所示。项目十一 动态建模 图11-5 组合状态与子状

9、态项目十一 动态建模 并发状态指一个对象在同一时刻可以处在多种状态。如图11-6所示。图11-6 并发状态项目十一 动态建模 历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母“H”的小圆圈表示。每当转换到组成状态的历史状态时,对象便恢复到上次离开该组成状态时的最后一个活动子状态,并执行入口动作。如图11-7所示。图11-7 历史状态项目十一 动态建模 3转换转换转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。当发生转换时,转换进入的状态为活动状态,转换离开的状态变为非活动状态。转换用箭头表示,如

10、果没有标注事件,则本转移为自动转移。转换通常分为外部转换、内部转换、完成转换和复合转换四种。一个转换一般包括五个部分信息:源状态、目标状态、触发事件、监护条件和动作。转换具有的特征如表11-3所示。项目十一 动态建模 表表11-3 转换的特征转换的特征项目十一 动态建模 操作三操作三 使用使用Rational Rose绘制状态图绘制状态图状态图显示了对象的动作行为,显示对象可能存在的各种状态、对象创建时的状态、对象删除时的状态、对象如何从一种状态转移到另一种状态及对象在不同状态中干什么。1创建状态图创建状态图(见图见图11-8)(1)在浏览器中右击类。(2)选择“New”“Statechart

11、 Diagram”,对该类创建一个状态图,并命名该图。项目十一 动态建模 图11-8 创建状态图项目十一 动态建模 2在图中增加状态,初始和终止状态在图中增加状态,初始和终止状态(见图见图11-9)(1)选择工具栏的【state】按钮,单击框图增加一个状态,双击状态命名。(2)选择工具栏的“start state”和“end state”,单击框图增加初始状态和终止状态。初始状态是对象首次实例化时的状态,状态图中只有一个初始状态。终止状态表示对象在内存中被删除之前的状态,状态图中有0个、1个或多个终止状态。项目十一 动态建模 图11-9 增加状态项目十一 动态建模 3状态之间增加交接状态之间增

12、加交接(见图见图11-10、图、图11-11)(1)选择【state transition】工具栏按钮。(2)从一种状态拖到另一种状态。(3)双击交接弹出对话框,可以在“General”中增加事件(Event),在“Detail”中增加保证条件(Guard Condition)等交接的细节。事件用来在交接中从一个对象发送给另一个对象,保证条件放在中括号里,控制是否发生交接。项目十一 动态建模 图11-10 增加事件项目十一 动态建模 图11-11 增加保证条件项目十一 动态建模 4在状态中增加活动在状态中增加活动(见图见图11-12)(1)右击状态并选择“OPEN Specification”

13、。(2)选择【Action】标签,右击空白处并选择“Insert”。(3)双击新活动(清单中有“Entry/”)打开活动规范,在“Name”中输入活动细节。项目十一 动态建模 图11-12 在状态中增加活动项目十一 动态建模 任务三任务三 认认识识活活动动图图 操作一操作一 活动图的概述活动图的概述活动图(Activity Diagram)显示活动动作及其结果,着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某一项工作,也可以是软件系统中某个类对象的一个操作。活动图与常用的程序流程图相似,它们的主要区别在于程序流程图一

14、般用来表示串行过程,而活动图则可以用来表示并行过程,如图11-13所示。使用活动图的主要目的是:项目十一 动态建模 描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作);描述对象内部的工作;显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;显示用例的实例是如何执行动作以及如何改变对象状态的;说明一次商务活动中的参与者、工作流、组织和对象是如何工作的。项目十一 动态建模 图11-13 活动图项目十一 动态建模 操作二操作二 活动图的组成活动图的组成UML中活动图包含的图形元素有:动作状态、活动状态、组合活动、分叉与结合、分支与合并、泳道、对象流、动作流。1动作状态动作状态

15、动作状态是原子性的动作或操作的执行状态,它不能被外部事件的转换中断。动作状态的原子性决定了动作状态要么不执行,要么就完成执行,不能中断。如发送一个信号、设置某个属性值等。动作状态没有子结构、内部转换或内部活动,它不能包括事件触发的转换。动作状态有如下特点:项目十一 动态建模 动作状态是原子的,它是构造活动图的最小单位,无法分解为更小的部分;动作状态是不可中断的,它一旦运行就不能中断,一直运行到结束;动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略;动作状态有入转换,入转换可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关;动作状

16、态与状态图中的状态不同,它不能有入口动作和出口动作,也不能有内部转移;动作状态允许多处出现在同一活动图中。项目十一 动态建模 2活动状态活动状态活动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行。活动状态可以分解成其他子活动或动作状态,可以使转换离开状态的事件从外部中断。活动状态可以有内部转换、入口动作和出口动作。活动状态至少具有一个输出完成转换,当状态中的活动完成时该转换激发。活动状态用两边为弧的条形框表示,中间填活动名。活动分为简单活动和组合活动。简单活动,指不能再分解的活动;组合活动,指可以再分解的复杂活动。活动状态有如下特点:活动状态可以分解成其他子活动或动作状态,由于它是一

17、组不可中断的动作或操作的组合,所以可以被中断;项目十一 动态建模 活动状态的内部活动可以用另一个活动图来表示;活动状态可以有入口动作和出口动作,也可以有内部转移;动作状态是活动状态的一个特例,如果某一个活动状态只包括一个动作,那么它就是一个动作状态。动作状态与活动状态如图11-14所示。图11-14 动作状态与活动状态项目十一 动态建模 3组合活动组合活动组合活动也叫复合活动。在UML的活动图中,一个大的活动可以分为若干个动作或子活动,这些动作或子活动本身又可以组成一个活动图。如图11-15所示。图11-15 组合活动与简单活动项目十一 动态建模 4分叉与结合分叉与结合并发指的是在同一时间间隔

18、内有两个或者两个以上的活动执行。对于一些复杂的大型系统而言,对象在运行时往往不只存在一个控制流,而是存在两个或者多个并发运行的控制流。为了对并发的控制流建模,在UML中引入了分叉和结合的概念。分叉用于表示将一个控制流分成两个或者多个并发运行的分支,结合用来表示并行分支在此得到同步。分叉用粗黑线表示。分叉具有一个输入转换、两个或者多个输出转换,每个转换都可以是独立的控制流。结合与分叉相反,结合具有两个或者多个输入转换、一个输出转换,先完成的控制流需要在此等待,只有当所有的控制流都到达结合点时,控制才能继续向下进行。如图11-16所示。项目十一 动态建模 图11-16 分叉与结合项目十一 动态建模

19、 5分支与合并分支与合并分支在活动图中很常见,它是转换的一部分,它将转换路径分成多个部分,每一个部分都有单独的监护条件和不同的结果。当动作流遇到分支时,会根据监护条件的真假来判定动作的流向。分支的每个路径监护条件应该是互斥的,这样可以保证只有一个路径的转换被激发。合并指的是两个或者多个控制路径在此汇合,合并和分支常常成对使用,合并表示从对应分支开始的条件的行为结束。在活动图中,分支与合并都用空心的菱形表示,分支有一个输入箭头和两个输出箭头,而合并有两个输入箭头和一个输出箭头。如图11-17所示。项目十一 动态建模 图11-17 分支与合并项目十一 动态建模 6泳道泳道为了对活动的职责进行组织而

20、在活动图中将活动状态分为不同的组,称为泳道。每个泳道代表特定含义的状态职责部分。在活动图中,每个活动只能明确地属于一个泳道,泳道表示了哪些活动由哪些对象进行的。每个泳道都有一个与其他泳道不同的名称。在活动图中,每个泳道通过垂直实线与它的邻居泳道相分离。在泳道的上方是泳道的名称,不同的泳道中的活动既可以顺序地进行也可以并发进行。如图11-18所示。项目十一 动态建模 图11-18 泳道项目十一 动态建模 7对象流对象流对象可以在活动图中显示,表示动作状态或者活动状态与对象之间的依赖关系。对象可以作为动作的输入或输出,或简单地表示指定动作对对象的影响。对象用矩形符号来表示,在矩形的内部有对象名或类

21、名。对象流用带有箭头的虚线表示,如图11-19所示。项目十一 动态建模 图11-19 对象流项目十一 动态建模 对象流中的对象有如下特点:一个对象可以由多个动作操纵;一个动作输出的对象可以作为另一个动作输入的对象;同一个对象可以多次出现在活动图中,每一次出现表明该对象正处于对象生存期的不同时间点。8动作流动作流动作流是指所有动作状态之间的转换。在活动图中,一个动作状态执行完成本状态需要完成的动作后会自动转换到另外一个状态,一般不需要特定事件的触发。动作流用带箭头的直线表示,箭头的方向指向转入的方向,如图11-20所示。项目十一 动态建模 图11-20 动作流项目十一 动态建模 操作三操作三 使

22、用使用Rational Rose绘制活动图绘制活动图活动图显示了从活动到活动的流。活动图可以在分析系统业务时用来演示业务流,也可以在收集系统需求的时候显示一个用例中的事件流。活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。1创建活动图创建活动图(见图见图11-21)(1)用于分析系统业务:在浏览器中右击Use Case视图,选择“New”“Activity Diagram”。(2)用于显示用例中的事件流:在浏览器中选中某个用例,然后右击这个用例,选择“New”“Activity Diagram”。项目十一 动态建模 图11-21 创建活动图项目十一 动态建模

23、2增加泳道增加泳道(见图见图11-22)泳道是框图里的竖段,包含特定人员或组织要进行的所有活动。可以把框图分为多个泳道,每个泳道对应每个人员或组织。在工具栏选择【Swimlane】按钮,然后单击框图增加泳道,最后用人员或组织给泳道命名。项目十一 动态建模 图11-22 增加泳道项目十一 动态建模 3增加活动并设置活动的顺序增加活动并设置活动的顺序(见图见图11-23)(1)在工具栏中选择【Activity】按钮,单击活动图增加活动,命名活动。(2)在工具栏中选择【Transition】按钮,把箭头从一个活动拖向另一个活动。项目十一 动态建模 图11-23 增加活动项目十一 动态建模 4增加同步

24、增加同步(见图见图11-24)(1)选择【Synchronization】工具栏按钮,单击框图来增加同步棒。(2)画出从活动到同步棒的交接箭头,表示在这个活动之后开始并行处理。(3)画出从同步棒到可以并行发生的活动之间的交接箭头。(4)创建另一同步棒,表示并行处理结束。(5)画出从同步活动到最后同步棒之间的交接箭头,表示完成所有这些活动之后,停止并行处理。项目十一 动态建模 图11-24 增加同步项目十一 动态建模 5增加决策点增加决策点(见图见图11-25)决策点表示可以采取两个或多个不同的路径。从决策到活动的交接箭头要给出保证条件,及控制在决策之后采取什么路径,保证条件应该是互斥的。(1)

25、选择【Decision】工具栏按钮,单击框图增加决策点。(2)拖动从决策到决策之后可能发生的活动之间的交接,双击交接,打开【Detail】选项卡,在“Guard Condition”字段中写入保证条件。项目十一 动态建模 图11-25 增加决策点项目十一 动态建模 任务四任务四 认认识识顺顺序序图图一个面向对象的软件系统是一系列相互协同的对象的集合,每个对象都有自己的“生命”,如果每个对象只关心自己的事情,而不考虑与其他对象的交互将会产生混乱。为了能够确定这些交互的方法,必须补全对静态结构的理解:那些并发对象是如何交互以及交互是如何影响对象的状态的。创建动态模型来完善系统的静态模型,不仅可以帮

26、助确定类中需要的操作,也能改进系统的静态结构。系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系。项目十一 动态建模 操作一操作一 顺序图的概述顺序图的概述顺序图(Sequence Diagram)也称为时序图,描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。顺序图可供不同的用户使用,以帮助他们进一步了解系统:用户,帮助他们进一步了解业务细节;分析人员,帮助他们进一步明确事件处理流程;开发人员,帮助他们进一步了解需要开发的对象和对这些对象的操作;测试人员,通过过

27、程的细节开发测试案例。项目十一 动态建模 在UML中,顺序图表示为二维图,如图11-26所示。其中,横轴上代表在协作中独立对象的角色。每个对象的表示方法是:矩形框中写有对象或类名,且名字下面有下划线。纵轴是时间轴,时间沿竖线向下延伸。角色使用生命线进行表示,当对象存在时,生命线用一条虚线表示,此时对象不处于激活状态,当对象的过程处于激活状态时,生命线是一条双道线。顺序图中的消息使用从一个对象的生命线到另一个对象的生命线的箭头表示。箭头以时间顺序在图中从上到下排列。项目十一 动态建模 图11-26 典型的顺序图项目十一 动态建模 操作二操作二 顺序图的组成顺序图的组成顺序图是由对象(Object

28、)、生命线(Lifeline)、激活(Activation)和消息(Messages)等构成的。顺序图的目的就是按照交互发生的一系列顺序显示对象之间的交互。如图11-27所示。图11-27 顺序图的组成项目十一 动态建模 1对象对象顺序图中的对象和对象图中对象的概念一样,都是类的实例。顺序图中的对象可以是系统的参与者或者任何有效的系统对象。对象的表示形式也和对象图中的对象表示方式一样,使用包围名称的矩形框来标记,所显示的对象及其类的名称带有下划线,二者用冒号隔开,即对象名。如果对象的开始位置在顺序图的顶部,那就意味着顺序图在开始交互的时候该对象就已经存在了;如果对象的位置不在顶部,那么表明对象

29、在交互的过程中将被创建。项目十一 动态建模 类元角色(Actor)为系统中发起请求消息的对象(或者称为参与者对象),它可以是任何在系统中扮演角色的对象,不管它是对象实例还是参与者,它的生命线的使用方法相同,只是表示方法不同。类元角色的表示方法如图11-28所示。图11-28 类元角色项目十一 动态建模 2生命线生命线每个参与者及系统运行中的对象(即活动对象)都用一条垂直的生命线表示。UML用矩形和虚线表示生命线,虚线展示了参与交互的对象的生命长度,矩形框中添加对象名称。对象与生命线结合在一起称为对象的生命线。3激活激活顺序图中的激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过

30、程。它对执行的持续时间和执行与其调用者之间的控制关系进行建模。激活使用小矩形条表示,它的顶端与激活时间对齐,而底端与完成时间对齐。项目十一 动态建模 4消息消息消息是从一个对象(发送者)向另一个或几个对象(接收者)发送的信号,或由一个对象调用另一个对象的操作。消息可以用于在对象间传递参数。消息可以是信号,即明确的、命名的、对象间的异步通信;也可以是调用,即具有返回控制机制的操作的异步调用。其中,顺序图中强调的是消息的时间顺序,而协作图中强调交换消息的对象间的关系。在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型,消息箭头所指的一方是接收方。常用的消息类型如表11-4所示。项目十一 动

31、态建模 表表11-4 常见的消息类型常见的消息类型项目十一 动态建模 操作三操作三 使用使用Rational Rose绘制顺序图绘制顺序图1创建序列图创建序列图(见图见图11-29)在浏览器内的Logic视图上单击鼠标右键,选择“New”“Sequence Diagram”就新建了一张序列图。也可以在浏览器中Use Case视图中选择某个用例,然后右击这个用例,选择“New”“Sequence Diagram”。项目十一 动态建模 图11-29 创建序列图项目十一 动态建模 2在序列图中放置参与者和对象在序列图中放置参与者和对象(见图见图11-30)在序列图中的主要元素之一就是对象,相似的对象

32、可以被抽象为一个类。序列图中的每个对象代表了某个类的某一实例。(1)把用例图中的该用例涉及的所有参与者拖到Sequence图中。(2)选择工具栏中的【Object】按钮,单击框图增加对象。可以选择创建已有类的对象,也可以在浏览器中新建一个类,再创建新的类的对象。双击对象,在弹出的对话框中的“Class”里确定该对象所属的类。(3)对象命名:对象可以命名也可没名字。双击对象,在弹出的对话框中的“Name”里给对象取名。项目十一 动态建模 图11-30 放置参与者和对象项目十一 动态建模 3说明对象之间的消息说明对象之间的消息(见图见图11-31)(1)选择【Message】工具栏按钮。(2)单击

33、启动消息的参与者或对象,把消息拖到目标对象和参与者间。(3)命名消息。双击消息,在对话框中【General】里的“Name”中输入消息名称。项目十一 动态建模 图11-31 对象之间的消息项目十一 动态建模 任务五任务五 认认识识协协作作图图协作图(Collaboration Diagram/Communication Diagram,也叫通讯图)是一种交互图,强调的是发送和接收消息的对象之间的组织结构。与顺序图不同的是,在协作图中明确表示了角色之间的关系,通过协作角色来限定协作中的对象或链。另外,协作图不将时间作为单独的维来表示,所以必须使用顺序号来判断消息的顺序以及并行线程。顺序图和协作图

34、表达的是类似的信息,虽然它们使用不同的方法表示,但可以通过适当的方式将它们进行转换。项目十一 动态建模 操作一操作一 协作图的概述协作图的概述要理解协作图,首先要了解什么是协作。所谓协作,是指在一定的语境中一组对象以及实现某些行为的对象间的相互作用。在协作中,同时包含了运行时的类元角色(Classifier Roles)和关联角色(Association Roles),类元角色描述了一个对象,关联角色描述了协作关系中的链,并通过几何排列表现交互作用中的各个角色,如图11-32所示。而使用协作图的作用如下:通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。一个使用情境的逻辑可能是一个

35、用例的一部分,或是一条控制流,这和序列图的作用类似。项目十一 动态建模 显示对象及其交互关系的空间组织结构。协作图显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系,并不侧重交互的顺序,它没有将时间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺序。协作图的另外一个作用是表现一个类操作的实现。协作图可以说明类操作中使用到的参数、局部变量以及返回值等。当使用协作图表现一个系统行为时,消息编号对应了程序中嵌套调用结构和信号的传递过程。项目十一 动态建模 图11-32 协作图项目十一 动态建模 操作二操作二 协作图的组成协作图的组

36、成协作图(Collaboration Diagram)是由对象(Object)、消息(Messages)和链(Link)等构成的。1对象对象协作图中的对象和序列图中的对象的概念相同,同样都是类的实例。一个协作代表了为了完成某个目标而共同工作的一组对象。对象的角色表示一个或一组对象在完成目标的过程中所应起的那部分作用。在协作图中,不需要关于某个类的所有对象都出现,同一个类的对象在一个协作图中也可能要充当多个角色。协作图中对象的表示形式也和顺序图中的对象的表示形式一样,这里不再详细介绍。项目十一 动态建模 2消息消息(见图见图11-33)在协作图中,可以通过一系列的消息来描述系统的动态行为。在协作

37、图中,消息使用带有标签的箭头来表示,它附在连接发送者和接收者的链上。链连接了发送者和接收者,箭头的指向便是接收者。在协作图中每个消息包括一个顺序号以及消息的名称。顺序号是消息的一个数字前缀,是一个整数,由1开始递增,每个消息都必须有唯一的顺序号。嵌套消息使用点表示法。图11-33 消息项目十一 动态建模 3链链(见图见图11-34)在协作图中的链和对象图中的链的概念和表示形式都相同,都是两个或多个对象之间的独立连接,是对象引用元组(有序表),是关联的实例。链是关联的实例,当一个类与另一个类之间有关联时,这两个类的实例之间就有链,一个对象就能向另一个对象发送消息。所以链是对象间的发送消息的路径。

38、在协作图中,链的表示形式为一个或多个相连的线或弧。在自身相关联的类中,链是两端指向同一对象的回路,是一条弧。为了说明对象是如何与另外一个对象进行连接的,我们还可以在链的两端添加上提供者和客户端的可见性修饰。如图11-34所示,是链的普通和自身关联的表示形式。项目十一 动态建模 图11-34 链项目十一 动态建模 操作三操作三 使用使用Rational Rose绘制协作图绘制协作图1增加对象链接增加对象链接(见图见图11-35)(1)选择【Object Link】工具栏按钮。(2)单击要链接的参与者或对象。(3)将对象链接拖动到要链接的参与者或对象间。图11-35 增加对象链接项目十一 动态建模

39、 2加进消息加进消息(见图见图11-36)(1)选择【Link Message】或【Reverse Link Message】工具栏按钮。(2)单击要放消息的对象链接。(3)双击消息,可以在弹出的对话框里为消息命名。项目十一 动态建模 图11-36 加进消息项目十一 动态建模 3自反链接自反链接(见图见图11-37)(1)选择【Link to Self】工具栏按钮。(2)单击要链接的对象,会增加一个消息的箭头。(3)双击消息,命名自反链接。项目十一 动态建模 图11-37 建立自反链接项目十一 动态建模 操作四操作四 顺序图与协作图比较顺序图与协作图比较1顺序图与协作图的比较顺序图与协作图的比

40、较顺序图与协作图都是交互图,其区别主要表现在:顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以不要顺序号。协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间的关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号。项目十一 动态建模 2顺序图与协作图的互换顺序图与协作图的互换UML中的顺序图和协作图都是用来表示对象之间的交互作用的,其中顺序图侧重于描述交互过程中的时间关系,对象之间的关系描述不十分清楚;协作图侧重于描述交互过程中的对象之间的关系,时间顺序描述不是十分清楚。因此,从某种意义上来说,这两种图的作用是等价的,Rose中也提供了这两种图之间的转换方式,如下步骤所示(见图11-38)。(1)打开要转换的顺序图或协作图。(2)依次选择主菜单栏中的【Browse】【Go To Sequence Diagram】,即可将当前的协作图转换成顺序图。项目十一 动态建模 图11-38 选择转换到顺序图

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|