UML建模图文详解教程08——部署图

news2024/7/6 20:56:47

版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl
  • 本文参考资料:《UML面向对象分析、建模与设计(第2版)》吕云翔,赵天宇 著

在这里插入图片描述

部署图概述

部署图(deployment diagram)也被译作配置图或实施图,是一种展示运行时进行处理的节点和在节点上存在的制品的配置的图。部署图阐述了在实际应用中软件及其运行环境(这里主要指运行该软件的硬件环境)的关系,并且描述了软件部署在硬件上的具体方式部署图与组件图都是用来对系统的物理方面进行建模。部署图侧重于系统安装、部署的拓扑结构。

在部署图中,我们忽略掉软件内部的各个联系使用节点和连接这两种事物来表达运行系统的硬件部署结构。这种结构主要描述物理系统的组成部分是如何组织在一起的。在实际应用中我们使用部署图来提示如何配置系统时部署效率较高,或哪些硬件配置可能对相应位置的组件带来效率瓶颈。

例如,在C/S架构的系统的简易部署图中包含三个节点,分别代表客户端(客户端)、服务器(服务器)和数据库服务器 (数据库服务器)其中,客户端和服务器之间通过协议通信,而服务器和数据库服务器之间通过协议进行通信。

在这里插入图片描述

部署图核心知识

请务必熟悉并掌握以下核心知识点。

节点

节点(node)是运行时的物理对象,代表一个计算资源。所谓计算资源,即在运行过程中进行大量的操作和运算并且需要一定的存储空间。在设计软件时我们考虑那些对计算有用的硬件资源,它们通常就是节点。

UML 图中的节点被表示为一个长方体并包含节点的名字。

在这里插入图片描述

连接

部署图的节点之间使用关联关系来表示节点之间的通信路径,称为连接(connection)在连接节点时,一般对关联关系不进行命名而是使用构造型来区分不同类型的通信路径或通信的实现方式。通常情况下采用<< Ethernet>><< TCP/IP>>和<< HTTP>等能表明通信协议或网络类型的内容。

例如,节点之间的关联关系就可以表示在主机(Host)与客户机(Client)之间使用TCP/IP 协议进行通信。

在这里插入图片描述

航空购票系统部署图

在此,介绍航空购票系统的部署图。

添加节点

根据系统情境可以分析出该系统应该包括四个节点,它们分别是客户端、管理员端、服务器端以及数据库服务器端。

与创建用例图类似,请在Model中创建部署图;图示如下:

在这里插入图片描述

点击确定后,图示如下:

在这里插入图片描述

选中部署图图,右键单击选择添加图,再选择UML Structural和Deployment;图示如下:

在这里插入图片描述
点击确定后,图示如下:

在这里插入图片描述

请将工具箱中的Node拖动至绘图区并设置其名称为客户端;图示如下:

在这里插入图片描述
点击确定后,图示如下:

在这里插入图片描述
类似地,在绘图去添加另外三个节点Web服务器端、数据库服务器端、管理员端;图示如下:

在这里插入图片描述

添加连接

在确定好系统的节点之后,我们将需要通信的节点连接起来。在此系统中,用户端与管理员端都直接与服务器端通信以执行系统逻辑,程序系统服务器与数据库管理系统之间进行通信以进行数据库的查询与更新操作。此外,对每个连接附上合适的构造型来表示通信方式。

首先,利用工具箱中Deployment Relationships中的Associate连接客户端与Web服务器端;图示如下:

在这里插入图片描述

双击连接线,在构造型中填入HTTP;图示如下:

在这里插入图片描述

点击确定后,图示如下:

在这里插入图片描述

类似地,添加管理员端与Web服务器端的连接;图示如下:

在这里插入图片描述

类似地,添加Web服务器端与数据库服务器端的的连接,该连接的构造型为ADO(ActiveX data Object);图示如下:

在这里插入图片描述
至此,我们完成了航空购票系统部署图的绘制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线程池(用于处理Runnable任务或Callable任务)

一&#xff0c;线程池 二&#xff0c; 如何创建线程池 案例&#xff1a; //1,通过ThreadPoolExecuter创建一个线程池对象ExecutorService pool new ThreadPoolExecutor(3,5,8,TimeUnit.SECONDS,new LinkedBlockingQueue<>(4),Executors.defaultThreadFactory(),new Thr…

Java LCR 089 打家劫舍

题目链接&#xff1a;打家劫舍 定义一个数组 dp&#xff0c;其中 dp[i] 表示从第 0 间房子到第 i 间房子&#xff08;包括第 i 间&#xff09;能够偷窃到的最高金额。 对于第 i 间房子有两种选择&#xff0c;偷或不偷&#xff1a; 偷就不能偷第 i - 1 间房子&#xff1a; dp[i]…

【教学类-06-08】20231125(55格版)X-Y之间“减法-题”(以10-20之间为例)(必须X>Y,题目少)

图片展示 需求&#xff1a; 20以内减法&#xff0c;不需要再练习其中10以内部分&#xff0c;改为10-20以内的减法&#xff0c;X-Y大于10&#xff0c;小于20的所有减法题。 代码展示&#xff1a; “-”减法 X-Y 之间的所有减法-题&#xff08;如10-20之间的所有减法&#xff0…

VSCode 警告:v-on event ‘@toggleClick‘ must be hyphenated

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

VUE留言板

