上一篇我们谈到交互图有顺序图和协作图,本文总结下我对协作图的理解,希望多多交流。

主要内容:

定义

协作图(也叫合作图)是一种交互,强调的是发送和接收消息的对象之间的组织结构。

一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。

使用协作图来说明系统的动态情况。

协作图使描述复杂的程序逻辑或多个平行事务变得容易。

构成

①角色

②对象

协作图包含类元角色和关联角色,而不仅仅是类元和关联。

③连接

④消息

协作图中的消息,由标记在连接上方的带有标记的箭头表示。

为什么要使用协作图

协作图作为一种在给定语句中描述协作中各个对象之间的组织交互关系的空间组织结构图形化方式,在私用其进行建模时,可以将其作用分为三个方面:

1 通过描绘对象之间的消息的传递情况来反映具体的使用语境的逻辑表达。一个使用情景的逻辑可能是一个用例的一部分,或是一条控制流。这和序列图的作用类似。

2显示对象及其交互关系的空间组织结构。协作图显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接。

区别(和顺序图的比较)

协作图用于表示对象间的消息往来。虽然序列图在某种定义上也能表示对象的协作动作,但能明确描述对象间的协作关系的还是协作图。

与顺序图相比,他们虽然都属于交互图。但顺序图侧重时间顺序,而合作图侧重对象间的关系。

协作图

以下是机房收费系统中一个上机协作图。(点击查看大图)

协作图(Collaboration diagram)——UML之图七相关推荐

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

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

  2. UML 时序图与协作图

    今天小编终于把所有的图都画完啦,在建好系统用例图以及类图基础上分析和设计系统的动态图(结构行为图)并且建立相应的动态模型. 动态模型:描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统的瞬 ...

  3. UML时序图(Sequence Diagram)学习笔记

    UML时序图(Sequence Diagram)学习笔记 原创 SuperMan-zhang 最后发布于2018-07-04 14:37:25 阅读数 94844 收藏 发布于2018-07-04 1 ...

  4. uml 时序图_UML学习-14种UML图

    14种UML图 统一建模语言是一种标准化的通用建模语言,现在由对象管理组 (OMG)作为实际行业标准进行管理.UML 包括一组图形表示技术,用于为软件密集型系统创建可视化模型. 在 UML 2.2 中 ...

  5. uml各类图--完整全面实例

    转自http://www.cnblogs.com/wangkangluo1/archive/2013/02/21/2920606.html 四.UML建模工具 比较流行的有Rational Rose ...

  6. c uml mysql_UML图不包括()。

    3)UML 2.0中的图 UML 2.0包括14种图,分别列举如下: (1)类图(class diagram):类图描述一组类.接口.协作和它们之间的关系.在00系统的建模中,最常见的图就是类图.粪图 ...

  7. UML类图-从入门到放弃

    欢迎来到UML类图的世界 较为官方式的解释,UML 这三个字母的全称是 Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. UML 的模型 ...

  8. 23种设计模式【全】 包含:模式定义 使用场景 实现步骤 优缺点 模式区别 UML类图 示例代码 注意项等

    23种设计模式(全) ***项目地址***:[GitHub](https://github.com/yjhroot/design-pattern) 声明 模式分类(3大类) 创建型模式(共5种) 结构 ...

  9. [工具使用]——时序图与UML类图

    文章目录 时序图 定义 作用 组成元素 1. 角色(Actor) 2. 对象(Object) 3. 生命线(Lifeline) 4. 控制焦点(Focus of Control) 5. 消息(Mess ...

最新文章

  1. oracle10g删除asm组,Oracle 10G RAC 删除已有节点
  2. python手机版编程-手机编python
  3. 在虚拟机安装OpenSuse Tumbleweed
  4. 参考使用CSDN-markdown编辑器以及复杂表格编辑
  5. python数据包分析_packet_analysis: 数据包分析工具
  6. 快照设计 电商系统_电商系统设计之购物车
  7. Java编译和执行模式包括两种,Java程序的编译和执行模式包括2点,是【 】和半解释。...
  8. Vue的基本环境搭建
  9. PNG文件格式具体解释
  10. Flexsim——初学AGV必看的知识点(如何解决AGV在不同区域speed不同)
  11. 树莓派Pico上手初体验,Hello world 双核MCU
  12. 资本为什么爱“吃面”?
  13. 【考研英语】阅读理解词汇注释
  14. Windows Terminal 使用及美化
  15. 联想G40-70固态安装教程(实际操作经验)
  16. 效率评价方法--数据包络分析
  17. OA办公系统,推动企业管理革新
  18. win7 计算机名称 ip6,Win7系统为什么会出现IPV6无网络访问权限?
  19. 怎么实现角色权限的分配_Choerodon猪齿鱼实践之角色管理
  20. 画论43 王世贞《艺苑巵言·论画》

热门文章

  1. 严重: Servlet.service() for servlet [springmvc] in context with path [] threw exception [Request proce
  2. 2021年网络系统管理网络模块show
  3. bms中soh计算方式_储能电站bms的电池soh估算方法
  4. 青云服务器上禁用Ubuntu14.04的ipv6
  5. RS-485通信和ModBus详解
  6. 区块链游戏中的网络效应:内容仍为王
  7. 能量时域空间物理_2.1时域数学建模,二阶系统阻尼比与品质因数存在这样奇妙的关系...
  8. 题目: 输入某年某月某日,判断这一天是这一年的第几天
  9. 他山之石 | 丁香园 医疗领域图谱的构建与应用
  10. 业余爱好者,学习JAVA在实际中有什么用途?