部署图(deploymentdiagram,配置图)是用来显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。
一个UML部署图描述了一个运行时的硬件结点,以及在这些结点上运行的软件构件的静态视图。
部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构机器之间的中间件。
创建一个部署模型的目的包括∶
• 描述系统投产的相关问题.
• 描述系统与生产环境中的其它系统间的依赖关系,这些系统可能是已经存在,或是将要引入的。
• 描述一个商业应用主要的部署结构。
• 设计一个嵌入系统的硬件和软件结构。
• 描述一个组织的硬件/网络基础结构。
节点通常拥有一些内存,并具有处理能力。例如一台计算机、一个工作站等其它计算设备都属于节点。上图中包含5个节点。
在UML中,节点用一个立方体来表示。
每一个节点都必须有一个区别于其他节点的名称。节点的名称是一个字符串,位于节点图标的内部。
节点的名称有2种表示方法:简单名字和带路径的名字。简单名字就是一个文字串;带路径的名字指在简单名字前加上节点所属的包名。下面的立方体表示一个节点,其名称为Node
(1).处理器(Processor):处理器是能够执行软件、具有计算能力的节点。 其图标的如图12-3所示。
图12-3处理器节点的表示
(2).设备(Device) :设备是没有计算能力的节点,通常情况下都是通过其接口为外部提供某种服务,例如打印机、IC读写器,如果我们的系统不考虑它们内部的芯片,就可以把它们看作设备。设备的图标表示如下图所示。
图设备节点的表示
当某些构件驻留在某个节点时,可以在该节点的内部描述这些构件。如图12-5所示。
图12-5在节点”Server”驻留了2个构件
对于一张部署图而言,最有价值的信息就是节点上的内容,也就是安装在节点中的构件。对于这些构件,可以直接写在节点中,也可以用构件表示,或用UML2.0规范推荐的《artifact》、《database》、《deploymentSpec》等构造型来表述构件。
下面以图12-6为例,说明在节点上描述构件有四种方式:
图12-6对节点内驻留的构件描述
(1)直接描述:例如在B/S客户端中,必须安装“Web浏览器”(并通过约束说明需要IE6.0以上版本或Firefox1.5以上版本)。通常,对于不是由开发团队生成的制品,例如IIS服务器这种描述方式,也可以通过“约束”来描述它。
(2)《artifact》构造型:用来表示文件、构件等制品,例如IIS服务器上的swWeb.dll、BusinessRule.dll、DateAccess.dll及C/S客户端上的se.exe。
(3)《database》构造型:用来表示一个实际的数据库(对应Oracle的scheme),例如在数据库服务器上的sw。
(4)《deploymentSpec》构造型:用来表示部署描述,通常对关键的配置文件进行建模,还可以在构造块中直接指出具体参数的值。
对于这些构造型,可以使用依赖关系来表示他们之间的相互关系,甚至可以表示跨节点之间的依赖(入DataAccess.dll到sw之间的依赖连接)。另外,在图12-6中,使用了一个《directory》构造型,这并不是一个UML标准构造型,它只是使用者的一个扩展。
像类一样,可以为一个节点提供属性描述,如,处理器速度、内存容量、网卡数量等属性。可以为节点其提供启动、关机等操作属性 。
节点表示一个硬件部件,构件表示一个软件部件。
两者有许多相同之处,例如二者都有名称,都可以参与依赖、泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互。
但它们之间也存在明显的区别:构件是软件系统执行的主体,而节点是执行构件的平台;构件是逻辑部件,而节点表示是物理部件,我们在物理部件上部署构件。
部署图用连接表示各节点之间通信路径,连接用一条实线表示。对于企业的计算机系统硬件设备间的关系,我们通常关心的是节点之间是如何连接的,因此描述节点间的关系一般不使用名称,而是使用构造型描述。下图是节点之间连接的例子。
图12-7节点间的连接
相关阅读:UML图之——部署图