效果预览图 完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>作业</title><styl…

快手AI布局:从直播电商到大模型,如何打造智能生态?

快手科技在2023年第三季度业绩中&#xff0c;首次披露了关于AI业务的一些重要信息&#xff0c;显示出其对AI的重视和投入。快手AI的核心业务和竞争优势是什么&#xff1f;AI的发展&#xff0c;对快手业绩带来了哪些方面的提振&#xff1f; 快手AI业务板块&#xff1a;直播电商…

百度AI布局:从财报看百度的核心竞争力和未来发展方向

百度是中国最大的搜索引擎&#xff0c;也是全球领先的人工智能&#xff08;AI&#xff09;公司。百度在2023年第三季度业绩中&#xff0c;展示了其在AI领域的强劲表现和广阔前景。 百度财报透露了关于AI业务的哪些重要信息&#xff1f; 百度在2023年第三季度的财报中&#xf…

1.5 C语言之字符输入输出

1.5 C语言之字符输入输出 一、概述二、字符计数三、行计数四、单词计数五、练习 一、概述 字符文本流&#xff0c;是由多行字符构成的字符序列&#xff0c;而每行字符都由0个或多个字符组成&#xff0c;行末是一个换行符。 标准库提供的输入输出模型&#xff0c;用于读取文本内…

【Python】(自定义类)计算语句执行时间

一个玩具&#xff0c;写着来玩的。 用的time模块&#xff0c;代码很简单(所以才说是个玩具) 代码&#xff1a; import time class TimeStamp:__timestampNone__keyNonedef __init__(self,tipsNone,keyNone):self.__timestamp{}self.NewStamp(tips,key)def NewStamp(self,tips,…

RK3568驱动指南|第八篇 设备树插件-第73章 设备树插件使用实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

针对String、StringBuffer、Stringbuilder区别及使用场景

可变性&#xff08;Mutability&#xff09;&#xff1a; String&#xff1a; 字符串是不可变的。一旦创建了一个字符串对象&#xff0c;它的值就不能被修改。任何对字符串的操作实际上都是创建了一个新的字符串对象。 StringBuilder&#xff1a; 字符串生成器&#xff0c;是可…

希尔伯特变换-matlab仿真

希尔伯特变换&#xff08;hilbert transform&#xff09;简介 在信号处理中我们常见的有傅里叶变换&#xff0c;用来分析频域信息&#xff0c;还有拉普拉斯变换和z变换&#xff0c;用于系统分析系统响应。短时傅里叶分析和小波分析用于时频分析。希尔伯特变换似乎听到的比较少…

node fs模板及蓝桥案例实战

文章目录 介绍文件写入writeFile 异步写入writeFileSync 同步写入appendFile / appendFileSync 追加写入createWriteStream 流式写入 文件读取readFile 异步读取readFileSync 同步读取createReadStream 流式读取 文件移动与重命名文件删除文件夹操作mkdir / mkdirSync 创建文件…

DNS/ICMP协议、NAT技术

目录 DNS协议DNS背景域名简介 ICMP协议ICMP功能ping命令traceroute命令 NAT技术NAT技术背景NAT IP转换过程NAPTNAT技术的缺陷NAT和代理服务器 网络协议总结应用层传输层网络层数据链路层 DNS协议 DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;协议&…

【送书福利-第二十八期】《从概念到现实:ChatGPT和Midjourney的设计之旅》

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号&#xff1a;程序员洲洲。 &#x1f388; 本文专栏&#xff1a;本文…

软件测试之银行测试详解

一、金融类软件测试 举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班的话想对来说没那么多&#xff08;有些银行加班也挺严重的&#xff09;&#xff0c;但业务稳定。实在是测试类岗位中的香饽饽&#xf…

实现简单的操作服务器和客户端(上)

一、说明 描述:本教程介绍如何使用 simple_action_server 库创建斐波那契动作服务器。此示例操作服务器生成斐波那契序列,目标是序列的顺序,反馈是计算的序列,结果是最终序列。 内容 创建操作消息编写一个简单的服务器 代码

没搞懂二维差分是什么怎么办???

摸鱼的时候画的&#xff0c;根据公式反推 一维差分倒是懂了 a[10]{1,2,6,9,11,12,17,21,32,67}; c[10]{1,1,4,3,2,1,5,4,11,35}; 现要把[3,7]的值都增加3 c[10]{1,1,7,3,2,1,5,1,11,35}; 要查询的时候再用for循环相加 结论&#xff1a;成立且适用于多次修改 不知道为什么这个…

Praat脚本-038 | 批量替换标注TextGrid里的换行符

目录 引题获取脚本运行脚本知识引申关注版权说明 引题 我们在做标注的时候&#xff0c;可能会犯这样一个小错误&#xff0c;就是在标注的内容中间不小心进行了换行&#xff0c;大概会成为这个样子。 这样会有什么问题呢&#xff1f;在提取数据的时候&#xff0c;你会发现&…

【数据结构】堆(C语言)

今天我们来学习堆&#xff0c;它也是二叉树的一种&#xff08;我滴神树&#xff01;&#xff09; 目录 堆的介绍&#xff1a;堆的代码实现&#xff1a;堆的结构体创建&#xff1a;堆的初始化&#xff1a;堆的销毁&#xff1a;堆的push&#xff1a;堆的pop&#xff1a;判空 &am…