本文和大家重点讨论一下UML部署图的概念,一个UML部署图(对象治理组织2001)描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图。
UML部署图
部署图(deploymentdiagram,配置图)是用来显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。
一个UML部署图(对象治理组织2001)描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图。部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件。创建一个部署模型的目的包括∶
探究系统投产的相关问题.
探究你的系统和生产环境中的其它系统的依靠关系,这些系统可能是已经存在,或是将要引入的。
描述一个商业应用主要的部署结构。
设计一个嵌入系统的硬件和软件结构。
描述一个组织的硬件/网络基础结构。
指南∶通用准则
在特定的项目图上注明软件组件;集中在企业级图上的结点和通信关联
结点和组件:用描述性术语命名结点;仅仅建模重要的软件组件;为组件一致地应用一致版型;把可视化的版型应用到结点
依靠和通信关联:用版型来注明通信协议;仅仅建模组件间的要害性依靠
一、通用准则
1.在特定的项目图上注明软件组件
图1是一个大学治理系统的UML部署图描述.该图描述了那些包含单一应用程序的主要软件组件是怎样配置到生产环境中的,这使得项目团队能够确定他们的部署策略。
图1.一个特定项目的UML部署图。
(点击查看原图)
2.集中在企业级图上的结点和通信关联
UML部署图经常被认为是一个网络图或技术架构图,图2是该风格的一个例子,它描述了一个简单组织的技术基础结构。注重图2是一个非常简单的例子,像这样的图,许多组织将会有几十甚至几百个结点。
虽然在图的有限范围内注明组件的部署情况是可以顶用的,例如图1,但图很快地就变得粗笨起来。图2则关注于企业的那些高阶部署,因此配置在硬件结点之上的软件组件的精细的、细节的东西就不需要显示出来,你可以在你的CASE工具中处理这些信息,但这并不意味着你需要在图上显示它们。
图2.一个组织的UML部署图
(点击查看原图)
二、结点和组件
一个结点,通常描述成一个立体的盒子,表示一个计算设备,一般是一个单独的硬件设备,例如一台电脑,网络路由器,主机,传感器,或个人数字助理(PDA)。组件,描述为矩形,左侧面还伸出两个较小矩形,这和UML组件图上使用的符号是相同的,它表示软件的中间产物,例如文件、框架、或领域组件。
1.用描述性术语命名结点
在图1中,你可以看到结点都有名称,例如client、ApplicationServer、DatabaseServer、和Mainframe。所有的这些术语都需要即刻为组织内的开发人员所认可,因为这些条款都是他们日常使用的。保持它的简单性。
2.仅仅建模重要的软件组件
虽然图1包含软件组件,但它没有描述每一个软件组件。例如,客户机上很可能还安装有其他的软件组件,如操作系统和应用软件,但那些组件没有显示出来,因为它们已经离题了。事实是每个结点也许有几十甚至几百的软件组件配置于其上,你的目标并不是描述所有的软件组件,而是只需要描述那些对系统的列节至关重要的组件。假如你需要探究软件组件间的关系,你应该创建一个UML组件图作为替代,遵循灵敏建模(AM)(Ambler2002)的应用"合适的Artifact"的实践。
3.为组件一致地应用一致版型
在UML部署图上为组件应用和UML组件图中的相同的版型。
4.把可视化的版型应用到结点
图2使用可视化的版型来描述结点描述结点,例如mobilePC是显示为一个笔记本,而databases则使用传统的数据库的圆筒符号来表示。为UML部署图上应用可视化版型制定标准是不可能的,一般的经验法则是使用你看得到的适当的剪贴画。
【编辑推荐】