热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件工程类图_软件工程专题:UML部署图

关注BeTester,学习更多知识让碎片成体系,让测试更专业1、概述部署图(DeployDiagram),也叫
c08fe899e8a0a6adb7653eef811e5418.png

关注BeTester,学习更多知识

让碎片成体系,让测试更专业

7a60aec8abe2afa28ad16d49d3355789.png

1、概述

部署图(Deploy Diagram),也叫拓扑图(Topology Diagram),主要用于显示软件产品中硬件和软件的物理架构图。从部署图中,我们可以了解到软件和硬件之间的物理拓扑、连接关系以及处理节点的分布情况。

2、部署图元素

2.1 部署元素

PlantUML中定义了很多关键字用于对不同类型节点的说明。

@startuml
actor 角色
agent 代理
artifact 物件或工件
boundary 边界
card 卡片
cloud 云端
component 组件
control 控制
database 数据库
entity 实体
file 文件
folder 文件夹
frame 框
interface 接口
node 节点
package 包
queue 队列
stack 堆栈
rectangle 矩形
storage 存储
@enduml

3ea0ab1606d7c5e7f76ef629d663a08c.png
  1. 节点:表示系统的计算资源(如计算机、传感器、打印设备或服务器等)的模型元素。
  2. 工件:表示软件系统中的物理实体的模型元素,如可执行文件、库、文档、数据库等。

2.2 元素详细描述

通过 [] 可以增加元素的详细描述,并且通过 ==== / …. / —— 来进行分割文本描述。

@startuml
node 测试设备 [第一行描述----第二行描述....第三行描述====第四行描述
]
@enduml

c3205527ca93f343ac6ff4adcb892322.png

2.2 元素嵌套

通过 {} 来对父节点的内部进行定义,使得元素之间存在父子关系(即嵌套)。

@startuml
node 父节点 {node 子节点1node 子节点2
}
@enduml

e0b704d1ac94ab5546561ff24f735dd7.png

2.3 链接关系

部署图中元素之间的关系存在一定的关系,这些关系与 类图 中的关系相似,请大家参考《软件工程专题:UML类图》。

@startuml
node node1
node node2
node node3
node node4
node node5
node1 ..|> node2 : 实现
node1 ..> node3 : 使用
node1 --|> node4 : 继承
node1 <--> node5 : 关联
&#64;enduml

c9c139918d1f85ccd112f058ea901338.png

3、部署图绘制步骤

  1. 找出系统关联的节点&#xff08;包括软件和硬件&#xff09;
  2. 逐个确定每个节点与其他阶段的关联关系
  3. 根据关联关系&#xff0c;连接两个节点
  4. 重复步骤2和3&#xff0c;直到所有节点都完成
部署图之间的难点在于如何找出系统的节点&#xff0c;建议&#xff1a;
  1. 开发工程师了解被测对象的内部结构及上下游关系。
  2. 资深测试工程师了解被测对象的整体架构图&#xff0c;涉及到的软硬件。

4、实例说明

4.1 CI概要部署图

&#64;startuml
title CI概要部署图actor 测试工程师 as auto
database 自动化测试数据库 as db
node 办公电脑 as pc
node CI主服务器 as ci_master
node CI从服务器 as ci_slave
node 日志服务器 as log_server
node 报告服务器 as report_servercloud 办公网络 as public_cloud
cloud 自动化私有网络 as auto_cloudnode 测试设备 as dutauto ..> pcpc -> public_cloud : HTTP
public_cloud -> pcpublic_cloud <--> auto_cloud : 跳板机public_cloud -> log_server : FTP/SMB
log_server -> public_cloudpublic_cloud -> report_server
report_server --> public_cloudreport_server --> db : tcpci_master -> auto_cloud
auto_cloud -> ci_masterci_master -> db : tcp
db -> ci_masterci_master --> ci_slave : ssh
ci_slave -> ci_masterci_slave --> dut : usb
dut -> ci_slave&#64;enduml

82d585c14903b230feb01de577d25289.png

4.2 简易部署流水线

&#64;startuml
queue 部署流水线 {node 代码服务器 as codenode 编译服务器 as compnode 工件服务器 as airnode 测试执行机 as exec node 报告服务器 as reportnode 部署机器 as deploycode -> compcomp -> airair -> execexec -> reportreport -> deploy
}
&#64;enduml

d2a9a4f621904cf0a953f983b4973964.png

4、小结

部署图通常在产品的实现阶段前准备&#xff0c;作为详细分析的输入件。通过部署图&#xff0c;能够非常直观地了解系统的整体架构&#xff0c;能够对系统由浅入深地了解系统&#xff0c;对产品是非常重要的表现形式。

另外&#xff0c;由于部署图展示了各节点运行时状态&#xff0c;所以在部署图上也可以用来评定分布和资源分配。

—— 更多文章 ——

  • 软件工程专题&#xff1a;UML状态图
  • 软件工程专题&#xff1a;UML活动图
  • 软件工程专题&#xff1a;UML通信图
  • 软件工程专题&#xff1a;UML顺序图
  • 软件工程专题&#xff1a;UML用例图
  • 软件工程专题&#xff1a;UML类图
  • 软件工程专题&#xff1a;Plant UML实践
  • 软件工程专题&#xff1a;UML简介
0ba95be8bb15e35103fd3c89baad3c4c.png

如果有任何的疑问&#xff0c;也可以联系小小志

1137bcc0c982894cab3f803fe25c76fb.png



推荐阅读
  • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 阿里云MySQL与Oracle数据库的主从复制技术详解 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 汽车电子架构与CAN网络基础解析——鉴源实验室专业解读 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • Jeecg开源社区正式启动第12届架构技术培训班,现已开放报名。本次培训采用师徒制模式,深入探讨Java架构技术。类似于大学导师指导研究生的方式,特别适合在职人员。导师将为学员布置课题,提供丰富的视频资料,并进行一对一指导,帮助学员高效学习和完成任务。我们的教学方法注重实践与理论结合,旨在培养学员的综合技术能力。 ... [详细]
  • 在C#中开发MP3播放器时,我正在考虑如何高效存储元数据以便快速检索。选择合适的数据结构,如字典或数组,对于优化性能至关重要。字典能够提供快速的键值对查找,而数组则在连续存储和遍历方面表现优异。根据具体需求,合理选择数据结构将显著提升应用的响应速度和用户体验。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
author-avatar
全仕介个
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有