协作图(通信图)collaboration diagram
协作图(通信图)collaboration diagram
系列文章
[UML]UML系列——用例图中的各种关系(include、extend)
[UML]UML系列——类图class的关联关系(聚合、组合)
[UML]UML系列——类图class的实现关系Realization
[UML]UML系列——活动图activity diagram
[UML]UML系列——时序图(顺序图)sequence diagram
引言
用例图、活动图、时序图之间的关系?

时序图与协作图之间的关系

共同点:二者都是用对象间的交互来描述用例的。
案例:时序图

协作图


共同点:时序图与协作图均显示了对象间的交互。
不同点:时序图强调交互的时间次序。
协作图强调交互的空间结构。
案例剖析
这里还使用上片文章中的赤壁之战的时序图来分析。

思考:孔明向哪些对象发送了消息?又接收了哪些对象发送的消息?(可以根据这个典故,想想)
协作图


时序图按照时间顺序布图,而写作图按照空间结构布图
协作图与时序图在语义上是等价的,二者可以相互转换,而不会丢失信息。(通过上面的例子,你可能已经看出他们之间的转化关系)
协作图的构成
对象、链接、消息
对象

链接
1、链接的概念
链接用来在协作图中关联对象,链接的目的是让消息在不同的系统对象之间传递。
2、链接的符号表示
链接以连接两个对象的单一线条表示。


消息
1、消息的概念
消息是协作图中对象与对象之间通信的方式
2、消息的类型与符号表示

时序图与协作图的转换
时序图和协作图在语义上是等价的,所以时序图和协作图可以彼此转换而不会损失信息。(具体转换方式在下面Rose建模中讲到)
协作图的Rose建模
一、新建协作图
方法1:

方法2:

二、重命名协作图并双击打开

三、添加对象
方法1: a.将事先创建的类从浏览器拖到协作图中

b.双击对象,在弹出的窗口中设置对象的名称

方法2:
a.通过工具栏的对象按纽在协作图中添加一个对象

b.双击对象,在弹出的窗口中设置对象名和类

四、添加链接
用工具栏中的链接按纽进行连接

五、添加消息
方法1:
a.用工具栏上的消息按纽点击链接线

b.双击消息,在弹出的窗口中设置消息的名称

方法2:
a.双击链接线,弹出如下窗口

六、设置消息的类型

七、时序图与协作图的相互转换

总结
以上就是协作图的相关内容,希望对您有所帮助。在实际运用中,时序图用的比较多,我比较喜欢从时序图转换为协作图,其实时序图协作图,要其一就可以。不必要两种图都画,个人见解。
![]() |
作者:Wolfy |
协作图(通信图)collaboration diagram的更多相关文章
- Python设计模式 - UML - 通信图(Communication Diagram)
简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...
- UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图
状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...
- [UML]UML系列——协作图(通信图)collaboration diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- 协作图 Collaboration diagram
概述 协作图也是一种交互图,但一般用的比较少,一般用在大概分析一下对象之间是怎样交互的,跟顺序图是可以相互转化的. 协作图的用处: 在分析的时候(而顺序图一般设计的时候),分析出有哪些对象: 在白板上 ...
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- 状态机图statechart diagram
[UML]UML系列——状态机图statechart diagram 系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend ...
- UML之通信图
通信图的概念:通信图(协作图)是表现对象交互关系的图,它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链.发送的消息来显示参与交互的对象. 首先通信图一样是一种交互图 ...
- 活动图activity diagram
活动图activity diagram 系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类 ...
- UML回想-通信图
我们对软件project这一大块的学习事实上開始的还是挺早的,而且在后来的学习过程中也不断的涉及到了这些知识. 可是,经过软考的检验来看我对软工这一块的内容掌握的实在是慘不忍睹.基本上就是一出 ...
随机推荐
- CQRS模式实现
[.NET领域驱动设计实战系列]专题十:DDD扩展内容:全面剖析CQRS模式实现 一.引言 前面介绍的所有专题都是基于经典的领域驱动实现的,然而,领域驱动除了经典的实现外,还可以基于CQRS模式来进行 ...
- 数组排序、递归——(Java学习笔记二)
升序: 选择排序: 选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置 先出现最小值,最后出现最大值. public stat ...
- C++语言债券系列之十一——友元函数和拷贝构造函数
1.好友功能 (1)友元函数类的普通功能外定义. 定义友元函数和相同的正常功能.在类必须声明的正常功能为好友. (2)友元函数不是一个成员函数. 你不能反对打电话.但直接调用:友元函数访问类的公共.p ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- 【Leetcode】Sort List (Sorting)
这个问题需要与归并排序排两个名单,基本思路分为切割与合并 合并后的代码Merge Two Sorted List里已经讲得非常清楚了. 所以这里直接给出代码. public ListNode merg ...
- C#操作Excel初探
近期一段时间正好在做winform导出Excel报表的问题,学习了一下C#操作Excel的一些方法(如:向Excel中插入图片:删除Excel指定sheet中的某行或某列,在Excel指定的单 ...
- Java 测试并行编程(三)
有很多其他的交替运行 因为在并行代码中的错误一般是低概率事件.因此,试运行并发差错时需要反复多次,但是,有很多方法可以提高发现这些错误的概率 ,在前面提到的,在多处理器系统.假设 线程的数量,那么 与 ...
- JavaScript中获取当前项目的绝对路径
近期在做JavaWeb项目相关的东西,差点儿每天都遇到非常多问题,主要是由于自己对JavaWeb方面的知识不是非常清楚,尽量把自己在项目中遇到的问题都记录下来,方便以后查阅. 在我们的项目中有这种须要 ...
- 使用myeclipse将Javaj项目标ar套餐邂逅classnotfound解决问题的方法
做一件事的今天,该Java项目打包成jar文件.折腾2小时,最终运行jar文件报告classnotfound异常,我觉得程序写入依赖jar包不玩成,但是,我手动添加.或不.网上找了很多办法.或不.后. ...
- C#创建和初始化类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C_编辑 ...
