OOSE06交互视图_第1页
OOSE06交互视图_第2页
OOSE06交互视图_第3页
OOSE06交互视图_第4页
OOSE06交互视图_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-交互视图交互视图使用使用UML进行面向进行面向对象的分析对象的分析 使用使用UML进行面向进行面向对象的分析对象的分析 董瑞志董瑞志Email: hello_MSN: nature_联系电话:联系电话容提要内容提要 概述概述 基本概念基本概念 顺序图顺序图 协作图协作图 模式模式 案例分析案例分析概述概述 对象通过交互实现行为。可以从两个互对象通过交互实现行为。可以从两个互补的角度描述交互,其一重点在于单个补的角度描述交互,其一重点在于单个对象的,另一重点在进行合作的对象群对象的,另一重点在进行合作的对象群体。体。 交互视图提供了描述一系列对象行为更交互视图提供了描

2、述一系列对象行为更全局的能力。按照对交互描述的重点不全局的能力。按照对交互描述的重点不同,交互视图包含顺序图和协作图两种同,交互视图包含顺序图和协作图两种建模机制。建模机制。基本概念基本概念 交互交互 协作协作协作(协作(1/3) 协作是对上下文中交互实现某种行为对协作是对上下文中交互实现某种行为对象群体的描述,它描述了许多对象合作象群体的描述,它描述了许多对象合作实现特定目标的行为。实现特定目标的行为。 处于交互中的对象分别扮演者分类角色处于交互中的对象分别扮演者分类角色和关连角色和关连角色 分类角色代表了对参与协作的对象的描述;分类角色代表了对参与协作的对象的描述; 关联角色代表了对参与协

3、作的执行链的描述。关联角色代表了对参与协作的执行链的描述。 通常系统中一个对象可以参与多个协作。通常系统中一个对象可以参与多个协作。协作(协作(2/3) 协作具有结构和行为两个方面:协作具有结构和行为两个方面: 结构方面包含了目标行为的上下文信息,如结构方面包含了目标行为的上下文信息,如有关的角色、关系等;有关的角色、关系等; 行为方面行为方面由绑定于角色对象间的一些列交由绑定于角色对象间的一些列交换消息描述。换消息描述。 一个协作可以包含一个或多个交互,而一个协作可以包含一个或多个交互,而每个每个交互交互描述了协作中用来完成特定目描述了协作中用来完成特定目的对象间的消息交换。的对象间的消息交

4、换。协作(协作(3/3) 协作从对象网络内的消息交换中捕获更协作从对象网络内的消息交换中捕获更全局的行为,显示了运算中数据结构、全局的行为,显示了运算中数据结构、控制流、数据流的统一。控制流、数据流的统一。交互(交互(1/2) 交互是由协作中分类角色、关联角色进交互是由协作中分类角色、关联角色进行交换的一系列消息。行交换的一系列消息。 当协作在运行期间存在时,绑定于分类当协作在运行期间存在时,绑定于分类角色的对象通过绑定于关联角色的链来角色的对象通过绑定于关联角色的链来交换消息。交换消息。 交互对操作、用例或其他行为的执行进交互对操作、用例或其他行为的执行进行建模。行建模。交互(交互(1/2)

5、 消息是对象间的单向通信,从发送者到消息是对象间的单向通信,从发送者到接受者的携带信息的控制流。消息可能接受者的携带信息的控制流。消息可能带有对象间传送的值和参数。消息可能带有对象间传送的值和参数。消息可能是信号(显示的、异步的、命令的对象是信号(显示的、异步的、命令的对象通信)或调用(具有返回机制的同步操通信)或调用(具有返回机制的同步操作调用)。作调用)。 消息序列可以用顺序图(重点在于消息消息序列可以用顺序图(重点在于消息的时间顺序)和协作图(重点在于交换的时间顺序)和协作图(重点在于交换消息的对象间的关系)。消息的对象间的关系)。顺序图(顺序图(1/3)顺序图(顺序图(2/3) 顺序图

6、以二维表来显示交互。顺序图以二维表来显示交互。 纵向是时间轴,时间自上而下;纵向是时间轴,时间自上而下; 横向显示了协作中单个对象的分类角色。每横向显示了协作中单个对象的分类角色。每个分类角色表现为垂直列,即时间线。个分类角色表现为垂直列,即时间线。 消息表示为从一个对象生命线到另一个对象消息表示为从一个对象生命线到另一个对象生命线的箭头。箭头自上而下按照时间顺序生命线的箭头。箭头自上而下按照时间顺序安排。安排。顺序图(顺序图(3/3) 激活,是过程的执行,它由顺序图中替代生命激活,是过程的执行,它由顺序图中替代生命线的空心矩形来显示。线的空心矩形来显示。协作图(协作图(1/6) 协作图对实现

7、协作的对象进行建模而忽协作图对实现协作的对象进行建模而忽略其他任何对象。略其他任何对象。 协作图中基本元素包括对象、消息、流、协作图中基本元素包括对象、消息、流、版型等元素。版型等元素。协作图(协作图(2/6) 协作图把对象分成四组:在整个协作中协作图把对象分成四组:在整个协作中存在的对象;交互中创建的对象存在的对象;交互中创建的对象(约束约束destoryed);交互中被销毁的对象;交互中被销毁的对象(约束约束new) ;交互中被创建和销毁的对象;交互中被创建和销毁的对象(约约束束transient) 。协作图(协作图(3/6) 协作图中消息显示为附加在链上的带标协作图中消息显示为附加在链上

8、的带标签的箭头。每个消息具有消息的顺序号、签的箭头。每个消息具有消息的顺序号、可选的前驱消息列表、可选的迁移条件、可选的前驱消息列表、可选的迁移条件、名称、参数表、可选的返回值等信息。名称、参数表、可选的返回值等信息。其中顺序号还包含可选的线索名称信息。其中顺序号还包含可选的线索名称信息。协作图(协作图(4/6) 通常一个协作图在整个操作中为一个对象分配通常一个协作图在整个操作中为一个对象分配符号。符号。 协作图中,不同的对象有时候也需要显式的标协作图中,不同的对象有时候也需要显式的标示出来。示出来。 同一对象可以多次显示,每一次均处于不同的同一对象可以多次显示,每一次均处于不同的状态之中,对

9、象状态由其属性值进行标识。状态之中,对象状态由其属性值进行标识。 协作图中采用流描述类的不同实例之间的关系,协作图中采用流描述类的不同实例之间的关系,流包括流包括become和和copy两种。两种。协作图(协作图(5/6) 表示相同对象的不同对象符号可以用表示相同对象的不同对象符号可以用become流连接。流连接。become流是对象状态至另一对象状态的变迁。它带有流是对象状态至另一对象状态的变迁。它带有 become 版型的虚线来描述,且可以用顺序号来版型的虚线来描述,且可以用顺序号来标记发生的时间。标记发生的时间。become流还可以用于表达对象位置流还可以用于表达对象位置的改变。的改变。

10、 版型版型 copy显示了通过拷贝其他对象值产生的新的显示了通过拷贝其他对象值产生的新的对象。(很少使用)对象。(很少使用)协作图(协作图(6/6)思考思考 请比较顺序图和协作图,并讨论它们的应用场景。请比较顺序图和协作图,并讨论它们的应用场景。顺序图和协作图都显示了交互,但是它们的侧重点不同:顺序图和协作图都显示了交互,但是它们的侧重点不同:顺序图显示了时间次序,但没有显式指明对象之间的关系;顺序图显示了时间次序,但没有显式指明对象之间的关系;协作图清晰的显示了对象间的关系,但实践次序必须从顺协作图清晰的显示了对象间的关系,但实践次序必须从顺序号中读取。序号中读取。鉴于此,顺序图常常用于场景的表示,协作图则在展示过鉴于此,顺序图常常用于场景的表示,协作图则在展示过程细节时更适用。程细节时更适用。模式(模式(1/2) 模式是一个参数化的协作,具有表示何时使用模式是一个参数化的协作,具有表示何时使用该协作的标示。参数可以被不同的值替代从而该协作的标示。参数可以被不同的值替代从而产生不同的协作。当模式实例化时,它的参数产生不同的协作。当模式实例化时,它的参数手限于类图中的实际类或受限于更大的协作中手限于类图中的实际类或受限于更大的协作中角色。角色。 模式用一个虚线椭圆表示,椭圆用标记有角色模式用一个虚线椭圆表示,椭圆用标记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论