【UML建模】部署图(Deployment Diagram)

1.概述

部署图是一种结构图,用于描述软件系统在不同计算机硬件或设备上的部署和配置情况,以图形化的方式展示系统中组件、节点和连接之间的物理部署关系。

通过部署图,可以清晰地了解系统的物理结构和部署方式,包括系统组件和节点的数量、位置、连接方式、负载均衡、冗余备份等配置信息,让软件开发团队与系统管理员能更直观的了解系统的部署情况,为系统在后续的性能优化和拓展打下基础。
同时,部署图也经常会出现在软件项目文档中,用于记录系统的物理部署情况。

2.部署图的使用方法

2.1.部署图的组成部分

基础的部署图一般是由3种图形组成,分别是节点、组件、连线,如下图:
在这里插入图片描述

  • 节点:是一个长方体,表示的是计算资源或者执行环境,既可以是硬件(服务器)也可以是软件(OS,虚拟机等)
  • 组件:是一个带有两个标签的矩形,表示的是可部署的软件模块(即封装了代码和数据的类、库、文件等)。
  • 连线:一般在连线上会标注通信协议,用于表示节点、组件之间的通信和交互关系。

在这里插入图片描述

有时候也会使用长方形来表示构件,比如NginxMySQL等直接部署的中间件,如果要更清晰的表达构件的含义,可以在构件名称上面使用<<artifact>>来进行标注。

构件组件的区别在于,组件一般是当前项目中开发者写的代码打包后形成的系统或服务,当然,在不需要做这么严格的区分时,也可以直接使用组件的图标来表示构件。

2.2.图标的组合

节点有两种类型,一种是拥有计算资源的硬件,例如:PC、笔记本电脑、手机、服务器、打印机等。另一种是运行环境,例如:操作系统、虚拟机、JVM等。

节点与节点
一个节点可以嵌入到另一个节点中,如下图表示在个人电脑上安装了Win10系统:
在这里插入图片描述
节点与组件/构件
组件和构件可以嵌入到节点中,表示部署到当前节点上,可以嵌入到运行环境节点,如果对运行环境并不在意,可以忽略掉运行环境节点,直接嵌入到物理节点上:
在这里插入图片描述

2.3.画部署图

先看一张BS架构的极简部署图:
在这里插入图片描述
有两个系统和MySQL部署在了应用服务器,前置了一个网关服务器部署了Nginx对外提供服务,用户通过PC中的浏览器进行访问。从图可以明确网络通信的方式和链路,以及组件和构件在物理机上的部署情况。


可以看到,部署图画起来是比较简单的,只是在画图之前需要经历一些思考步骤:

  • 范围:部署图涵盖的范围是多大,是一个模块,一个子系统,还是整个项目的部署情况。
  • 架构:针对当前这个范围会使用到什么架构,单体架构、分布式架构等等。
  • 节点:明确整个部署结构中有哪些节点
  • 组件:明确组件和构件的组成,分别部署到哪些节点上
  • 协议:节点或组件之间会建立哪些通信,通信协议是TCP/IP、MQTT、AMQP还是其他。
  • ……

做好一定的准备之后就可以开始动手画图啦,下面是一个交易系统部署图(简化版)画图步骤。

  • 首先确定范围,是整个交易系统及其依赖的其他服务和中间件
  • 确定采用分布式架构,需要多台应用服务器。
  • 确定节点信息,包含客户端、网关、应用服务器、数据库服务器、缓存服务器
  • 确定组件和构件信息,包含用户系统、交易系统、Nginx、MySQL、Redis
  • 确定协议,节点、组件之间的通信主要通过TCP/IP进行交互

然后经过一点点加工就得到了一个部署图
在这里插入图片描述

3.总结

基本的部署图包含3种图标,即节点、组件、连线,有时候为了做区分还会加入构件图标,只需要按照步骤明确自己想表达的信息,将这几个简单的图标进行组合使用,就可以得到一个从宏观层面观看的信息丰富的部署图。

