UML组件图与部署图 【学习目标】 ·什么是组件图 ·什么是部署图 ·如何建模组件图与部署图
为什么要建模组件图和部署图? 组件图用来建模系统的各个组件,包括源代码文件、二进制文件、脚本文件、可执行文件之间的关系,它们是通过功能或者文件组织在一起的。使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。 部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。 总之,组件图和部署图可以用来帮助设计系统的整体架构。
组件图 组件图用来建模软件的组件及其相互之间的关系。这些图由组件和组件之间的关系构成。
1.组件 组件(构件)是系统中可替换的代码模块。例如下面这些软件部件都是组件。 源文件 ActiveX 控件 JavaBean Enterprise JavaBean (EJB) Java servlet Java Server Page 在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。
组件的表示
组件的类型 1)部署组件 部署组件是构成一个可执行系统所必需的组件,如DLL代码、EXE代码、ActiveX控件、Web page、数据库表以及JavaBean等模块。 2)工作产品组件 工作产品组件是指在开发阶段使用的组件,它包括源程序文件、数据文件等,它们一般不直接构成可执行系统。
2.依赖关系 依赖关系演示两个组件之间的依赖特性。依赖关系使用在一端带有开放箭头的短划线表示。箭头从依赖的对象指向被依赖的对象。例如下图所示。
3.包含组件 一个组件可以包含在其他的组件中。其标记符可在其他组件中建模组件来表示。 下例演示了Inventory组件由3个独立的组件DataAccess,Business Logic和Userinterface组成,如下图所示。
部署图 1.节点 UML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。 节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。节点的标记符是一个三维框,在框的左上方包含了节点的名称,如下图所示。
2.通信关联 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。这种关系用来表示两种硬件(节点)通过某种方式彼此通信。其基本通信关联的版型表示,如下图所示。
下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。
3.组件的部署 可以把系统运行时的组件分布在特定的硬件节点上来展示系统的架构。下图演示了UserInterface、BusinessLogic和Backendfunctionality等组件如何在服务器和客户机硬件中的部署。