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

首先通信图一样是一种交互图,它描述的是对象和对象之间的关系,即一个类操作的实现。简而言之就是,对象和对象之间的调用关系,体现的是一种组织关系。

通信图中的元素主要有对象、消息和链三种。对象和链分别作为通信图中的类元角色和关联角色出现,链上可以有消息在对象间传递

从结构方面来看,通信图包含了一个对象的集合并且定义了它们之间的行为方面的关系,表达了一些系统的静态内容。

从行为方面来看,通信图包含了在各个对象之间进行传递交换的一系列的消息集合,以完成协作的目的。

通信图是一种描述协作在某一语境下的空间组织结构的图形化方式,在使用其进行建模时,主要具有以下三个作用。

1)通过描绘对象之间消息的传递情况来反映具体使用语境的逻辑表达。

2)显示对象及其交互关系的空间组织结构。

3)表达一个操作的实现。

通信图的组成元素: 对象、链、消息

对象

  通信图中的对象与顺序图中对象的概念相同,都是表示类的实例。

  通信图只关注相互有交互作用的对象和对象关系,而忽略其他对象。

  由于通信图中不表示对象的创建与销毁,因此,对象在通信图中的位置没有限制。

  与顺序图中对象的表示法不同的是,通信图中的无法显示对象的生命线。

  通信图中的链与对象图中的链在语义以及表示法上都相同,都是两个(或多个)对象之间的独立连接,是关联的实例。链同时也是通信图中关联角色的实例,其生命受限于协作的生命。

  链连接的两个对象之间允许在交互执行过程中进行消息传递和交互。UML也允许对象自身与自身之间建立一条链。链可以通过对自己命名来进行区分和说明,也可以仅仅做连接而不进行命名。

消息

  通信图的消息需要附加在对象之间的链上,链用于传输或实现消息的传递。

  通信图中的消息通过在链的上方或下方添加一个短箭头来表示,通常需要使用阿拉伯数字作为序号来表示通信图中发送消息的顺序。

通信图与顺序图的异同点:

通信图与顺序图的共同点主要有如下3点:

1)主要元素相同。两种图中的主要元素都是对象与消息,且都支持所有的消息类型。

2)表达语义相同。两种图都是对系统中的交互建模,描述了系统中某个用例或操作的执行过程,二者的语义是等价的。

3)对象责任相同。两种图中的对象都担任了发送者与接收者的角色并承担了发送与接收消息的责任。通过对象之间消息的传递来实现系统的功能。

两种图之间的不同点也有如下3点:

1)通信图偏重于将对象的交互映射到连接它们的链上,这有助于验证类图中对应的类之间关联关系的正确性或建立新的关联关系的必要性。然而顺序图偏重描述交互中消息传递的逻辑顺序。因此通信图更适用于展示系统中的对象结构,而顺序图则擅长表现交互中消息的顺序。

2)顺序图可以显式地表现出对象创建与撤销的过程,而在通信图中,只能通过消息的描述隐式地表现这一点。

3)顺序图还可以表示对象的激活情况,而对于通信图来说,由于缺少表示时间的信息,除了对消息进行解释,无法清晰地表示对象的激活情况。

通信图与顺序图对比

                时序图

                通信图

通信图建模技术

按组织对控制流建模

  识别交互的语境,即交互所处的环境。

  识别出图中应该存在的对象。

  识别可能有消息传递的对象并设置链。

  设置对象间的消息。

  如果需要更多约束,如时间或空间的约束,可以使用其他的约束来修饰这些消息。

案例(1)添加新书

案例(2)学位初评

  教务人员通过学号在学位初评系统查询学生的初评情况。学位初评系统分别在成绩管理系统、奖罚管理系统、毕业设计管理系统查询成绩、奖罚、毕业设计情况。并根据情况生成学位初评结果,通过信息打印模块打印初评情况。

案例(3)登录系统

案例(4)添加用户信息