需要注意的是:不建议在部署图上描述过于细节的信息,整个项目的全貌可以借助不同的uml图例在多个切面维度上进行描述。

  • 31
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 手机app物理结构设计部署图指的是手机应用程序的物理架构和部署方式的图示。通常,手机app可以分为前端和后端两个部分,其物理结构设计部署图可以如下所示: 1. 前端部分:前端部分包括用户界面、用户交互和数据展示等功能。通常,前端部分由手机应用程序的界面、视图和相关的逻辑代码组成。前端部署图主要描述了前端组件和模块之间的关系和通信方式。在前端部署图中,可以显示不同界面和模块之间的依赖关系和交互方式,例如用户界面和逻辑处理模块之间的通信方式,以及数据展示和后端数据接口之间的通信方式。 2. 后端部分:后端部分主要用于处理数据存储、业务逻辑和数据接口等功能。通常,后端部分由服务器、数据库和数据接口等组成。后端部署图主要描述了服务器、数据库和数据接口之间的关系和通信方式。在后端部署图中,可以显示服务器和数据库之间的关系和通信方式,以及数据接口和前端部分之间的通信方式。 3. 部署方式:部署方式主要指手机应用程序的部署环境和部署方式。手机应用程序可以部署在手机本地,也可以部署在云服务器上。在部署图中,可以显示手机应用程序的运行环境和部署方式,以及各个组件和模块之间的部署关系和通信方式。 通过手机app物理结构设计部署图,开发团队可以清晰地了解手机应用程序的物理架构和部署方式,从而更好地进行开发工作和系统维护。 ### 回答2: 手机app的物理结构设计部署图是指将手机app的各个物理组件与模块进行连接和部署的图表,用于描述手机app的整体架构和部署方式。 在手机app的物理结构设计部署图中,首先需要明确手机app的主要组成部分,例如前端界面、后端服务器、数据库等。然后,根据这些组件之间的关系和交互,设计出合适的部署方式。 手机app的前端界面是用户与app交互的界面,通常需要部署在用户的手机端。可以使用现有的移动开发框架和技术来开发并部署前端界面,例如React Native、Flutter等。 后端服务器通常用于处理用户的请求、存储数据等功能。可以选择将后端服务器部署在云端,使用云服务提供商提供的服务器资源,也可以在自己的服务器上搭建后端服务器。需要根据app的需求和预期的用户量来选择合适的部署方式。 数据库用于存储和管理app的数据,可以选择关系型数据库或者NoSQL数据库,根据app的数据结构和需求来选择合适的数据库类型。数据库的部署可以和后端服务器部署在同一台服务器上,也可以使用分布式数据库来提高数据的处理性能和可靠性。 此外,还需要考虑app的安全性,例如采用数据加密、身份验证等措施来保护用户数据的安全。还需考虑系统的可扩展性和容错性,以便在用户增长或服务器出现故障时能够灵活调整和保证app的正常运行。 总之,手机app的物理结构设计部署图是一个综合考虑app的组成部分、交互关系和部署方式的图表,可以帮助开发团队更好地理解和规划app的整体架构和部署方式。 ### 回答3: 手机app物理结构设计部署图是指描述手机应用程序的物理架构和部署方式的图示。它包括了手机app的各个组件、模块、服务和数据库等在物理层面的设计和部署方式。 在物理结构设计方面,首先需要确定手机app的主要组件和模块。例如,一个典型的手机app可能包括前端界面、业务逻辑、数据持久化等组件。这些组件可以被分为不同的层次,如表示层、应用层和持久化层等。 接着,需要确定每个组件所需的硬件资源和软件环境,以确保它们的正常运行。例如,前端界面可能需要适配不同的手机屏幕尺寸和设备操作系统,而业务逻辑则需要充足的计算资源来处理用户请求。 然后,需要决定组件之间的通信方式和协作方式。例如,前端界面可以通过HTTP协议与后端的业务逻辑进行通信,而业务逻辑则可以通过SQL语句与数据库进行数据交互。 在部署图方面,需要将手机app的各个组件部署到相应的服务器或设备上。这些服务器或设备的选择应考虑到性能、可靠性和安全性等因素。例如,前端界面可以部署在手机终端上,而后端业务逻辑和数据库可以部署在云服务器上。 最后,需要画出一张示意图,清晰地展示出手机app的物理结构和部署方式。图中可以标示出各个组件的位置、通信方式和数据流向等信息,以便开发团队和其他相关人员能够理解和沟通。 手机app物理结构设计部署图是一个非常重要的设计文档,它可以帮助开发团队更好地理解和实现手机app的架构和部署方式。同时,它也可以作为沟通工具,帮助开发团队与其他相关人员之间进行有效的沟通和协作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挥之以墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值