UML _ 部署图
概述
部署图定义
部署图是描述一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行以及如何彼此通信的静态视图。
注意:一般一个系统仅有一个部署图。
作用
-
描述一个具体应用的主要部署结构
-
平衡系统运行时的计算机资源分布
-
通过连接描述组织的硬件网络结构或者嵌入式系统等具有多种硬件和软件相关的系统运行模型
组成
节点+连接
节点
节点(Node)代表一个运行时计算机系统中的硬件资源,
通常拥有一些内存,并具有处理能力。
表示:用立方体表示。
有些软件用带阴影的表示处理器,用全空的表示设备
节点名称的表示方法:
-
简单名称 (常用)
例如,数据库服务器。 -
受限名称:
如 :Server::数据库服务器。
注意:
UML2.0建议采用 “节点类型::节点名称” 格式命名
节点分类
处理器(Processor)
本身具有计算能力且能够执行各种软件的节点。
常见处理器:
设备(Device)
本身不具备处理能力的节点,通常是通过其接口为外界提供某种服务。
常见设备
节点中的构件
节点与构件的关系
构件表示一个软件部件,节点表示一个硬件部件。
构件是参与系统执行的事物,而节点是执行构件的事物。
构件表示逻辑元素的物理模块,而节点表示构件的物理部署。
相同点
√ 都有名称
√ 都可以参与依赖、 泛化和关联关系
√ 都可以被嵌套
√ 都可以有实例
√ 都可以参与交互
区别:
- 构件运行于结点之上
- 构件表示逻辑元素的 物理打包,
而结点表示 构件的 物理部署
表示
- 直接描述:不是由开发团队生成的制品。
制品
<<artifact>>
:用于表示文件、构件等由开发团队生成的制品。
<<database>>
:用于表示一个数据库实例。
<<deploymentSpec>>
:用于表示部署描述,通常对关键的配置文件进行建模。
处理器的进程和调度
进程(Process)表示一个单独的控制线程,是系统中一个重量级的并发和执行单元,例如构件图中的主程序。
调度(Scheduling)是指在处理器处理其进程中为实现一定的目的而对共同使用的资源进行时间分配。
连接
连接(Connection)用于表示两个节点之间的硬件连接(物理连接),支持通信协议。(本质上是关联关系)
注意:连接一般是双向的。
分类
- 直接连接(如通过光缆)
- 非直接连接(如通过卫星)。
表示:
连接用一条实线段表示,可以通过构造型或约束对连接的通信路径或通信方式进行描述。
常见的连接支持的通信协议
实例:
部署图的应用
注意:
并非所有情况都需要创建部署图, 也并非所有部署图都需要描述结点间的 关系、构件间的关系
不适用的场景:
- 软件构件种类和数量偏少,或者结构过于简单
- 软件部署的运行环境较为简单
- 软件部署的操作方法及步骤较为简单
应用的阶段
部署图主要用在设计和实现两个阶段。
设计阶段主要是硬件
实现阶段完善制品等
应用的方面
嵌入式系统建模
在对嵌入式系统进行建模时,重点在于描述处理器和设备之间的关系。
客户机/服务器 和 分布式系统建模
当开发的软件要运行在多台计算机上时,就必须决定如何将软件构件以合理的方式部署在各个节点。
对于大型分布式系统可能还包括集群、负载均衡等部署结构。
部署图的建模过程
-
根据系统的物理需求,确定系统的节点;
-
根据节点之间的物理连接,将节点连接起来;
-
通过添加节点的构件或制品、描述连接的类型等细化对部署图的表示。
-
对建模的结果进行精化和细化
部署图的绘制
属于物理视图
- 创建节点
- 设置节点(构件、制品)
- 添加节点间的连接
- 设置连接规范
示例
【员工考勤系统】
要求:为员工考勤系统建立部署图。
系统包括:
1)IC卡读卡器:提供给员工刷卡用,收集刷卡的时间信息,传给应用系统;有3个。
2)服务器:操作系统为Windows;通过RS-232C(数据通信的物理接口及协议) 从IC卡读卡器中收集信息并存入数据库中,还对管理人员提供员工设置、考勤查询等功能;要安装服务端软件KqServer.exe、IC卡读卡器的驱动程序cardReader.dll和配置Access数据库KaoQin.mdb; KqServer.exe需要访问KaoQin.mdb,且需要通过cardReader.dll来实现与IC卡读卡器通信。
3)客户端:操作系统为Windows;通过100兆以太网连接服务器,来完成相应操作;需要安装客户端软件KaoQin.exe。
注意:仔细阅读题目给出的信息,合理使用约束对节点上的细节进行描述。
1. 确定系统节点
IC卡读卡器:提供给员工刷卡用,收集刷卡的时间信息,传给应用系统;
服务器:通过RS-232C负责从IC卡读卡器中收集信息并存入数据库中,还对管理人员提供员工设置、考勤查询等功能;
客户端:通过100兆以太网连接服务器,完成相应操作。
2. 添加节点连接
3. 细化节点和连接
客户端:安装客户端软件
服务器:包含一个用Delphi开发的服务端软件,需与Access数据库交互,且需通过IC卡读卡器的驱动程序来实现与IC卡读卡器通信。
IC卡读卡器:有3个。
本章重点
①了解部署图的基本概念及作用
②掌握部署图的组成元素
③掌握节点的分类及节点中表示构件的方法
④掌握连接的表示和构造型的含义
⑤熟悉部署图的建模过程,并掌握部署图的基本应用