您好,欢迎访问三七文档
LOGO《UML统一建模》第12章部署图目录12.1部署图的概念12.2部署图的表示12.3部署图应用小结第12章部署图•部署图(deploymentdiagram,也称为配置图)是用来显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及软件组件在处理节点上的分布情况。使用部署图可以显示运行时系统的结构,同时还表明了构成应用程序的硬件和软件元素的配置和部署方式。12.1部署图的概念•部署图描述了系统中包括的计算机和其他的硬件设备,如这些计算机和设备的位置以及它们之间是如何进行相互连接的,即,部署图描述系统中的硬件节点及节点之间如何连接的图。图12-1是一个典型的部署图。•图12-1部署图。12.1部署图的概念•1.部署图的作用•一个UML部署图描述了一个运行时的硬件结点,以及在这些结点上运行的软件构件的静态视图。部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构机器之间的中间件。创建一个部署模型的目的包括∶•·描述系统投产的相关问题.•·描述系统与生产环境中的其它系统间的依赖关系,这些系统可能是已经存在,或是将要引入的。•·描述一个商业应用主要的部署结构。•·设计一个嵌入系统的硬件和软件结构。•·描述一个组织的硬件/网络基础结构。•2.部署图的组成元素•部署图的组成元素包括节点、节点间的连接。连接把多个节点关连在一起,构成一个部署图。12.2部署图的表示•部署图包含两个部分:节点和连接。下面分别描述其语义和表示方法。•12.2.1节点•节点代表一个运行时计算机系统中的硬件资源。节点通常拥有一些内存,并具有处理能力。例如一台计算机、一个工作站等其它计算设备都属于节点。图12-1中包含5个节点。•1.节点的表示•在UML中,节点用一个立方体来表示。每一个节点都必须有一个区别于其他节点的名称。节点的名称是一个字符串,位于节点图标的内部。•节点的名称有2种表示方法:简单名字和带路径的名字。简单名字就是一个文字串;带路径的名字指在简单名字前加上节点所属的包名。下面的立方体表示一个节点,其名称为Node•2.节点的分类•图12-2节点的表示12.2部署图的表示•按照节点是否有计算能力,把节点分为两种类型:处理器和设备,分别用构造型《Processor》和构造型《Device》表示处理器和设备。•(1).处理器(Processor)•处理器是能够执行软件、具有计算能力的节点。其图标的如图12-3所示。•(2).设备(Device)•设备是没有计算能力的节点,通常情况下都是通过其接口为外部提供某种服务,例如打印机、IC读写器,如果我们的系统不考虑它们内部的芯片,就可以把它们看作设备。设备的图标表示如图12-4所示。•图12-3处理器节点的表示•图12-4设备节点的表示12.2部署图的表示•3.节点中的构件•当某些构件驻留在某个节点时,可以在该节点的内部描述这些构件。如图12-5所示。•对于一张部署图而言,最有价值的信息就是节点上的内容,也就是安装在节点中的构件。对于这些构件,可以直接写在节点中,也可以用构件表示,或用UML2.0规范推荐的《artifact》、《database》、《deploymentSpec》等构造型来表述构件。•下面以图12-6为例,说明在节点上描述构件有四种方式:图12-5在节点”Server”驻留了2个构件12.2部署图的表示•图12-6对节点内驻留的构件描述12.2部署图的表示•(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.2部署图的表示•4.节点属性•象类一样,可以为一个节点提供属性描述,如,处理器速度、内存容量、网卡数量等属性。可以为节点其提供启动、关机等操作属性。•5.节点与构件•节点表示一个硬件部件,构件表示一个软件部件。两者有许多相同之处,例如二者都有名称,都可以参与依赖、泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互。但它们之间也存在明显的区别:构件是软件系统执行的主体,而节点是执行构件的平台;构件是逻辑部件,而节点表示是物理部件,我们在物理部件上部署构件。12.2部署图的表示•12.2.2连接•部署图用连接表示各节点之间通信路径,连接用一条实线表示。对于企业的计算机系统硬件设备间的关系,我们通常关心的是节点之间是如何连接的,因此描述节点间的关系一般不使用名称,而是使用构造型描述。下图是节点之间连接的例子。•图12-7节点间的连接12.3部署图应用•通过前两节的讨论,大家对于部署图的作用已有所了解,那么在实际的应用中,部署图主要用在设计和实现两个阶段。•1.设计阶段•在这一阶段,部署图主要用来描述硬件节点以及节点之间的连接,如图12-8所示。•图12-8并没有描述节点内的构件。在设计阶段,还没有创建出软件构件。•图12-8仅描述硬件节点的部署图12.3部署图应用•2.实现阶段•在实现阶段,已经生产出了软件构件,因此,我们可以把构件分配给对应的节点,如图12-9所示。•我们可以看出,图12-9是对图12-8的细化。•实际应用当中,部署图主要用来对嵌入式系统、客户机/服务器系统、分布式系统进行建模,而且能够起到很好的作用。•12-9描述了节点内部署的构件12.3部署图应用•3.嵌入式系统建模•如果我们采用部署图对嵌入式系统进行了建模,通过部署图,硬件工程师和软件开发者之间就能做更好的交流。•在对嵌入式系统进行建模时,重点在于描述处理器和设备之间的关系;可以考虑对处理器和设备采取用更直观的图标。例如,图12-10所示,就是一个航标RTU的嵌入式系统的部署图示。•图12-10描述嵌入式系统的部署图12.3部署图应用•4.客户机/服务器和分布式系统建模•当开发的软件要运行在多台计算机上时,就必须将软件构件以合理的方式部署在各个节点上。其中客户机/服务器结构就是一种典型的分布式系统模型,它包含三层B/S/S结构和两层C/S结构。•对于大型分布式系统可能还包括负载均衡、集群等部署结构,部署图的引入能够很好地对其进行表述。小结•本章介绍了部署图中节点、连接以及节点中包含的元素的概念和节点表示方法,并将节点分为两类,即,处理器和设备;接着描述了节点的构造型图标等补充元素。最后阐明了部署图的应用领域,即,对嵌入式系统建模,对分布式系统建模的作用。
本文标题:第12章 部署图
链接地址:https://www.777doc.com/doc-3383734 .html