之前说了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. OPENCV形态学操作1

    形态学操作是指基于形状的一系列图像处理操作,包括膨胀,腐蚀,二值化,开运算,闭运算,顶帽算法,黑帽算法,形态学梯度等,最基本的形态学操作就是膨胀和腐蚀. 一.膨胀 首先需要明确一个概念,膨胀和腐蚀都是 ...

  2. jstl-按照html的形式输出至页面

    一.按照html的形式输出至页面 <c:out value="${xxx}" default="默认值" escapeXml="false&qu ...

  3. Mac上ssh无法登录的问题

    今天起来发现阿里云ssh无法登录了 出现一条警告: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 开始打算清理know_hosts发现失败,清了根本 ...

  4. MySQL中 InnoDB 和 MyISAM 小结

    转:http://blog.csdn.net/ithomer/article/details/5136982 部分内容: InnoDB和MyISAM的差别 InnoDB和MyISAM是许多人在使用My ...

  5. Masonry布局框架的使用

    Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性.比我们使用自动布局,繁琐的约束条件,好用多了.下面我们来学学masonry的使用方 ...

  6. Java链表的一些操作:

    [还有一些其他的算法提]http://blog.csdn.net/WalkingInTheWind/article/category/906980 [转]http://blog.csdn.net/lu ...

  7. xlrd(开excel表格)

    打来表格 wb = xlrd.open_workbook('example.xlsx') 选择sheet sh=wb.sheet_by_index(序号) 表格的行数 sh.nrows 选取第m行第n ...

  8. ThinkPHP创建应用的一般开发流程

    使用ThinkPHP创建应用的一般开发流程是: 系统设计.创建数据库和数据表:(可选) 项目命名并创建项目入口文件,开启调试模式: 完成项目配置: 创建项目函数库:(可选) 开发项目需要的扩展(模式. ...

  9. php生成PDF文件(FPDF)

    首先要下载FPDF http://www.fpdf.org/  附件可以在我的资源里下载http://yunpan.cn/c3RJ5BpPfX6dL  访问密码 f1f2 FPDF文档:http:// ...

  10. C# 堆栈和堆 Heap & Stack

    首先堆栈和堆(托管堆)都在进程的虚拟内存中.(在32位处理器上每个进程的虚拟内存为4GB) 堆栈stack 堆栈中存储值类型. 堆栈实际上是向下填充,即由高内存地址指向低内存地址填充. 堆栈的工作方式 ...