- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
交互视图—协作图
第十章 交互视图——协作图(Collaboration Diagram) 任课老师:黄武 提纲 协作图概述 协作图内容 协作图和顺序图之间的关系 协作图建模技术 UML语言协作图图标 1 协作图概述 协作图(Collaboration diagram)是一种交互图,是动态视图的另一种表现形式,强调的是发送和接收消息的对象之间的组织结构 协作图可以被视为对象图的扩展,它除了展现出对象之间的关联外,还显示了一系列对象之间的消息传递 协作图和顺序图都是交互视图,他们是表达同一信息的两种方式 1.1 对象图和协作图 对象图表示特例 1.1 协作图的组成 协作图强调参与一个交互的对象的组织,它由以下基本元素构成:活动者(Actor),对象(Object),连接(Link)和消息(Message) 协作图和顺序图的组成非常相似,它们之间可以相互转换 顺序图由哪些基本元素组成? 1.2 协作图的表示 在UML中,连接使用实线表示 消息由标记在连接上方的带有标记的箭头表示 连接实线附近的箭头线表示对象之间传递的消息,指向接收消息的对象;而消息名称,参数和序号标在箭头上方 2 协作图的内容 协作(Collaboration) 类元角色(Classifier role) 交互(Interaction) 关联角色(Association roles) 多对象(Multi - Object) 返回结果(Return results) 同步(Synchronous) 2.1 协作(Collaboration) 协作(Collaboration)定义了一组对象,它们按照支持给定交互的方式相互联系 协作通常使用一个对象图定义,该对象图显示特定的一组连接对象,然后通过在这个对象图中增加消息来表示交互 2.2 类元角色(Classifier role) 直接使用对象图+消息来表示协作图有些缺陷,就银行系统账户转账的例子而言: a1和a2仅表示一个特例 对象图仅能表示固定数据的对象和他们之间的连接 一些操作在不同的场合可能会展示不同的可能,比如根据条件进行分支 为了达到所需的一般性,UML中的协作通常不是显示对象,而是显示这些对象的角色 2.2.1 类元角色定义 对象在交互图中可以扮演的角色被称为类元角色(classifier role)。类元角色具有一个名字和一个基类(base class) 比如银行转账例子,我们用借方代替一个账户,贷方表示另外一个账户 2.2.2 类元角色说明 类元角色以斜杠开始,然后是角色名,然后是冒号,最后是基类 角色的名字下面不加下划线,表示类元角色不是实例,而是更一般的概念 在交互图中,充当特定角色的对象必须是该角色的基类的实例,说明类元角色的特性的唯一方法是命名一个基类 UML中,并不总是清楚地区分对象和类元角色 2.3 交互(Interaction) 交互( Interaction )是协作中的一组消息集合,这些消息被类元角色通过关联角色交换 一个协作图可以包含一个或多个交互,每个交互描述了一系列消息,交互中的对象为了达到目的而交换这些消息 2.4 关联角色(Association role) 关联角色(Association role)是对象之间关联的抽象。协作中的类元角色通过关联角色进行连接 关联角色很少用角色名标注 对象能够连接的一种方式是,在它们的类之间存在一个定义的关联,该关联被称为这些关联角色的基关联(base association) 2.4.1 关联角色的构造型 两个类之间的关联暗示了这两个类的实例可以链接,并且可以在它们之间发送消息 UML区分下面一些一个对象访问另一个对象的不同方式,用这种方式访问另一个对象就好像能够向它发送消息一样 一个对象可以被作为消息的参数(parameter)传递给另一个对象。在编程语言中通过传递该对象的引用实现 2.4.1 关联角色对象间的访问方式 操作的实现可以创建任何类的局部实例(local),然后在操作执行期间向这些对象发送消息 如果存在任何全局变量(global),一个对象可以向保存在这样的变量中的对象发送消息 对象永远可以向自己(self)发送消息,即使没有定义明确的“到自己的链接” 2.4.2 关联角色构造型 关联角色构造型表明类元角色之间的链接方式,包括:参数(parameter),局部(local),全局(global),自己(self)以及关联(association),association 表明关联实例,这是默认值 2.5 多对象(multi-object) 说明与类元角色相关的重数信息的另一种表达方式是使用多对象(multi-object) 多对象不是表示一个角色可以有很多对象充当,而是代表该多对象的基类型的多个对象的集聚(collection) 在技术
文档评论(0)