8.3.9 构件图和部署图

更新于 2026年10月10日 版权声明
8.3.9 构件图和部署图

构件图是描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的构件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在构件图中,构件是软件单个组成部分,它可以是一个文件、产品、可执行文件和脚本等。

部署图是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。部署图用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。

构件图和部署图显示系统实现时的一些特性,其中构件图显示代码本身的结构(即静态机构),部署图显示系统运行时刻的实现结构。

(1)构件图。构件图代表的是实现环境中的软件模块。类图和包图对软件的逻辑设计建模,而构件图模拟的是实现视图,是实际的软件模块。构件图显示软件构件之间的依赖关系。一般来说,软件构建就是一个实际文件,它可以是源代码文件、二进制代码文件或可执行文件等,用来显示编译、链接或执行时构件之间的依赖关系。

在UML中,构件的图示符号是左边带有两个小矩形的大长方形。构件间的依赖关系用一条带箭头的虚线表示。可以为一个构件定义其他构件可见的接口,其图示符号是从代表构件的大矩形边框画出的一条线,线的另一端为一个小空心圆,接口名写在空心圆附近。图8.67是构件图的例子。

图示

图8.67 构件图

(2)部署图。部署图也称配置图。部署图描述的是处理器、硬件设备和软件构建在运行时的架构,它显示系统硬件的物理拓扑结构,以及在此结构上运行的软件,也可以显示硬件节点的拓扑结构和通信路径、节点上运行的软件构建、软件构建包含的逻辑单元(对象、类)等。部署图常用于帮助理解分布式系统。(https://www.daowen.com)

1)节点和连接。节点代表一个物理设备及在其上运行的软件系统,例如,一台Unix主机、一个PC终端、一台打印机、一台通信设备等。在图8.68中,“客户端PC”和“保险后台服务器”就是两个节点。在UML中,节点用一个立方体来表示,节点名放在立方体的左上角。

图示

图8.68 部署图

节点间的连线表示系统之间进行交互的通信线路,在UML中称为连接。通信类型则放在连接旁边的“《》”之间,以制定所用的通信协议或网络类型。

2)构件和接口。在部署图中,构建代表可执行构件的实例,在逻辑上它可以与类图中的包或类对应。因此,部署图显示运行时各个包或类在节点中分布的情况。在图8.68中,“保险后台服务器”节点中包含“保险系统”“保险对象数据库”和“保险系统配置”三个构件。

在面向对象方法中,并不是类和构件等元素的所有属性和操作都对外可见,它们对外提供的可见操作和属性称为接口。接口用一端是小圆圈的直线表示。在图8.68中,“保险系统”构件提供了一个名字叫“配置”的接口,图中还显示了构件之前的依赖关系:“保险系统配置”构件通过这个接口依赖于“保险系统”构件。

3)对象。一个面向对象的软件系统中可以运行很多对象,而构件可以看作与包或类对应的物理代码模块,因此,构件中应包含一些运行的对象。图8.68中,“保险系统配置”构件包含“配置保险政策”和“配置用户”两个对象。部署图中的对象与对象图中的对象表示方法相同。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)