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

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

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

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

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

协作图的作用

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

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

协作图的组成

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

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

对象名:类名

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

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

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

例:

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

最新文章

  1. XCode日常使用备忘录
  2. 25M时钟的梁祝演奏
  3. C++ STL泛型编程——在ACM中的运用
  4. Android Preference使用
  5. create table xxx as select 与 create table xxx like
  6. hdu1269 强连通
  7. MySQL 大表优化方案探讨
  8. POJ2002 Squares(枚举)
  9. POJ 3581 Sequence(后缀数组)
  10. Linux中块设备驱动程序分析
  11. [转载]sqlserver、Mysql、Oracle三种数据库的优缺点总结
  12. C++第三课:类的使用(一)[个人见解]
  13. 2019年前端面试题 | CSS篇 (更新于4月15日)
  14. Transactional参数说明
  15. WPF DataGrid 数据绑定、样式、分页、增删改查,连接Access数据库
  16. catboost原理以及Python代码
  17. ubuntu下Sprak(IDE)wordcount例子
  18. source的简单操作
  19. springboot2.X 在项目启动后执行一段自定义代码
  20. train validation test

热门文章

  1. 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。
  2. ios 定位 航向检测
  3. [MetaHook] Load large texture from model
  4. python中的模块
  5. IT男的”幸福”生活"续7
  6. 用css画出对话框
  7. openwrt的路由器重置root密码
  8. express 笔记 app.helpers 和 app.locals
  9. sql server 清空数据库表数据
  10. 05.C#泛型类型(三章3.1-3.2)