今天,本站带领大家来学习一下UML中的部署图。
部署图很简单,简单到没必要大张旗鼓的进行介绍,但是本文还是详细的介绍一下相关知识。
部署图(Deployment Diagram)用于描述系统硬件的物理拓扑结构以及在相关节点上运行的软件工件(artifacts)。
工件是系统开发过程产生的具体的元素,如可执行文件、库、档案文件、数据库模式、配置文件等。
部署图与上篇文章介绍的组件图都是对系统物理方面进行建模。
构成的部署图的元素主要包括节点(node)和节点之间的关系(relationship)。
节点是系统部署的目标对象,其通常是硬件或软件的运行环境。
每个节点都有自己的名称,如“Web服务器”,“数据库服务器”等。
也可以在节点上进行其他信息的描述,如硬件的配置情况,软件环境的版本信息等。
在UML1.x中,节点被分为两类:处理器(processor)和设备(device)。
处理器是具有计算能力的节点,且一般可以运行软件,如服务器。
设备指的是一些不具有计算能力的节点,它们可能作为一些输入输出设备或者本身是处理器的外部连接设备,如显示器、打印机、读卡器等。
在UML中,两种节点分别使用下面的图形来表示:
而在UML2.x中,节点被分为设备和执行环境两种。
设备是一个具有处理能力的物理计算资源的节点,可以在该节点上部署执行构件(artifacts)。
设备使用带有<<device>>构造型的正方体或长方体来表示,如下图所示:
上图是UML2.x中表示一个设备节点,其名称是“Application Server”(应用服务器)。
在UML中没有为设备节点提供标准的构造型,用户可以根据实际情况选择一些非规范性的构造型,如:
设备节点也可使用用户自定义的图标,配置信息、构造型和标记值等可以添加到自定义图标和属性信息中。如下图是使用用户自定义图标表示设备节点的一个例子:
上图中使用了构造型<<application server>>来给出设备的类别,并配以文字说明设备的名称和型号信息。
下图使用注释的方式给出设备节点的相关信息:
下图使用另外一种图标来表示数据库服务器的情形:
上图使用构造型<<database server>>来描述节点,并使用文字给出设备名称和品牌。
下面使用用户自定义图标来表示智能手机的情形:
设备也可能很复杂,如设备可能包含其它设备。
执行环境是一种软件节点,它为以可执行工件(artifacts)的形式部署在该节点上特定类型的组件提供一个可执行环境。
在UML2.x中,执行环境节点以标准的构造型<<executionEnviroment>>来指定。
但这个构造型的名称有些冗长,UML也未提供其它标准构造型,在实际中可以使用一些非规范的构造型来表示实际的可执行环境,如:
如下面两个例子:
Linux操作系统执行环境
Oracle 10g DBMS执行环境
节点之间的关系也称之为节点间的通信路径,其表示两个部署目标之间的关联关系,节点之间使用这种路径可以交换信号和消息。
下图给出了两个设备节点之间的关联关系。
当部署目标为物理设备时,通信路径通常表示两个节点之间的物理连接。
下图显示两个节点支架使用千兆以太网作为应用程序服务器和数据库服务器之间的通信路径。
当两个部署目标是执行环境节点时,通信路径通常是一些协议。
下图表示了部署在两个设备节点中执行环境节点的关联关系。两个节点通过TCP/IP协议进行通信。
同时,上图也表示出一个执行环境部署到一个设备节点上的情况。
在UML中,也可以使用文本列表的形式来表示在该节点上部署的工件(artifacts)。
下图显示了执行环境.NET Framework 4.7中部署的工件情况:
部署情况也可以使用左上角带一个小分隔仓的矩形框架来表示,在分隔仓中标注dep(deployment的缩写形式)和部署的名称:
上图中使用虚线箭头表示工件(artifacts)“Borrow.dll”部署到节点“.NET Framework 4.7”服务器上的,并在虚线箭头上标注<<deploy>>。
在Rose中只支持UML1.x中的节点绘制方法,而且只支持绘制一个部署图。
具体绘制方法如下:
(1)在Rose左侧浏览器中,双击“Deployment View”节点,则会打开部署图绘制界面;
(2)在Rose中,部署图的工具栏主要有三种工具:
带阴影的正方形图标表示创建一个处理器节点;
不带阴影的正方形图标表示创建一个设备节点;
实线表示节点之间的连接。
(3)根据需要点击相应的图标后,并在绘图区点击一下就会创建一个节点,在创建的同时,可以给节点命名。
(4)双击节点,或右击节点后选择“Open Specification...”,可以打开节点详述对话框,下图为处理器节点的详述对话框:
在上图中的“Name”处可以设置处理器节点的名称,在“Stereotype”中可以输入该节点的构造型,在“Documentation”中可以输入该节点的其它说明信息。
处理器节点详述“Detail”选项卡的信息如下:
在“Characteristic”可以给出处理器的特征,如型号,配置等信息。
在“Processes”中可以定义该节点中处理的进程和优先级。
在“Scheduling”可以指定调度信息:
Preemptive:抢占式;Non Preemptive:非抢占式;Cyclic:周期的;Executive:可执行的;Manual:手动的。
一般情况下,部署图仅显示各个节点的连接情况,这些信息可以不用设置。
下图显示的是设备节点的详述对话框:
该对话框中的内容与处理器节点相同。
在设备节点详述对话框的“Detail”选项卡中仅有“Characteristic”项,可以给出设备的型号等信息。
(5)建立连接
在工具栏中选择“Connection”连接线,然后在要连接的一个节点上点击鼠标后按住鼠标左键拖动到第二个节点上,并松开鼠标,这时就会建立了两个节点之间的链接。
双击连接线,或右击连接线后选择“Open Specification...”,可以打开连接线详述对话框,如下图所示:
在这个对话框中可以指定连接的名称以及连接的构造型。
如在“Name”里输入“1000 Base-T”,在“Stereotype”里输入“ethernet”,则会显示如下图所示的情形。
下面给出Rose中一个部署图的例子。
该部署图描述了图书馆借阅系统的部署图。
而关于UML2.x中的部署图可以使用Visio、StarUML、draw.io等工具进行绘制。
新闻热点
疑难解答