部署图(deployment diagram,
配置图)是用来
显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示
运行时系统的结构,同时还传达构成
应用程序的硬件和软件元素的配置和部署方式。
一个UML部署图(
对象管理组织2001)描述了一个
运行时的硬件结点,以及在这些结点上运行的
软件组件的静态视图。 部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的
中间件。
用描述性术语命名结点;仅仅建模重要的
软件组件;为组件一致地应用一致版型;把可视化的版型应用到结点
在特定的项目图上注明
软件组件图1是一个大学管理系统的UML部署图描述. 该图描述了那些包含单一
应用程序的主要软件组件是怎样配置到
生产环境中的,这使得
项目团队能够确定他们的部署策略。2.集中在企业级图上的结点和通信关联
UML部署图经常被认为是一个
网络图或
技术架构图,图2是该风格的一个例子,它描述了一个
简单组织的技术
基础结构。 注意图2是一个非常简单的例子,像这样的图,许多组织将会有几十甚至几百个结点。
虽然在图的有限范围内注明组件的部署情况是可以显示它的作用的,例如图1,但图很快地就变得笨重起来。 图2则关注于企业的那些高阶部署,因此配置在硬件结点之上的
软件组件的精细的、细节的东西就不需要显示出来,你可以在你的CASE工具中处理这些信息,但这并不意味着你需要在图上显示它们。
一个结点,通常描述成一个立体的盒子,表示一个计算设备,一般是一个单独的硬件设备,例如一台电脑,
网络路由器,主机,传感器,或
个人数字助理(PDA)。 组件,描述为矩形,左侧面还伸出两个较小矩形,这和
UML组件图上使用的符号是相同的,它表示软件的
中间产物,例如文件、框架、或领域组件。
在图1中,你可以看到结点都有名称,例如client、
Application Server、Database Server、和Mainframe。 所有的这些术语都需要即刻为组织内的开发人员所认可,因为这些条款都是他们日常使用的。 保持它的简单性。
虽然图1包含软件组件,但它没有描述每一个软件组件。 例如,
客户机上很可能还安装有其他的软件组件,如操作系统和应用软件,但那些组件没有显示出来,因为它们已经离题了。 事实是每个结点也许有几十甚至几百的软件组件配置于其上,你的目标并不是描述所有的软件组件,而是只需要描述那些对系统的列节至关重要的组件。如果你需要探究软件组件间的关系,你应该创建一个UML
组件图作为替代,遵循
敏捷建模图2使用可视化的版型来描述结点描述结点,例如mobile PC是显示为一个笔记本,而databases则使用传统的数据库的圆筒符号来表示。 为UML部署图上应用可视化版型
制定标准是不可能的,一般的
经验法则是使用你看得到的适当的
剪贴画。
通信关联支持一个或多个通信协议,每一个都应该使用一个UML版型来描述。 图1中你可以看到
HTTP、JDBC、和
web services协议,他们就是使用了这个方法。
图1中配置在??来,因为它们和图并没有什么关系(而且它们最好是在UML
组件图上建模具体的细节)。 然而,在
数据库服务器上的组件间的依赖则被建模出来,因为它有助于展示数据库的访问。领域组件对数据库的方位是间接的,他们需要通过一个
持久性框架,这是通用的架构
最佳实践( Ambler 2001)。 遵循AM的实践,简单的描述建模。仅仅建模和手头的任务相关的信息。