协作图(通信图)collaboration diagram

系列文章

[UML]UML系列——用例图Use Case

[UML]UML系列——用例图中的各种关系(include、extend)

[UML]UML系列——类图Class

[UML]UML系列——类图class的关联关系(聚合、组合)

[UML]UML系列——类图class的依赖关系

[UML]UML系列——类图class的泛化关系

[UML]UML系列——类图class的实现关系Realization

[UML]UML系列——包图Package

[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的更多相关文章

  1. Python设计模式 - UML - 通信图(Communication Diagram)

    简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...

  2. UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图

    状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...

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

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

  4. 协作图 Collaboration diagram

    概述 协作图也是一种交互图,但一般用的比较少,一般用在大概分析一下对象之间是怎样交互的,跟顺序图是可以相互转化的. 协作图的用处: 在分析的时候(而顺序图一般设计的时候),分析出有哪些对象: 在白板上 ...

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

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

  6. 状态机图statechart diagram

    [UML]UML系列——状态机图statechart diagram 系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend ...

  7. UML之通信图

    通信图的概念:通信图(协作图)是表现对象交互关系的图,它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链.发送的消息来显示参与交互的对象. 首先通信图一样是一种交互图 ...

  8. 活动图activity diagram

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

  9. UML回想-通信图

        我们对软件project这一大块的学习事实上開始的还是挺早的,而且在后来的学习过程中也不断的涉及到了这些知识. 可是,经过软考的检验来看我对软工这一块的内容掌握的实在是慘不忍睹.基本上就是一出 ...

随机推荐

  1. 一个SQL面试题

    面试问题都是基于 bug统计分析续(一)基于SQL的Bug统计方法 中3-2节的讨论抽象出来的. 题目:如果一张表有AC两列,怎么找各种C里不同A的数目.并列出相相应的C的值,并找出每种C下A最多的A ...

  2. SEO要领:8文章主持技巧(两)

    续篇:搜索引擎优化要领:8条辅助技巧(一) 四.检查你的robots.txt文件 与谷歌的蜘蛛通信的经常用法是使用robots.txt文件. 这是一个文本文件.同意你告诉搜索引擎,你的站点的网页上抓取 ...

  3. C语言学习_查找三分之二

    查找三分之二: #include <stdio.h> #define M 10 int main(void) { int front, near, mid1, mid2; int n; i ...

  4. IronPython和C#交互

    IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器.执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起. IronPython已经很 ...

  5. Entity Framework加载相关实体——延迟加载Lazy Loading、贪婪加载Eager Loading、显示加载Explicit Loading

    Entity Framework提供了三种加载相关实体的方法:Lazy Loading,Eager Loading和Explicit Loading.首先我们先来看一下MSDN对三种加载实体方法的定义 ...

  6. C#二维码生成与解码(二)

    本文内容在<C#二维码生成与解码>的基础上增加了纠错级别和Logo图标加入,增加了二维码的功能.关于透明度在这里没有单独显现,因为在颜色里面就已经包含,颜色值由8位8进制构成,最前面的两位 ...

  7. Jquery--仿制360右下角弹出窗口

    原文:Jquery--仿制360右下角弹出窗口 先发浏览器效果图,给大家看. 要实现这样的效果,按照思路,第一步,写好CSS布局,将图片放到浏览器右下角的位置 CSS代码很灵活,我写的只是简单的一种而 ...

  8. Apache & WebDav 配置(二)

    (二)WebDav配置 & put脚本编辑! WebDav 配置 ---------------- # 1. 修改了两个配置文件 # 2. 创建web访问用户的用户名和口令 # 3. 创建了两 ...

  9. Mac OS X于Android Kernel下载方法

    于上一篇日志中,我总结了大家提供的下载Android源代码的方法.这里再简单总结一下内核的下载方法. 參考这里的介绍:http://source.android.com/source/building ...

  10. DBUtils的使用

    DButils是apache旗下Commons项目中的一个JDBC工具包,它可以为帮助我们简化对JDBC的操作,但它并不是一个ORM框架,只是可以为我们执行sql,并将返回的ResultSet转化成我 ...