UML之通信图

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

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

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

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

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

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

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

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

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

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

对象

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

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

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

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

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

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

消息

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

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

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

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

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

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

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

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

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

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

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

通信图与顺序图对比

                时序图

                通信图

通信图建模技术

按组织对控制流建模

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

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

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

  设置对象间的消息。

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

案例(1)添加新书

案例(2)学位初评

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

案例(3)登录系统

案例(4)添加用户信息

原文地址:https://www.cnblogs.com/gd-luojialin/p/10356733.html

时间: 2024-10-11 12:45:59

UML之通信图的相关文章

UML几种图的绘制

UML几种图的绘制 UML是Unified Modeling Language(统一建模语言)的简称.UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型.源代码.测试用例等)进行可视化.详述.构造和文档化的语言. UML是一套表示法系统.UML由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户.程序员以及任何参与程序开发的人员理解的多视角的系统蓝图.不同的风险承担人通常使用不同类型的图相互交流. UML的特点有:统一的标准:UML已被OMG接受为标准的建模语

UML学习(类图和序列图等)

visio绘制UML图使用visio 提示此UML形状所在的绘图页不是UML模型图的一部分 请问这个问题怎么解决?新建->选择绘图类型->选择软件与数据库模板->选择UML模型图->注意:如果不选择UML模型图的话,可能会出现无法编辑形状文本,提示“此UML形状所在的绘图页不是UML模型图的一部分,该形状设计用于利用UML模型图模板创建的绘图”所以利用Visio绘UML图第一步就是选择绘图类型为软件中的UML模型图. 还可以参考百度云盘的UML学习资料 参考:UML中几种类间关系:

UML之序列图(Sequence Diagram)

类图描述的是类之间的静态关系,而序列图展示的是对象之间的沟通方法,描述运行时的交互关系. OOP编程语言里面合理的直接交互方式只有一种,方法调用(Event通讯是间接的).所以序列图也可以 理解为方法调用交互图.方法调用有四个元素,参与者(两个,调用者和被调用者),方法名称,输入 和输出. 参与者 参与者用一个Lifeline来表示,图像为一个矩形外加底部的一条竖线.矩形里面显示对象名,格式为 name:ClassType的样式,都为可选项,Martin Fowler推荐a Handler的格式

UML九种图之部署图和构件图

面试的时候被问到,在线性回归中,有三个假设,是哪三个? 当时回答出来自变量x和因变量y之间是线性变化关系,也就是说,如果x进行线性变化的话,y也会有相应的线性变化. 提到数据样本的时候也答道了样本点之间要求是独立同分布的(根据MLE准则,假定对样本加上高斯白噪声e的情况下). 但是第三个最终还是没有答上来,面试官也没有再给提示,所以回来自己再查一下. LR的wiki页面(http://en.wikipedia.org/wiki/Linear_regression)中,有提到了LR的假设,分别是:

浅谈UML的概念和模型之UML九种图

文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包括一个或多种图.本文我们重点解说UML每种图的细节问题: 1.用例图(use case diagrams) [概念]描写叙述用户需求,从用户的角度描写叙述系统的功能 [描写叙述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能需求 [用例图] 2.静态图 类图(class  diagrams) [概念]显示系统的静态结构,表示不同的实体是怎样相关

UML九种图 之活动图和状态图

前言     活动图和状态图组成行为图,它们是对系统的动态描述,它们之间有一定的联系搁一块儿更容易理解.本篇介绍的两个图和上一篇介绍的顺序图和协作图,共同描述系统的行为. 活动图     1. 概念      阐明了业务用例实现的工作流程.     2. 图符           1. 基本要素      活动状态.迁移.判断.保证条件.同步条.起点和终点     2. 作用      (1) 描述执行过程中完成的工作或者动作      (2) 描述对象内部工作      (3) 如何执行相关动

UML九种图 之 顺序图和协作图

前言         前面介绍的用例图.类图.包图和对象图都是对系统的静态的描述.本篇将介绍动态描述的交互图(顺序图和协作图),所以把顺序图和协作图的总结放一块儿更容易理解. 顺序图     1.概念      描述按时间先后顺序对象之间交互动作过程     2.构成      参与者.对象.消息(信号或操作调用).生命线     3.消息的分类      简单消息.同步消息.异步消息     4. 消息的几种形式      Call.Return.Send.Crate.Destroy    

UML 九种图

目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能需求 [用例图] 2.静态图 类图(class  diagrams) [概念]显示系统的静态结构,表示不同的实体是如何相关联的 [描述方

UML中的图

UML的结构分为三部分,基本构造块.公共机制.UML的规则,其中公共机制和UML的规则是为基本构造块服务的,描述了怎样将这几种图有规则的排列到一起.基本构造块又分为事物.关系.图,将事物用关系连接起来就是我们今天所说的UML中的图. 一.导图宏观把控 二.图解 1 .用例图(Use case diagrams):用来描述用户的需求.从用户的角度描述系统的功能并指出各个功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能.(是谁?在干什么?)机房收费系统中一般用户可以查询学生上机记录和自己的登