UML - 部署图
部署图用于可视化部署软件组件的系统物理组件的拓扑。
部署图用于描述系统的静态部署视图。 部署图由节点及其关系组成。
部署图的目的
术语"部署"本身描述了该图的用途。 部署图用于描述部署软件组件的硬件组件。 组件图和部署图密切相关。
组件图用于描述组件,部署图显示它们如何在硬件中部署。
UML 的主要设计目的是关注系统的软件工件。 然而,这两个图是用于关注软件和硬件组件的特殊图。
大多数 UML 图用于处理逻辑组件,但部署图则侧重于系统的硬件拓扑。 部署图供系统工程师使用。
部署图的目的可以描述为 −
可视化系统的硬件拓扑。
描述用于部署软件组件的硬件组件。
描述运行时处理节点。
如何绘制部署图?
部署图表示系统的部署视图。 它与组件图相关,因为组件是使用部署图来部署的。 部署图由节点组成。 节点只不过是用于部署应用程序的物理硬件。
部署图对于系统工程师来说非常有用。 高效的部署图非常重要,因为它控制以下参数 −
性能
可扩展性
可维护性
可移植性
在绘制部署图之前,应确定以下工件 −
节点
节点之间的关系
下面是一个示例部署图,提供了订单管理系统的部署视图的想法。 在这里,我们将节点显示为 −
监控
调制解调器
缓存服务器
服务器
假设该应用程序是基于 Web 的应用程序,它部署在使用服务器 1、服务器 2 和服务器 3 的集群环境中。用户使用 Internet 连接到该应用程序。 控制流从缓存服务器流向集群环境。
考虑到上述所有要点,绘制了以下部署图。

在哪里使用部署图?
部署图主要供系统工程师使用。 这些图用于描述物理组件(硬件)、它们的分布和关联。
部署图可以可视化为软件组件所在的硬件组件/节点。
软件应用程序的开发是为了对复杂的业务流程进行建模。 高效的软件应用程序不足以满足业务需求。 业务需求可以描述为需要支持不断增加的用户数量、快速响应时间等。
为了满足这些类型的要求,应该以经济高效的方式有效地设计硬件组件。
当今的软件应用程序本质上非常复杂。 软件应用程序可以是独立的、基于网络的、分布式的、基于大型机的等等。 因此,有效地设计硬件组件非常重要。
可以使用部署图 −
对系统的硬件拓扑进行建模。
对嵌入式系统进行建模。
对客户端/服务器系统的硬件详细信息进行建模。
对分布式应用程序的硬件详细信息进行建模。
用于正向和逆向工程。