UML建模图文详解教程08——部署图
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址: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);图示如下:

至此,我们完成了航空购票系统部署图的绘制。
相关文章:
UML建模图文详解教程08——部署图
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl本文参考资料:《UML面向对象分析、建模与设计(第2版)》吕云翔,赵天宇 著 部署图概述 部署图(deployment diagram)也被译作配置…...
发布鸿蒙的第一个java应用
1.下载和安装华为自己的app开发软件DevEco Studio HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 2.打开IDE新建工程(当前用的IDEA 3.1.1 Release) 选择第一个,其他的默认只能用(API9)版本,搞了半天才发现8ÿ…...
【C++干货铺】优先队列 | 仿函数
个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 优先队列(priority_queue )的介绍和使用 priority_queue的介绍 priority_queue的使用 大堆 小堆 priority_queue的模拟实现 仿…...
突破技术障碍:软件工程师如何应对项目中的难题?
在软件开发项目中,工程师常常会遇到各种技术难题。这些难题可能涉及到复杂的算法、不兼容的系统、难以预见的软件行为,或者其他许多方面。 以下是一些策略和方法,可以帮助软件工程师有效地应对这些挑战: 1、理解问题:…...
Linux(7):Vim 程序编辑器
vi 基本上 vi 共分为三种模式,分别是【一般指令模式】、【编辑模式】与【指令列命令模式】。 这三种模式的作用分别是: 一般指令模式(command mode) 以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模…...
windows搭建gitlab教程
1.安装gitlab 说明:由于公司都是windows服务器,这里安装以windows为例,先安装一个虚拟机,然后安装一个docker(前提条件) 1.1搜索镜像 docker search gitlab #搜索所有的docker search gitlab-ce-zh #搜索…...
力扣:单调栈算法思路题
单调栈分为单调递增栈和单调递减栈,通过使用单调栈我们可以访问到最近一个比它大(小)的元素。 🍊 单调递增栈:单调递增栈就是从栈底到栈顶数据是依次递增,通常是寻找某方向第一个比它小的元素。 …...
11 月 25 日 ROS 学习笔记——3D 建模与仿真
文章目录 前言一、在 ROS 中自定义机器人的3D模型1. 在 rviz 里查看3D模型2. xacro 二、Gazebo1. urdf 集成 gazebo2. 综合应用1). 运动控制及里程计2). 雷达仿真3). 摄像头信息仿真4). kinect 深度相机仿真5). 点云 前言 本文为11 月 25 日 ROS 学习笔记——3D 建模与仿真&am…...
MidJourney笔记(3)-Prompts
MidJourney的Prompts介绍 MidJourney的Prompts是MidJourney的核心之一,这也是我们后续使用MidJourney过程中最重要的工作内容,根据生成的图片,不断的优化我们的Prompts内容。 那Prompts的中文意思是提示的意思。 Prompts的提示语有很多,最基础的用法就是: /imagine prompt…...
贪心 D. Least Cost Bracket Sequence
Problem - D - Codeforces 题目大意:给一个只包含(,),?三个字符的字符串。每个?可以转为(或者),对于第 i i i个?转为(需要花费 a i a_i ai,转为)需要花费 b i b_i bi。现在问能否让该字符串转为合法的括号匹配…...
iOS APP包分析工具 | 京东云技术团队
介绍 分享一款用于分析iOSipa包的脚本工具,使用此工具可以自动扫描发现可修复的包体积问题,同时可以生成包体积数据用于查看。这块工具我们团队内部已经使用很长一段时间,希望可以帮助到更多的开发同学更加效率的优化包体积问题。 工具下载…...
在 VSCode 中使用 GDB 进行 C/C++ 程序调试(图文版)
(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮࿰…...
任意文件读取漏洞理解
任意文件读取漏洞理解 1. 漏洞描述: 任意文件读取漏洞是指攻击者可以利用漏洞读取系统上的任意文件,包括敏感信息的配置文件、用户数据甚至系统文件,从而获取未经授权的访问权限。 2. 漏洞原理: 这种漏洞通常是由程序处理用户输入…...
linux 安装yum
问题1:File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e: ^ 问题2:yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ vim /usr/…...
数学启发式
学习资料: 优化求解器 | Gurobi 数学启发式算法:参数类型与案例实现 数学启发式算法 | 可行性泵 (Feasibility Pump)算法精讲:一份让您满意的【理论介绍编程实现数值实验】学习笔记(PythonGurobi实现) 大佬到底是大佬!这些资料太…...
Win10/Win11 使用Wsl的Ubuntu 子系统搭建CGO环境,相当于Ubuntu下开发。GO环境CGO搭建,支持交叉编译
背景: 之前是使用Mac 开发,最近切换到win11下面。发现使用cgo编译有问题。 下面记载了我的使用方法。 环境: win11(win10理论一样) win11 安装了wsl2的环境,并且安装了ubuntu系统。 在win11 上面安装了g…...
CSS新特性(2-2)
CSS新特性(2-2) 前言box相关box-shadow background背景rgba颜色与透明度transform:rotate(Xdeg) 2D旋转transform:tranlate 平移 前言 本文继续讲解CSS3其他的新特性,想看之前新特性点击这里,那么好本文正式开始。 box相关 box…...
为什么,word文件在只读模式下,仍然能编辑?
Word文档设置了只读模式,是可以编辑的,但是当我们进行保存的时候就会发现,word提示需要重命名并选择新路径才能够保存。 这种操作,即使可以编辑文字,但是原文件是不会受到影响的,编辑之后的word文件会保存到…...
29 - 装饰器模式:如何优化电商系统中复杂的商品价格策略?
开始今天的学习之前,我想先请你思考一个问题。假设现在有这样一个需求,让你设计一个装修功能,用户可以动态选择不同的装修功能来装饰自己的房子。例如,水电装修、天花板以及粉刷墙等属于基本功能,而设计窗帘装饰窗户、…...
逆矩阵相关性质与例题
1.方阵的行列式:就是将方阵中的每一个元素转换至行列式中。 1.性质一:转置方阵的行列式等于转置前的行列式。(对标性质:行列式与它的转置行列式相等) 2.性质二:|ka||a|*k的n次方,n为方阵阶数。 …...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
