rational rose协作图_软件工程专题:UML通信图

4a0df0e2eef2a8803e8bc7cef7ff8a06.png

关注BeTester,学习更多知识

让碎片成体系,让测试更专业

92cad2f71f3d2ad2dc8bbb4a0732a974.png

1、概述

通信图(Communication Diagram),也叫协作图(Collaboration Diagram),描述了对象与对象之间的协作/合作关系,侧重说明对象的消息传递,强调发送和接收消息的对象之间的组织结构。通信图的建模结果用于获取对象的职责和接口。

通信图中,对象通常是命名或匿名的类实例,也可以代表其他事物的实例。通信图描述了系统的动态情况,通过对象之间的消息传递来反映具体使用语境,使复杂的程序逻辑更容易理解。

  1. 自UML 2.0 之后,不再使用协作图,都统一使用通信图。
  2. 动态图是从静态图中抽取瞬间值的变化描述系统随时间变化的行为。动态图包括通信图、活动图、状态图等。

PlantUML并不支持通信图的语法,可以通过其他的替代方案来实现通信图的描绘,如Rose、StarUML、Visio,甚至是PPT或Word。

2、通信图元素

通信图由三部分组成:对象(Object),链(Link) 和消息(Message)。

2.1 对象

对象,即类的实例,是为了共同完成某个目标的群体,通信图中主要描述在完成目标过程中,对象所参与的那部分活动。通信图中的对象与顺序图中的对象一样,使用人形图案或矩形来表示,如下图,其中a表示实例名,A表示类名。

3abb242c798c57ba24541c934dc87c5c.png

2.2 链(对象关联)

在通信图中,链由一个或多个相连的线(直线或弧线)形成,链的两端是消息发送者和消息接收者,并且消息发送者与消息接收者可以是一样的。

对象之间的箭头方向表明对象之间交换的信息流,一个对象发出消息,箭头指向对象接收消息。链用于实现消息的传输。

与类的关系不同,通信图中的链是临时关联,只在本次交互中存在,而类的关联是永久的。

2.3 消息

通信图是通过一系列的消息来描述系统的动态行为。消息可以分为四种类型:

  1. 简单消息:指示消息类型未知或不重要的消息,可默认都使用简单消息替代。
  2. 同步消息:表示前一个消息处理完成后才能处理下一个消息。
  3. 异步消息:表示处理流不需要等到消息完成或传递反馈后才继续执行。
  4. 反身消息:对象自身内部的消息处理。

c5a8be3b10f8c0467f3968caddc61a50.png

3、通信图与顺序图差异

3.1 相同点

  1. 具备相似的责任主体
  2. 都是通过消息驱动
  3. 具有顺序性

3.2 不同点

  1. 通信图中,对象无法创建和撤销,位置没有限制。
  2. 协作图展示对象间的关系使得更适用于获得对象结构的理解,顺序图则更适合获取调用过程的理解。
  3. 顺序图强调的是时间顺序,通信图强调的是空间的顺序。
顺序图和通信图是可以相互转换的。

4、实例

4.1 数据库登录

4.1.1 数据库登录顺序图

8b034f9f4690acf7e8f91a950d18890a.png

4.1.2 数据库登录通信图

79fbd0c11ca21fdbe8a8915b1d4c6418.png

4.2 赤壁之战

4.2.1 赤壁之战顺序图

29891b310eec49a226f4d7d06b3504ae.png

4.2.2 赤壁之战通信图

bca7a0568037c2f90d552209163a9b38.png

5、小结

通信图强调了发送者和接收者对象之间的组织结构,通过通信图可以快速获取对象的职责和接口。

—— 更多文章 ——

  • 软件工程专题:UML顺序图
  • 软件工程专题:UML用例图
  • 软件工程专题:UML类图
  • 软件工程专题:Plant UML实践
  • 软件工程专题:UML简介
  • 软件工程专题:看板
  • 软件工程专题:Scrum框架
  • 软件工程专题:极限编程
  • 软件工程专题:敏捷开发流程
  • 软件工程专题:软件工程概述

15cda3680728b957496bb7bfccaadc23.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值