协作图中表示了角色之间的关系,通过协作图限定协作中的对象或链。协作指的是在一定的语境中一组对象以及实现某些行为的对象间的相互作用。

协 作图是表现对象协作关系的图,表示了协作中作为各种类元角色的对象所处的位置。图中主要显示了类元角色和关联角色,类元角色表示参与协作执行的对象的描 述,对象可以参与一或多个协作;关联角色表示参与协作执行的关联的描述。类元角色和关联角色描述了对象的配置和当一个协作的实例执行时可能出现的连接。在 一个协作中,描述了该协作所有对象组成的网络结构以及相互发送消息的整体行为,表示了潜藏于计算过程中的三个主要结构的统一:数据结构,控制流和数据流。

从 结构上,协作图和对象图一样,包含了一个角色集合和它们之间定义了行为方面的内容的关系,从这个角度上说,协作图也是类图的一种,但静态视图描述了类固有 的内在属性,协作图描述了类实例的特性。从行为上,协作图和序列图一样,包含了一系列消息的集合,这些消息在具有某一角色的各对象间进行传递交换,互相协 作达到目标。

协作图中的涉及的对象可以标识为四个组:存在于整个交互作用中的对象,在交互中创建的对象,在交互中销毁的对象,在交互中创建并销毁的对象。

在UML中,协作图中的类元角色表示为类的符号,也就是矩形,关联角色表现为实现的关联路径,路径上带有消息符号。如果关联线上标有消息,图形就可以表示一个交互,一个全国性用来表示一个操作或用例的实现。

协作图的作用

协 作图是在一种给定语境中描述协作中各个对象间的组织交互关系的空间组织结构的图形化方式,从定义中可以分析它的作用为:对象间消息的传递来反映具体的使用 语境的逻辑表达,一个使用情境的逻辑可能是一个用例的一部分或是一条控制流;它的交互关联显示对象交互的空间组织结构,显示一种对象间的关系,而不注重顺 序;表现一个类的操作实现,协作图中可以说明类操作中使用的参数,变量,返回值。当表现一个系统的行为时,消息编号对应了程序中嵌套调用的结构和信号传递 过程。

序列图常用来表示方案,协作图用于过程的详细设计。

协作图的组成

协作图由对象,消息,链等构成。

对象:类的实例。对象的角色表示一个或一组对象在完成目标的过程中所起的部分作用。对象是角色所属类的直接或间接实例,在协作图中,一个类的对象可能充当多个角色。

对象名:类名

消息:消息用来描述系统动态行为,它是从一个对象向另一个或几个对象发送信息,或由一个对象调用另一个对象的操作。由三部分组成:发送者,接收者,活动。

消息用带标签的箭头表示,它附在链上。链连接了发送者和接收者,箭头所指方向为接收者。每个消息包括一个顺序号以及消息的名称,其中顺序号标识了消息的相关顺序。消息的名称可以是一个方法,包含名字,参数表,返回值。

链:表示两个或多个对象间的独立连接,是关联的实例。协作图中,关联角色是与具体语境有关的暂时的类元之间的关系,关系角色的实例也是链。链表示为一个或多个相连的线或弧。

例:

原文:http://www.cnblogs.com/jams742003/

UML(5)——协作图的更多相关文章

  1. [UML]UML系列——协作图(通信图)collaboration diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  2. UML之协作图

    面向对象动态建模,用于建立行为的实体间行为交互的四种图,状态图(Stage Diagram),时序图(Sequence Diagram),活动图(Activity Diagram)前面的博客中,我们已 ...

  3. 【UML】协作图Collaboration diagram(交互图)(转)

    http://blog.csdn.net/sds15732622190/article/details/49402269 前言         学完UML时序图,就要看一下UML协作图,因为两张图是相 ...

  4. UML: 协作图

    摘自http://www.umlonline.org/school/thread-38-1-1.html UML1.1时,协作图英文名字叫:Collaboration Diagram,UML2.0时, ...

  5. (五)UML之协作图

    一.什么是协作图? 顾名思义协作图就是合作图,有合作就涉及到多个对象. 协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(in ...

  6. UML简介

    Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型 ...

  7. [UML]UML系列——状态机图statechart diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  8. UML(统一建模语言)

    最近看了一个UML图,所以特意来了解一下UML 统一建模语言 锁定 同义词 UML(统一建模语言)一般指统一建模语言 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Unified Mo ...

  9. 设计模式-UML类图基础

    设计模式之序-UML类图那点事儿 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书 ...

  10. 设计模式之序章-UML类图那点事儿

    设计模式之序-UML类图那点事儿 序 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐 ...

随机推荐

  1. Html5实践之EventSource

    最近尝试了一下服务器端的推送,之前的做法都是客户端轮询,定时向服务器发送请求.但这造成了我的一些困扰: 1:轮询是由客户端发起的,那么在服务端就不能判别我要推送的内容是否已经过期,因为我很难判断某个信 ...

  2. opencv2学习:计算协方差矩阵

    图像的高级处理中,协方差矩阵计算是必不可少的,但opencv关于这方面的资料却相当少. 首先,利用matlab计算一下,便于比较: >> data=[1,2,3;10,20,30] dat ...

  3. 自定义progressBar的旋转圆圈

    在手工打造下拉刷新功能 自带的progressBar太丑了 做个也不费事,一个简单的圆形 旋转动画加type是sweep的gradient渐变 <rotate //旋转动画xmlns:andro ...

  4. xcode 出现the file couldn't be opened 怎么解决

    右键——show In finder——显示xcode包内容——将有数字的删除——把有用的xcode双击

  5. ANSI,UTF8等等这些格式

    之前一直在纠结这些格式到底有什么区别,有时候因为格式的问题会让人抓狂. 下面通过实战来分析下: 下面在windows上建立一个txt文档.txt的优势是没有文件头,这样比较好分析. ANSI格式: 可 ...

  6. 20145222黄亚奇《Java程序设计》第3周学习总结

    学号 <Java程序设计>第X周学习总结 教材学习内容总结 第四章: 类是对象的设计图,对象是类的实例. 参考名称与对象数据成员同名时,可以在数据成员前使用this区别. =是用在指定参考 ...

  7. Jmeter测试webocket协议

    Jmeter本身不支持websocket协议的,所以需要安装第三方的插件还有6个依赖包. 首先,我们需要准备Jmeter的WebSocket协议的支持插件: JMeterWebSocketSample ...

  8. 使用线程池模拟处理耗时任务,通过websocket提高用户体验

    前言 在文章开始之前,询问一下大家平时工作中后端处理批量任务(耗时任务)的时候,前端是如何告知用户任务的执行情况的? 楼主对这个问题想了下,决定使用websokect将这一过程展现给用户. 于是就有了 ...

  9. VS一般设置(字体,背景色)

    字体 打开工具=>环境=>字体和颜色,字体:Consolas,大小:13 背景色 缩进设置 工具=>文本编辑器=>纯文本=>制表符=>保留制表符

  10. 按照需要分别率长宽比导出图片(python 3)

    效率提升的问题 之前朋友需要把大量的图片用分辨率进行区分查找,他说都是打开图片,然后用尺子在屏幕上量......我也是瀑布汗....花的点时间帮他写的小软件,解决这个蛋疼的问题 解决方案 本想用批处理 ...