关注BeTester,学习更多知识
让碎片成体系,让测试更专业
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
- 节点:表示系统的计算资源(如计算机、传感器、打印设备或服务器等)的模型元素。
- 工件:表示软件系统中的物理实体的模型元素,如可执行文件、库、文档、数据库等。
2.2 元素详细描述
通过 [] 可以增加元素的详细描述,并且通过 ==== / …. / —— 来进行分割文本描述。
@startuml
node 测试设备 [第一行描述----第二行描述....第三行描述====第四行描述
]
@enduml
2.2 元素嵌套
通过 {} 来对父节点的内部进行定义,使得元素之间存在父子关系(即嵌套)。
@startuml
node 父节点 {node 子节点1node 子节点2
}
@enduml
2.3 链接关系
部署图中元素之间的关系存在一定的关系,这些关系与 类图 中的关系相似,请大家参考《软件工程专题:UML类图》。
@startuml
node node1
node node2
node node3
node node4
node node5
node1 ..|> node2 : 实现
node1 ..> node3 : 使用
node1 --|> node4 : 继承
node1 <--> node5 : 关联
&#64;enduml
3、部署图绘制步骤
- 找出系统关联的节点&#xff08;包括软件和硬件&#xff09;
- 逐个确定每个节点与其他阶段的关联关系
- 根据关联关系&#xff0c;连接两个节点
- 重复步骤2和3&#xff0c;直到所有节点都完成
部署图之间的难点在于如何找出系统的节点&#xff0c;建议&#xff1a;
- 找开发工程师了解被测对象的内部结构及上下游关系。
- 找资深测试工程师了解被测对象的整体架构图&#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
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
4、小结
部署图通常在产品的实现阶段前准备&#xff0c;作为详细分析的输入件。通过部署图&#xff0c;能够非常直观地了解系统的整体架构&#xff0c;能够对系统由浅入深地了解系统&#xff0c;对产品是非常重要的表现形式。
另外&#xff0c;由于部署图展示了各节点运行时状态&#xff0c;所以在部署图上也可以用来评定分布和资源分配。
—— 更多文章 ——
- 软件工程专题&#xff1a;UML状态图
- 软件工程专题&#xff1a;UML活动图
- 软件工程专题&#xff1a;UML通信图
- 软件工程专题&#xff1a;UML顺序图
- 软件工程专题&#xff1a;UML用例图
- 软件工程专题&#xff1a;UML类图
- 软件工程专题&#xff1a;Plant UML实践
- 软件工程专题&#xff1a;UML简介
如果有任何的疑问&#xff0c;也可以联系小小志