uml系列(八)——部署图与构件图
之前说了uml的设计图,现在说一下uml的最后两种图:构件图、部署图。这两种图之所以放在一起是因为它们都是软件的实现图。
构件图
构件的类型
3.可执行构件
4.数据或文档
这四种构件的分类很容易理解,就像是我们把盖房子用到的组件分为铁质的、木质的一样,我们把构件依据其在内存中的存储方式的不同,进行了分类。
构件和类
构件和类不是同一个概念,类是对象的抽象,是从逻辑上进行抽象的,比如用砖头可以抽象出砖头类。而由砖头组成的墙却可以称为构件。我们把这个构件中的东西打包,在别的地方用的时候直接使用。
张三家里盖房子,往门框上安了 个门,他可以开门关门和锁门,不喜欢了,还可以换个新的门。在这里,这个们就是构件。门和构件有相同的特点:
构件是物理存在的,它是系统的一部分,他可以替换,而且它需要遵从一组接口(门框)并且提供一组接口的实现(开关门和锁门)。
构件的构成
构件由接口和关系构成,来个图先:

这里的接口有示出接口和引入接口。引入接口就是我们说的门框,而示出接口就是门为门上面的锁提供的安装接口。而接口的关系又分为实现和依赖的关系为主。实现一般是构件与对应接口的关系、而依赖接口则是构件与构件之间的关系。
部署图
部署图说明了系统的物理结构,和在此结构上执行的软件。
节点
再看部署图之前,必须要先知道节点的概念。
节点就是物理部件,如:服务器、打印机等。在这里,可以处理计算的为处理器,如服务器;而没有处理能力的为设备如打印机。设备都是通过接口为外部提供服务的。
应用
部署图一般用在复杂的分布式的系统中应用,用以看出软件的映射关系。一般情况下用的不是太多。
uml系列(八)——部署图与构件图的更多相关文章
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- [UML]UML系列——时序图(顺序图)sequence diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- [UML]UML系列——用例图中的各种关系(include、extend)
用例图中的各种关系 一.参与者与用例间的关联关系 参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系 (1) 概 ...
- [UML]UML系列——类图Class
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...
- [UML]UML系列——类图class的关联关系(聚合、组合)
关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...
- [UML]UML系列——类图class的依赖关系
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列—— ...
- [UML]UML系列——类图class的泛化关系
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图C ...
- [UML]UML系列——类图class的实现关系Realization
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——包图Package
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——活动图activity diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
随机推荐
- [Unity]Unity开发NGUI代码实现ScrollView(放大视图)
Unity开发NGUI代码实现ScrollView(放大视图) 下载NGUI包 导入NGUI3.9.1版本package 创建MainCameraScript.cs脚本 MainCameraScrip ...
- R语言实战(五)方差分析与功效分析
本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...
- RabbitMQ消息队列(九):Publisher的消息确认机制
在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack.那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consum ...
- .NET中四种常用事物
在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了.因此掌握事务 处理的方法是很重要,进我的归类在.net中大致有以下4 ...
- discuz开发学习
2014年3月24日 10:36:10 遇到一个问题,discuz 缓存的样式,没有自动生成.后来去后台 进行操作才有效. 解决了之前的遇到的 首页没有套用样式的问题. 现在的问题是 模版的扩展图片 ...
- javascript AOP
Function.prototype.bind = function(b) { var a = this; return function() { a.apply(b, arguments) } }; ...
- 移动App Crash的测试用例设计
一些通用的触发移动App Crash的测试场景,如下: 1. 验证在有不同的屏幕分辨率, 操作系统 和运营商的多个设备上的App行为. 2. 用新发布的操作系统版本验证App的行为. 3. 验证在如隧 ...
- Bmob 之 简单使用
1. pod pod 'BmobSDK' 与 pod "BmobSDK" 好像没什么区别 2. 导入 在AppDelegate中: #import <BmobSDK/Bmob ...
- 最简化模型——css3分阶段动画效果(经过实测)
body { background: #dcdcdc; -webkit-animation: colorin 5s; /* chrome调用属性 */ animation: colo ...
- Java获取异常堆栈信息
方法一: public static String getStackTrace(Throwable t) { StringWriter sw = new StringWriter(); PrintWr ...