UML之协作图
面向对象动态建模,用于建立行为的实体间行为交互的四种图,状态图(Stage Diagram),时序图(Sequence
Diagram),活动图(Activity Diagram)前面的博客中,我们已经学习完,今天我们来一起学习一下协作图(Sequence Diagram)。协作图和我们前面学习过的时序图都是一种交互图,协作图强调的是收发消息的对象的组织结构。
在系统体系结构的语境中,协作既包括静态方面也包括动态方面的概念组块命名,协作为一个类、接口和其她元素组成的群体命名,他们共同工作,提供了比各个部分的总和更强的合作行为。接着,我们来看一下这一知识点的总体概览:
首先,我们需要明确的就是协作图的基本概念以及协作图有哪些作用:
了解了这些基础知识,有助于加强我们对协作图的理解,搞清楚协作图到底具有怎么样的本领,可以在UML这个大家族中利于不败之地,接下来我们来了解一下协作图的组成元素以及创建协作图的步骤:
通过前面的学习我们知道,序列图和协作图统称为交互图,其中,序列图用来描述对象之间消息发送的先后次序,阐明对象之间的交互过程以及在系统执行过程中的某一具体时刻将会发生的事件;协作图强调收发消息的对象的组织结构。那么当序列图与协作图不期而遇,会擦出怎样的火花:
接下来,我们需要做的,就是把这些理论知识运用到实践中去,接下来,我们就用协作图来描述一下就餐者,服务生和厨师他们之间的关系:
接着,以我们的机房收费系统为例,了解一下协作图在机房中是如何应用的,看看一般用户查询的序列图:
操作员信息维护的序列图:
管理员日结和周结的序列图:
协作图在我们的生活中,也有着广泛的应用,想一想巴黎圣母院,天安门,这两座建筑物展示出的特质都非言语所能形容,在很多方面,这两座剑祖屋在结构上都是简单的,但是意境深远,在她们身上,我们能够看到一致的对称美,仔细研究,发现许多细节,,她们每一部分本身就很美,而这些部分合起来产生的整体效果比各个部分更美而且功能更强。
从巴黎圣母院和天安门我们能感受到,质量好的建筑设计得很协调,同样的道理,我们的软件也是这样,一个质量好的软件密集型系统不仅功能合理,而且也应该体现设计的和谐与平衡,以使得她易于修改,所有结构良好的面向对象系统都充满了模式,一些元素以共同的方式一起工作,提供了比其所有组成部分的总和更强的合作行为。UML之旅,未完待续......
UML之协作图的更多相关文章
- [UML]UML系列——协作图(通信图)collaboration diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- 【UML】协作图Collaboration diagram(交互图)(转)
http://blog.csdn.net/sds15732622190/article/details/49402269 前言 学完UML时序图,就要看一下UML协作图,因为两张图是相 ...
- UML: 协作图
摘自http://www.umlonline.org/school/thread-38-1-1.html UML1.1时,协作图英文名字叫:Collaboration Diagram,UML2.0时, ...
- (五)UML之协作图
一.什么是协作图? 顾名思义协作图就是合作图,有合作就涉及到多个对象. 协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(in ...
- UML简介
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型 ...
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- UML(统一建模语言)
最近看了一个UML图,所以特意来了解一下UML 统一建模语言 锁定 同义词 UML(统一建模语言)一般指统一建模语言 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Unified Mo ...
- 设计模式-UML类图基础
设计模式之序-UML类图那点事儿 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书 ...
- 设计模式之序章-UML类图那点事儿
设计模式之序-UML类图那点事儿 序 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐 ...
随机推荐
- 高德地图车机版API演示程序
高德地图车机版API演示程序 做车载的应该和这个程序打交道打的比较多吧,这里是我今天写的一个实现了他的API的一个演示程序 首先我们来看下他的官网. http://lbs.amap.com/api/a ...
- 3-sum问题
给定一个整数数组,判断能否从中找出3个数a.b.c,使得他们的和为0,如果能,请找出所有满足和为0个3个数对. #define SIZE 10 void judgeAndPut(int* arr, i ...
- Tomcat内核之Tomcat的类加载器
跟其他主流的Java Web服务器一样,Tomcat也拥有不同的自定义类加载器,达到对各种资源库的控制.一般来说,Java Web服务器需要解决以下四个问题: ① 同一个Web服务器里,各个Web ...
- iOS中 CocoaPods Mac App的安装和使用 韩俊强的博客
CocoaPods Mac App的安装和使用 CocoaPods桌面应用版下载地址:https://cocoapods.org/app打开应用会提示你是否安装命令行工具,选择install就也可以在 ...
- 【Android应用开发】Android Studio 错误集锦 -- 将所有的 AS 错误集合到本文
. 一. 编译错误 1. "AndroidManifest.xml file not found" 错误 (1) 报错信息 报错信息 : -- Message Make : Inf ...
- 浅谈Android布局
在前面的博客中,小编介绍了Android的极光推送以及如何实现登录的一个小demo,对于xml布局页面,摆控件这块的内容,小编还不是很熟练,今天小编主要简单总结一下在Android中的布局,学习过An ...
- linu下C语言之BMP图片操作编程(下)
前面提高了一个将BMP左转的程序,右转其实也是类似的操作,就不写了,这节,我们来实现,将一张BMP图进行灰度处理,代码贴上: #include <stdio.h> #include < ...
- Python与JavaWeb的第一次碰撞
在Python中向服务器提交一个表单数据看起来是很容易的,但是这次经历着实让我记忆深刻,借此也为了警醒同样遇到了这样问题的你们. 要做什么? 使用Python的urllib2模块提交表单数据,并在服务 ...
- (一)SQLite与SQL语句基础
数据库一般分为 关系型和对象型,关系型是主流,对象型数据库是直接把对象存入数据库. 常用关系型数据库: PC:Oracle MySQL SQL Server DB2 嵌入式/移动端:SQLite 本文 ...
- Tomcat如何检测内存泄漏
一般情况下,如果我们重启web应用是通过重启tomcat的话,则不存在内存泄漏问题.但如果不重启tomcat而对web应用进行重加载则可能会导致内存泄漏,因为重加载后有可能会导致原来的某些内存无法让G ...