我们对软件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. [BZOJ4627][BeiJing2016]回转寿司(线段树)

    从左到右处理,设到当前数R的前缀和为cnt[i],则以i为右端点的合法的区间左端点j必然是L<=cnt[i]-cnt[j-1]<=R,即cnt[i]-R<=cnt[j-1]<= ...

  2. [BZOJ4517][SDOI2016]排列计数(错位排列)

    4517: [Sdoi2016]排列计数 Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 1616  Solved: 985[Submit][Statu ...

  3. dubbo基础(初学习dubbo)

    1. 扩展   Soap是webService协议.是http+xml. Rest ful是http+json.相对于soap来说rest ful就是轻量的,因为==.   Rpc与soa区别? Rp ...

  4. Codeforces Beta Round #4 (Div. 2 Only) A. Watermelon 水题

    A. Watermelon 题目连接: http://www.codeforces.com/contest/4/problem/A Description One hot summer day Pet ...

  5. [原]Redis使用场景及使用经验

    Redis is an open source (BSD licensed), in-memory data structure store! 欢迎转载,转载请注明出处 刚刚结束一个游戏类的活动项目, ...

  6. 参加SAP VT项目有感

    凡事预则立,不预则废. 没有接到录取电话还是有些悲伤的,虽然知道最终被录取的可能性不大,但是之前还是抱着一丝期望的,毕竟是自己的处女面,就这么以失败的结果结束了. 从最开始的投递简历,到后来的电话面试 ...

  7. spring ioc 理解

    springIOC 作用 springIOC 是sprig的特性.称作控制反转.将对象的创建,初始化,销毁,交给spring容器管理. 原理 在spring容器启动的时候,通过反射的方式,主动加载(或 ...

  8. JVM堆内存的分代

    虚拟机的堆内存共划分为三个代:年轻代(Young Generation).年老代(Old Generation)和持久代(PermanentGeneration).其中持久代主要存放的是Java类的类 ...

  9. .NET 中字符文本中的字符太多 错误处理

    错误截图   问题描述    在ASP.NET中使用多层引号,要引起注意,引号使用不当会引起“字符文本中字段太多”编译错误!今天我就遇到了这个错误,整理于此!     “字符文本中字段太多”错误提示过 ...

  10. RapidSVN的使用

    RapidSVN是一个可视化 SVN 客户端,运行速度快,简单易用,现在很多已经做成做成便携版,安装都不用.小乌龟那个SVN感觉太复杂了...不妨试下这个. 1.下载安装 2.运行RapidSVNPo ...