我们对软件project这一大块的学习事实上開始的还是挺早的,而且在后来的学习过程中也不断的涉及到了这些知识。

可是,经过软考的检验来看我对软工这一块的内容掌握的实在是慘不忍睹。基本上就是一出手就错一出手就错。

而UML图则是是软工中比較重要的内容了。在下午题遇到通信图时主要的状态就是不知其所云,不知所措。

所以说。软工这一块的内容的学习都是有问题的。由于载在了通信图上,本篇博客就先对通信图做一个简单的回想。

通信图

    首相通信图一样是一种交互图,它描写叙述的是对象和对象之间的关系,即一个类操作的实现。

简而言之就是。对象和对象之间的调用关系。体现的是一种组织关系。

组成元素

    对象:图中矩形元素即对象。当中冒号前面部分为对象名,后面部分为类名。即表示一个类的实例。当消息是给对个对象发的时,接收方用重叠的矩形表示。

參考后面多态和广播的图例。
    链接:链接用来在通信图中关联对象。目的是让消息在不同系统对象之间传递。能够理解为链接是公路。消息是车。

用两个对象之间的单一线条表示。

    消息:是通信图中对象与对象之间通信的方式。消息具有例如以下类型与符号表示。

     消息中另一些须要了解的知识
     ①监护条件:表示仅仅有当满足条件时才进行通信。形式是在通信消息前增加条件语句如图以打印机的部分为例。当打印机繁忙时待打印文件进入队列等待:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1b2ppYWppbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

      ②广播消息:消息前加*号,同一时候在消息后加上<<broadcast>>

             
   

      ③多次发送

      ④多态

与时序图的关系

    时序图和通信图都是交互图,仅仅只是他们的关注点有所区别。时序图着重于时间顺序,而通信图则关注的是对象之间的组织关系。通信图中的时间顺序能够从消息序号中获得。在语义上这两个图是等价的能够互相转换而不会丢失信息。借以下的样例看看:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1b2ppYWppbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

与类图的关系

    由上面的通信图能够看出,通信图是将类实例化之后的调用关系。这里能够用中国象棋来理解一下。类图就好比棋子,而通信图则是详细的某一局对弈。

    最后:博客自此结束,当中的图片来自于一个ppt和一篇博客。关于通信图大概就是这个样子 了,问题是我常常太过注重于规律的东西。惯性思维在作祟。像这次突然类型一换就差点儿没有战斗力。

所以的应对变化的能力还是有待提高。造成这样的问题的解决办法的实质是,对总体把控的缺失和太过注重于某个点而忽略的其它的同等重要的东西。就这次来说。本身并非通信图不重要,可是我却下意识忽略了它。

UML回想-通信图的更多相关文章

  1. 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. Python设计模式 - UML - 通信图(Communication Diagram)

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

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

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

  6. 协作图(通信图)collaboration diagram

    协作图(通信图)collaboration diagram 系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UM ...

  7. 【二】、UML基础知识——图图解乾坤

    [二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...

  8. [UML]UML系列——时序图(顺序图)sequence diagram

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

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

    关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...

随机推荐

  1. [BZOJ2402]陶陶的难题II(树链剖分+线段树维护凸包+分数规划)

    陶陶的难题II 时间限制:40s      空间限制:128MB 题目描述 输入格式 第一行包含一个正整数N,表示树中结点的个数. 第二行包含N个正实数,第i个数表示xi (1<=xi<= ...

  2. 【bzoj1875】【JZYZOJ1354】[SDOI2009]HH去散步 矩阵快速幂 点边转换

    http://172.20.6.3/Problem_Show.asp?id=1354 http://www.lydsy.com/JudgeOnline/problem.php?id=1875  题意: ...

  3. windows下eclipse搭建android_ndk开发环境

    安装cygwin: 由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux ...

  4. JDK源码(1.7) -- java.util.Queue<E>

    java.util.Queue<E> 源码分析(JDK1.7) -------------------------------------------------------------- ...

  5. When to use static method in a java class

    First , please understand its feature : * no need to instantiate a instance, i.e. simply you can jus ...

  6. apache&mod_wsgi&django部署多个项目

    今天做好了第二个django项目,但在部署时出了一点小问题,在此记录一下. 1.mod_wsgi 3.4已经支持了部署多个项目,只需在httpd.conf中进行如下配置: WSGIScriptAlia ...

  7. 字符串型MySQL查询条件需要注意的一点

    最近在工作中遇到了数据库服务器产生很多读写队列的问题,于是要求大家开始优化我们的SQL语句. 下面是查询quotedata_history表中的code字段的SQL语句,其中code字段的类型是var ...

  8. 再见了,DM

        在DM奋斗了20个月之后,我终于有机会DM说再见.这我不是我第一次和DM说再见,因此我也不确定这次的再见是再也不见,还是再次见面.但有一点可以确定的是,在接下来相当长的一段时间内,我是没有机会 ...

  9. How Basic Performance Analysis Saved Us Millions-------火焰图

    ENGINEERING How Basic Performance Analysis Saved Us Millions  Michael Malis May 19, 2017 9 min read ...

  10. 数据库连接池中是将connection放进threadlocal里的

    我有几点不太明白的,望各位大侠指教下.1.j2ee的应用中,有一个用户请求就会启动一个线程.而如果我们把connection放在Threadlocal里的话,那么我们的程序只需要一个connectio ...