Download presentation
Presentation is loading. Please wait.
1
第12章 部署图
2
目录 12.1 部署图的概念 12.2 部署图的表示 12.3 如何绘制部署图 12.4 部署图应用 小结
3
12.1 部署图的概念 部署图描述了系统中包括的计算机和其他的硬件设备,这些计算机和设备的位置以及它们之间是如何进行相互连接的,即,部署图描述系统中的硬件节点及节点之间如何连接的图。部署图显示了运行软件系统的物理硬件,以及如何将软件部署到硬件上。 部署图
4
12.1 部署图的概念 1.部署图的作用 一个UML部署图描述了一个运行时的硬件节点,以及在这些节点上运行的软件构件的静态视图。部署图显示了系统的硬件、安装在硬件上的软件、以及用于连接异构机器之间的中间件。创建一个部署模型的目的包括: 描述系统投产的相关问题。 描述系统与生产环境中的其它系统间的依赖关系,这些系统可能是已经存在,或是将要引入的。 描述一个商业应用主要的部署结构。 设计一个嵌入系统的硬件和软件结构。 描述一个组织的硬件/网络基础结构。 2.部署图的组成元素 部署图的组成元素包括节点、节点间的连接。连接把多个节点关联在一起,构成一个部署图。
5
12.2 部署图的表示 部署图包含两个部分:节点和连接。 1、节点
12.2 部署图的表示 部署图包含两个部分:节点和连接。 1、节点 节点代表一个运行时计算机系统中的硬件资源。节点通常拥有一些内存,并具有处理能力。例如一台计算机、一个工作站等其它计算设备都属于节点。 1)节点的表示 在UML中,节点用一个立方体来表示。 每一个节点都必须有一个区别于其他节点的名称。节点的名称是一个字符串,位于节点图标的内部。 节点的名称有两种表示方法。简单名字就是一个文字串;在UML2.0中建议采用“节点类型:节点名称”的格式命名,例如“Server:IIS服务器”。 节点的表示
6
12.2 部署图的表示 2)节点的分类 按照节点是否有处理能力,把节点分为两种类型:处理器和设备,分别用构造型《Processor》和构造型《Device》表示处理器和设备。 (1)处理器(Processor) 处理器是具有处理能力的节点,即能够执行构件。 设备节点的表示 处理器节点的表示 (2)设备(Device) 设备是没有处理能力的节点,通常情况下都是通过其接口为外部提供某种服务,例如打印机、IC读写器,如果我们的系统不考虑它们内部的芯片,就可以把它们看作设备。
7
12.2 部署图的表示 3)节点的属性和操作 像类一样,可以为节点指定属性和操作。例如,可以为一个节点提供处理器速度、内存容量、网卡数量等属性,可以为其提供启动、关机等操作。但在大多数情况,它们的用途并不大。使用约束来描述它们的硬件需求更加实用。
8
12.2 部署图的表示 4)自定义构造型图标 可以引入一些自定义的构造型图标来表示不同类型的节点。
12.2 部署图的表示 4)自定义构造型图标 可以引入一些自定义的构造型图标来表示不同类型的节点。 通过引入这些构造型图标,部署图会变得像一个传统的网络结构拓扑图一样,成为安装、部署人员更加熟悉的形式。
9
12.2 部署图的表示 5)节点中的构件 当某些构件驻留在某个节点时,可以在该节点的内部描述这些构件。
12.2 部署图的表示 5)节点中的构件 当某些构件驻留在某个节点时,可以在该节点的内部描述这些构件。 对于一张部署图而言,最有价值的信息就是节点上的内容,也就是安装在节点中的构件。对于这些构件,可以直接写在节点中,也可以用构件表示,或用UML2.0规范推荐的《artifact》、《database》、《deploymentSpec》等构造型来表述构件。 在节点”Server”驻留了两个构件
10
12.2 部署图的表示 对节点内驻留的构件描述
11
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
12.2 部署图的表示 6)节点与构件 节点表示一个硬件部件,构件表示一个软件部件。两者有许多相同之处,例如二者都有名称,都可以参与依赖、泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互。但它们之间也存在明显的区别:构件是软件系统执行的主体,而节点是执行构件的平台;构件是逻辑部件,而节点表示是物理部件,我们在物理部件上部署构件。
13
网络连接,通过Web Service访问服务
12.2 部署图的表示 2、连接 节点之间最常见的关系就是关联关系(用一根实线表示),在部署图中,称之为“连接”,表示两个节点之间的物理连接。 为了更好地表示两个节点之间的关系,可以通过“约束”来对连接进行描述。 源节点 目标节点 约束 含义 B/S客户端 IIS服务器 {HTTP+Network} 网络连接,使用HTTP协议 C/S客户端 {HTTP+SOAP+Network} 网络连接,通过Web Service访问服务 数据库服务器 {ADO.NET} .NET提供的数据库访问解决方案
14
12.2 部署图的表示 读部署图顺序: 一看节点有哪些; 二看节点的约束,从而理解节点的用途; 三看节点之间的连接,理解节点之间的协作;
12.2 部署图的表示 读部署图顺序: 一看节点有哪些; 二看节点的约束,从而理解节点的用途; 三看节点之间的连接,理解节点之间的协作; 四看节点的内容,深入感兴趣的节点,了解要部署什么。
15
12.3 如何绘制部署图 绘制部署图主要是为了描述系统中各个物理组成部分的分布、提交和安装过程。
在实际应用中,并不是每一个软件开发项目都必须绘制部署图。如果项目开发组所开发的软件系统只需要运行于一台计算机并且只需使用此计算机上已经有操作系统管理的标准设备(如键盘、鼠标和显示器等),这种情况下就没有必要绘制部署图。如果项目开发组所开发的软件系统需要使用操作系统管理以外的设备(如数码相机和路由器等),或者系统中的设备分布在多个处理器上,这时就有必要绘制部署图,以帮助开发人员理解系统中软件和硬件的映射关系。 绘制系统部署图,可以参照如下步骤进行: (1)对系统中的节点建模; (2)对节点间的关系建模; (3)对系统中的构件建模,这些构件来自构件图; (4)对构件间的关系建模; (5)对建模的结果进行精化和细化。
16
12.3 如何绘制部署图 以一个IC卡考勤系统的例子来说明部署图的绘制过程。 确定所需的节点及节点间的连接关系
(3)数据库服务器:用来存储考勤数据,由于该系统比较小,因此在物理上可以与应用服务器合并。 (4)客户端软件:提供给管理人员使用,连接应用服务器,完成相应操作。 另:客户端与服务器的连接显然应该是通过网络(假设是百兆以太网),而服务器与IC卡读写器则是通过串口(RS-232C).
17
12.3 如何绘制部署图
18
12.3 如何绘制部署图 2. 根据实现描述节点 结合具体的实现来描述每个节点,通过约束以及构件来表示他们内部的结构与特点。假设该系统使用的是Delphi+Access开发的。 (1)客户端:需要使用Windows操作系统,安装客户端软件(假设名为KaoQin.exe)。 (2)服务器:包含一个用Delphi开发的服务端软件(假设名为kqServer.exe)它需要与Access数据库交互(假设名为KaoQin.mdb),并且需要通过IC卡读卡器的驱动程序(假设名为cardReader.dll)来实现与IC卡读卡器通信。 (3)IC卡读卡器:对于本系统而言,它是不执行构件的设备,但为了方便员工,安装了3个。
19
12.3 如何绘制部署图
20
12.4 部署图应用 在实际的应用中,部署图主要用在设计和实现两个阶段。 1.设计阶段
12.4 部署图应用 在实际的应用中,部署图主要用在设计和实现两个阶段。 1.设计阶段 在这一阶段,部署图主要用来描述硬件节点以及节点之间的连接。 图12-8 仅描述硬件节点的部署图 仅描述硬件节点的部署图
21
12.4 部署图应用 2.实现阶段 在实现阶段,已经生产出了软件构件,因此,我们可以把构件分配给对应的节点。
12.4 部署图应用 2.实现阶段 在实现阶段,已经生产出了软件构件,因此,我们可以把构件分配给对应的节点。 实际应用当中,部署图主要用来对嵌入式系统、客户机/服务器系统、分布式系统进行建模,而且能够起到很好的作用。 描述了节点内部署的构件
22
12.4 部署图应用 3.为嵌入式系统建模 如果我们采用部署图对嵌入式系统进行了建模,通过部署图,硬件工程师和软件开发者之间就能做更好的交流。 在对嵌入式系统进行建模时,重点在于描述处理器和设备之间的关系;可以考虑对处理器和设备采用更直观的图标。 描述嵌入式系统的部署图
23
自动加油站系统的部署图
24
12.4 部署图应用 4.为客户机/服务器和分布式系统建模
12.4 部署图应用 4.为客户机/服务器和分布式系统建模 当开发的软件要运行在多台计算机上时,就必须将软件构件以合理的方式部署在各个节点上。其中客户机/服务器结构就是一种典型的分布式系统模型,它包含三层B/S结构和两层C/S结构。 对于大型分布式系统可能还包括负载均衡、集群等部署结构,部署图的引入能够很好地对其进行表述。
25
公司管理系统的拓扑结构部署图
26
小结 本章介绍了部署图中节点、连接以及节点中包含的元素的概念和节点表示方法,并将节点分为两类,即,处理器和设备;描述了节点的构造型图标等补充元素。 阐明了部署图的应用领域,即,对嵌入式系统建模,对分布式系统建模的作用。
Similar presentations