之前说了uml的设计图,现在说一下uml的最后两种图:构件图、部署图。这两种图之所以放在一起是因为它们都是软件的实现图。

构件图

          构件图是描述一组构件之间的组织与依赖关系的模型。那么,问题来了,什么是构件?
          构件是系统中遵从同一组接口且提供其实现的物理的可替代的部分。看不懂,没关系,我给你解释下,构件就相当于装修房子时地门、窗户一样,从别的地方拿过来直接就能往门框上装的东西。

构件的类型

          构件根据物理的形式的不同,分为以下几种:
          1.源代码构件
          2.二进制构件
 
        3.可执行构件
 
        4.数据或文档
 
        这四种构件的分类很容易理解,就像是我们把盖房子用到的组件分为铁质的、木质的一样,我们把构件依据其在内存中的存储方式的不同,进行了分类。

构件和类

 
        构件和类不是同一个概念,类是对象的抽象,是从逻辑上进行抽象的,比如用砖头可以抽象出砖头类。而由砖头组成的墙却可以称为构件。我们把这个构件中的东西打包,在别的地方用的时候直接使用。
 
        张三家里盖房子,往门框上安了 个门,他可以开门关门和锁门,不喜欢了,还可以换个新的门。在这里,这个们就是构件。门和构件有相同的特点:
 
        构件是物理存在的,它是系统的一部分,他可以替换,而且它需要遵从一组接口(门框)并且提供一组接口的实现(开关门和锁门)。

构件的构成

 
        构件由接口和关系构成,来个图先:
 
                            
 
        
 
        这里的接口有示出接口和引入接口。引入接口就是我们说的门框,而示出接口就是门为门上面的锁提供的安装接口。而接口的关系又分为实现和依赖的关系为主。实现一般是构件与对应接口的关系、而依赖接口则是构件与构件之间的关系。

部署图

 
        部署图说明了系统的物理结构,和在此结构上执行的软件。

节点

 
        再看部署图之前,必须要先知道节点的概念。
 
        节点就是物理部件,如:服务器、打印机等。在这里,可以处理计算的为处理器,如服务器;而没有处理能力的为设备如打印机。设备都是通过接口为外部提供服务的。

应用

 
        部署图一般用在复杂的分布式的系统中应用,用以看出软件的映射关系。一般情况下用的不是太多。
 
        
          

uml系列(八)——部署图与构件图的更多相关文章

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

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

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

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

  3. [UML]UML系列——用例图中的各种关系(include、extend)

    用例图中的各种关系 一.参与者与用例间的关联关系 参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系 (1)  概 ...

  4. [UML]UML系列——类图Class

    相关文章       [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...

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

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

  6. [UML]UML系列——类图class的依赖关系

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

  7. [UML]UML系列——类图class的泛化关系

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

  8. [UML]UML系列——类图class的实现关系Realization

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

  9. [UML]UML系列——包图Package

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

  10. [UML]UML系列——活动图activity diagram

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

随机推荐

  1. javascript 巴西世界杯倒计时

    巴西世界杯是足球迷的今年最终关注的事情,做为球迷的我也不例外,自己做了一个巴西世界杯的倒计时. <!DOCTYPE html> <html> <head> < ...

  2. CodeForces 652B z-sort

    先对序列排个序. 例如:1 2 3 4 5 6 7 我们把序列分成两半,前一半是1 2 3 4,后一半是5 6 7 然后,我们从前一半取最小的一个,再从后一半取最小的一个..一直操作下去就能构造出答案 ...

  3. NULL、nil、Nil、NSNull的区别

    标志 值 含义 NULL (void *)0 C指针的字面零值 nil (id)0 Objecve-C对象的字面零值 Nil (Class)0 Objecve-C类的字面零值 NSNull [NSNu ...

  4. iOS 添加手机密码、指纹进行安全验证

    为APP添加安全验证 1.导入头文件 #import <LocalAuthentication/LocalAuthentication.h> 2.添加手机密码验证 //创建安全验证对象 L ...

  5. codeforces #309 DIV2

    这场并没有做,做的赛后的,太晚了时间,中午做了两题,稍微贴一下,剩余的题目本周争取补完 A题: 链接:http://codeforces.com/contest/554/problem/A #incl ...

  6. Android应用运行过程(转)

    源:Android应用运行过程 首先,ActivityThread从main()函数开始执行,调用prepareMainLooper()为UI线程创建一个消息队列(MessageQueue). 然后创 ...

  7. IOS开发-OC学习-Foundation框架练习

    OC语言Foundation框架中字典.字符串.数组的应用: NSString *string = @"China|Usa|France"; NSArray *array = [s ...

  8. ImageView的展示方式

    [转]http://www.cnblogs.com/yejiurui/archive/2013/02/25/2931767.html   在网上查了好多资料,大致都雷同,大家都是互相抄袭的,看着很费劲 ...

  9. lower_bound和upper_bound算法实现

    lower_bound算法要求在已经按照非递减顺序排序的数组中找到第一个大于等于给定值key的那个数,其基本实现原理是二分查找,如下所示: int lower_bound(vector<int& ...

  10. beforeunload

    <!DOCTYPE html> <html> <head> <title>BeforeUnload Event Example</title> ...