部署图:UML 教程及示例
什么是部署图?
部署图是一种图表,用于指定软件系统将在其上执行的物理硬件。它还确定软件在底层硬件上的部署方式。它将系统的软件部分映射到将要执行它的设备上。
部署图将设计时创建的软件架构映射到执行该软件的物理系统架构。在分布式系统中,它模拟了软件在物理节点上的分布。
软件系统通过各种方式体现 文物然后它们被映射到将要执行软件的执行环境,例如 节点。部署图中涉及许多节点;因此,使用通信路径来表示它们之间的关系。
部署图有两种形式。
- Descript或形式
- 它包含节点、节点之间的关系以及工件。
- 实例表单
- 它包含节点实例、节点实例与工件实例之间的关系。
- 带下划线的名称代表节点实例。
部署图的目的
部署图的唯一目的是描述软件如何部署到硬件系统中。它直观地展示了软件如何与硬件交互以执行完整的功能。它用于描述软件与硬件之间的交互,反之亦然。
部署图符号和符号
部署图由以下符号组成:
- 一个节点
- 组件
- 一件神器
- 一个接口
什么是工件?
工件表示与软件开发相关的具体现实世界实体的规范。您可以使用工件来描述软件开发过程中使用的框架或可执行文件。工件部署在节点上。最常见的工件如下,
- 源文件
- 可执行文件
- 数据库表
- 脚本
- DLL文件
- 用户手册或文档
- 输出文件
工件部署在节点上。它可以为任何 UML 元素提供物理表现。通常,它们表现组件。工件用刻板印象标记 < >, 并且它的右上角可能有一个神器图标。
每个工件的规范中都有一个文件名,指示工件的物理位置。一个工件可以包含另一个工件。它们可能相互依赖。
工件具有其属性以及操纵它们的行为。
一般来说,工件在统一建模语言中表示如下。
工件实例
工件实例表示特定工件的实例。工件实例使用与工件相同的符号表示,只是名称带有下划线。 UML图 允许区分原始工件和实例。每个物理副本或文件都是唯一工件的实例。
一般来说,工件实例在统一建模语言中表示如下。
什么是节点?
节点是一种计算资源,工件可在其上部署以执行。节点是可以执行一个或多个工件的物理实体。节点的大小可能因项目的大小而异。
节点是描述代码执行和系统各个实体之间通信的重要 UML 元素。它用一个 3D 框表示,里面写有节点名称。节点有助于传达用于部署软件的硬件。
节点之间的关联表示一条可向任意方向交换信息的通信路径。
一般来说,一个节点有如下两种构造型:
- << 设备 >>它是一个节点,代表能够执行计算的物理机器。设备可以是路由器或服务器 PC。它使用具有构造型 < 的节点来表示>。
在 UML 模型中,您还可以将一个或多个设备嵌套在一起。
- <<执行环境>>它是一个表示软件将在其中执行的环境的节点。例如, Java 应用程序执行于 Java 虚拟机 (JVM). JVM 被视为 Java 应用程序。我们可以将执行环境嵌套到设备节点中。您可以在单个设备节点中联网多个执行环境。
以下是 UML 中设备的表示:
以下是 UML 中执行环境的表示:
如何画部署图?
部署图可视化整个系统的拓扑视图。它表示系统的部署。
部署图由描述系统内部使用的物理设备的节点组成。工件部署在这些节点上。我们还可以拥有要在其上实现工件实例的节点实例。
系统的节点和工件参与系统的最终执行。
部署图在管理过程中起着至关重要的作用,它必须满足以下参数,
- 高效能
- 可维护性
- 可扩展性
- 便携性
- 容易理解
节点和工件是部署的基本元素。在实际绘制部署图之前,必须确定系统的所有节点以及每个节点之间的关系。
您必须了解系统的架构,无论应用程序是 Web 应用程序、云应用程序、桌面应用程序还是移动应用程序。所有这些都至关重要,并且在部署图的开发过程中起着至关重要的作用。
如果知道所有节点、关系和工件,那么开发部署图就变得很容易。
部署图示例
以下部署图表示 HTML5 视频播放器在浏览器中的运行情况:
何时使用部署图?
部署图主要由系统管理员、网络工程师等使用。这些图的唯一目的是描述软件如何部署到硬件系统中。它直观地展示了软件如何与硬件交互以执行完整的功能。
为了使软件高效、快速地运行,硬件也必须质量优良。硬件必须经过高效设计,才能使软件正常运行,并在短时间内产生准确的结果。
部署图可用于:
- 对系统的网络拓扑进行建模。
- 建模分布式系统和网络。
- 正向和逆向工程过程。
总结
- 部署图将设计中创建的软件架构映射到执行它的物理系统架构。
- 它将系统的软件部分映射到将要执行它的硬件上。
- 部署图可视化整个系统的拓扑视图。
- 节点和工件是部署的基本要素。
- 系统的节点和工件参与系统的最终执行。