UML协作图(通信图)——软件需求分析与设计相关推荐

  1. UML 协作图(通信图) collaboration diagram

    1. 什么是协作图 强调的是发送和接收消息的对象之间的组织结构.一个UML协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息.对象通常是命名或匿名的类的实例,也可以代表其他事物的 ...

  2. UML类图-软件需求分析与设计(很详细,很详细,很详细)

    UML之类图 类图的定义:是显示一组类.接口.协作以及它们之间关系的图. 类图主要包含7种元素:.类.接口.协作.依赖关系.泛化关系.实现关系.关联关系. 类图:包.子系统,用来把模型元素聚集成更大的 ...

  3. UML时序图-软件需求分析与设计

    时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的.顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序.时序图中包括的建模元素主要有:对象(Actor) ...

  4. 软件需求分析与设计 课后小测验 知识点总结 东北大学

    1.1软件开发的本质 软件开发的本质困难定义了不变事实 两组 主要的利益相关者是客户和开发者 增量版本并不是向软件产品增加新的功能,增量改进非功能性的软件质量,如软件的正确性.可靠性.耐用性.性能等. ...

  5. UML用例图-软件需求分析与设计(很详细,很详细,很详细)

    用例图 用例图是用来描述系统功能的技术,表示一个系统中用例与参与者及其关系的图,主要用于需求分析阶段. 用例图的基本组成元素:参与者.用例.元素之间的关系. 用例图使用范围:需求分析 1.捕获需求.描 ...

  6. 1.用Python写了一个进销存管理的软件~需求分析界面设计数据库设计技术路线选择~

    一.需求分析 总体来说,就是一个在游泳馆使用的进销存管理软件,记录商品的入库.出库情况,以及统计销售的金额等~ 整个系统有三类用户,系统管理员.公司管理员和公司销售员,系统管理员负责录入公司信息以及分 ...

  7. PowerDesigner顺序图(时序图)生成协作图(通信图)

    右键即可

  8. 基于Andriod的美图软件的设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/86156646 资源下载地址:https://download.csdn.net/downl ...

  9. 【软件分析】软件分析、设计与建模迭代式详解

    软件分析.设计与建模迭代式详解 1.introduction 1.1 OOA/D 1.2 Iterative, Evolutionary, and Agile 2.Case Study and Req ...

最新文章

  1. Delphi 2010 secondsBetween Bug
  2. 【对讲机的那点事】带你玩转灵通LT33公网集群对讲机
  3. 可通过http获取远端服务信息_微服务基础——厉害了!API网关
  4. element-ui 2.4.3 如何实现对form部分字段验证的解决方法?
  5. numpy二维数组改变某些数_【每天15分钟,5天学会NumPy】第1天:基本概念
  6. 区县政府网站群建设新思路
  7. code的bootstrap如何有提示 vs_如何用DataFocus对Excel表中数据进行分析?
  8. 学生开源项目_吸引学生加入您的开源项目的9种方法
  9. 操作mysql_操作mysql
  10. html两个字段自动相加,HTML_两个并列的div让其根据内容自动保持同等高度,我们看下下面这个问题:有左 - phpStudy...
  11. 在有空字符串的有序字符串数组中查找(二分)
  12. iOS 面试常问考点
  13. JavaScript - 理解面向对象编程
  14. ILSpy .NET反编译工具下载地址
  15. java 判断session失效_session过期时间设置和判断session是否过期
  16. 复旦大学《高等代数学(第三版)》教材习题答案
  17. 集合体系结构、Collection集合概述及常用方法(附迭代器遍历对象实例)、List(附子类LinkedList、ArrayList特点)、ListIterator、并发修改异常、增强for
  18. 计算机机水平,湖南省计算机水平等级题型知识点及评分机机制介绍.doc
  19. 向武 清华大学 计算机,双胞胎兄弟向威、向武同时考上清华大学
  20. 项目管理知识体系指南 PMBOK(第6版)十大知识领域思维导图(总览图)

热门文章

  1. 深圳seo优化分析:如何一个月把几十个关键词做到百度首页
  2. Android 11.0 系统Settings app详情页增加统计使用时长功能
  3. 实战第一步:市场调研
  4. win2008降级为成员服务器_Windows2008R2 AD降级错误解决方案
  5. 上海理工大学高校计算机补办,上海理工大学关于2017上海市高校计算机等级考试报考通知...
  6. 钉钉更新后,钉钉回放视频python下载
  7. 网络安全法所称网络 计算机,网络安全法所称网络是指由计算机或者其他信息终端及相关设备组成的按照一定的...
  8. 数据看板/商业智能分析仪表盘
  9. 【转】高清混合矩阵应用于佛山市政府大礼堂会议系统解决方案
  10. 华为云确定性运维,为政务云平台稳定可靠运行保驾护航