在UML中大部分模型描述了逻辑和设计方面的信息,而实现图则是用来描述系统实现方面的信息。它从系统的层次来描述硬件的组成和布局以及软件系统的划分和功能实现。
概念定义:
实现图包括构件图(用来显示一组构件之间的组织与依赖关系)和部署图(用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件),这一次我们就来了解一下UML建模中的实现图,首先我们来看这两种图的定义:
构件图:用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以是一个资源文件、一个二进制文件或者一个可执行文件。
部署图:定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及它们之间的连接关系。
下面分别对这两种图进行简要的介绍,因为我们的目的是实战,当然实战之前还是有必要了解一下基本的概念的。
构件图及其组成:
构件图是从软件架构的角度来描述一个系统的主要功能,如子系统、类、包、构件等。使用构件最重要的是复用。那么什么是构件呢?
所谓构件,就是系统中遵从同一组接口且提供其实现的物理、可替换的部分。每个构件能实现一定的功能,为其他构件提供使用接口,方便软件的复用。例如:对象库、可执行体、COM+企业级JavaBean等。
构件是定义良好的 接口实现单元,它可以是以下几种类型:
源代码构件:主要包括源代码文件
二进制构件:主要有目标码文件、静态链接库、动态链接库
可执行构件:可执行程序
数据文件或者文档
构件图主要由构件、接口、关系构成。构件与接口的以及关系的联系主要有:
构件与其对应接口之间的关系:实现
构件与其他构件之间的关系:依赖
示出接口:构件实现的接口
引入接口:构件使用的接口
构件与类的区别:
类表示逻辑抽象,而构件表示物理抽象
构件是其他元素的物理实现
类可以直接拥有属性和操作,一般情况下,构件一般只拥有只能通过其接口访问的操作。
构件的特点:
我们可以对构件的特点简要概括一下:
构件是物理的
构件是可替换的
构件是系统的一部分
构件遵从一组接口并提供对一组接口的实现
部署图:
相对于构件图来说,部署图比较简单,其构成主要有两个部分,一个是Node另一个是Connection,部署图是系统完成之后,投入使用前的一个规划或者配置管理计划。
节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个构件集合一般来讲位于一个节点,但有可能从一个节点转移到另一个节点。
所谓的Connection,就是Node和Node之间的关系或者说是联系,在实际应用中要考虑实际问题选用恰当的关联类型。