Draw.io绘制UML图教程

一、draw.io介绍

1、draw.io简介

draw.io 是一款强大的免费在线图表绘制工具,支持创建流程图、组织结构图、时序图等多种图表类型。它提供丰富的形状库、强大的文本编辑和样式设置功能,使用户能够轻松创建专业级图表。draw.io 具有用户友好的界面,支持实时协作,可以存储到云端服务,并提供多种导出选项。作为一款开源软件,它广泛用于个人、教育和小型团队,为用户提供了灵活、便捷的图表绘制体验。

draw.io 提供了丰富的图表类型,包括但不限于:

  • 流程图
  • 组织结构图
  • 时序图
  • 思维导图
  • UML 图
  • 网络图
  • ER 图(实体关系图)
  • 电路图等

2、draw.io特点 

具有以下特点:

特点详细描述
免费且开源draw.io 是一款开源软件,并且完全免费使用。你可以直接在浏览器中使用,无需下载或安装任何应用程序。这使得它成为一个便捷的工具,适用于个人用户、学生和小型团队。
多种图表类型draw.io 提供了丰富的图表类型,比如流程图、组织结构图、时序图、思维导图、UML 图、网络图、ER 图(实体关系图)、电路图等。
强大的编辑功能draw.io 提供了丰富的形状库,包括基本形状、流程图符号、图标等,方便用户快速创建图表。用户可以轻松编辑图表中的文本,调整字体、颜色和大小。支持对图表中的元素进行颜色、边框、填充等样式设置,使图表更加生动。
实时协作draw.io 支持多用户实时协作编辑图表,用户可以通过共享链接邀请他人查看或编辑图表。这使得团队成员能够在同一图表上协同工作,提高工作效率。
云端存储用户可以选择将图表保存到云端服务(如 Google Drive、OneDrive、GitHub 等),方便随时随地访问和编辑。
灵活导出draw.io 提供了多种导出选项,包括 PNG、JPEG、SVG、PDF 等格式,使用户可以灵活地分享、嵌入或打印图表。
用户友好性draw.io 设计简单直观,用户界面友好,不需要复杂的学习过程即可上手。同时,它也提供了丰富的在线文档和教程,帮助用户更好地利用工具的各种功能。


3、开源版本Diagrams

同时,draw.io 拥有开源版本 Diagrams。Diagrams 源代码是基于 draw.io 的开源分支,允许用户在本地部署和使用,同时保留了 draw.io 的核心功能和特性。 


二、draw.io的使用步骤

访问 draw.io,可以直接在浏览器中使用,不需要下载或安装任何软件。

选择模板或空白页面 

  • 选择 "New Diagram"。
  • 选择你想要创建的图表类型,或者选择 "Blank Diagram" 以开始一个空白图表。

添加形状

  • 从左侧的面板中选择你想要添加的形状,例如矩形表示流程步骤,箭头表示流程流向。
  • 将形状拖动到画布上。

连接形状

  • 选择 "Connector" 工具。
  • 点击一个形状,拖动鼠标到另一个形状,连接它们。

编辑文本

  • 双击形状,开始编辑文本。
  • 输入你想要显示的文本,按 Enter 完成编辑。

格式化和样式 

  • 选中一个形状,你可以通过右侧的 "Format" 栏修改颜色、字体等样式。
  • 通过右键点击形状,选择 "Format" 进行更高级的格式设置。

添加图片和图标

  • 选择 "Image" 工具。
  • 从你的计算机中拖动一个图片文件到画布上。

保存和导出

  • 选择 "File" -> "Save" 以保存你的图表。
  • 可以选择不同的格式导出图表,如 PNG、JPEG、PDF 等。

共享和协作

  • 使用 draw.io 的 "Share" 功能,可以生成一个共享链接,方便团队协作编辑。

通过以上步骤,你就可以创建一个简单的流程图。draw.io 提供了丰富的工具和选项,可以满足各种图表绘制的需求。通过不断尝试和探索,你会逐渐掌握 draw.io 的更多功能。


三、draw.io结合PlantUML

draw.io 结合 PlantUML 提供了强大的 UML 图绘制功能。PlantUML 是一种基于文本描述的 UML 图生成工具,通过在 draw.io 中嵌入 PlantUML 语法,用户可以快速绘制出各种 UML 图,如类图、时序图等。

使用步骤:

打开 draw.io,在右侧代表新建的加号。

在 "高级" 下找到 "PlantUML"。

编写 PlantUML 语法,例如:

@startuml
 
!define RECTANGLE class
 
RECTANGLE "EVB RK3568\n开发板" {
}
 
RECTANGLE "Node.js和\nNode-RED" {
  +getData()
  +processData()
}
 
RECTANGLE "SQLite\n数据库模块" {
  +storeData()
}
 
RECTANGLE "Opcua\n数据获取" {
  +fetchData()
}
 
RECTANGLE "MQTT" {
  +publishData()
}
 
RECTANGLE "Windows10+DevEco Studio\n用户界面" {
  +displayData()
  +setThreshold()
}
 
RECTANGLE "服务器" {
  +receiveData()
  +triggerAlarm()
}
 
"EVB RK3568\n开发板" -> "Node.js和\nNode-RED": 传感器数据
"Node.js和\nNode-RED" -> "SQLite\n数据库模块": storeData()
"Node.js和\nNode-RED" -> "Opcua\n数据获取": fetchData()
"Node.js和\nNode-RED" -> "MQTT": publishData()
"MQTT" -> "服务器": receiveData()
 
"服务器" -> "Windows10+DevEco Studio\n用户界面": displayData()
"Windows10+DevEco Studio\n用户界面" -> "服务器": setThreshold()
 
@enduml

将 PlantUML 语法粘贴到 draw.io 的 PlantUML 输入框中。

点击 "Apply" 应用语法,draw.io 将生成相应的 UML 图。


四、draw.io结合Mermaid

draw.io 还支持与 Mermaid 集成,Mermaid 是一个用于绘制流程图、时序图等的 JavaScript 库。

使用步骤:

打开 draw.io,在右侧代表新建的加号。

将 Mermaid 语法粘贴到 draw.io 的 Mermaid 设备中。

sequenceDiagram
    participant A as 用户
    participant B as Harmony设备
    participant C as 云服务器
    participant D as 云数据库
    participant E as 嵌入式上层应用
    participant F as 开发板
    participant G as SQLite
 
    activate A #grey
    note over A: 用户查看操作
    A->>B: 查询事件
    deactivate A
    activate B #lightblue
    B->>C: 请求数据
    deactivate B
    activate C #orange
    C->>D: 查询
    deactivate C
    activate D #blue
    D-->>C: 返回数据
    deactivate D
    activate C #orange
    C-->>B: 返回数据
    deactivate C
    activate B #lightblue
    B-->>A: 显示内容
    deactivate B
 
    activate A #grey
    note over A: 用户更改操作
    A->>B: 更新事件
    deactivate A
    activate B #lightblue
    B->>C: 请求更新
    deactivate B
    activate C #orange
    C->>F: 请求更新
    deactivate C
    activate F #lightgreen
    F->>G: 请求更新
    deactivate F
    activate G #green
    G-->>F: 返回结果
    deactivate G
    activate F #lightgreen
    F->>C: 发送修改请求
    deactivate F
    activate C #orange
    C->>D: 更新数据
    deactivate C
    activate D #blue
    D-->>C: 返回结果
    deactivate D
    activate C #orange
    C-->>B: 返回结果
    deactivate C
    activate B #lightblue
    B-->>A: 返回结果
    deactivate B
    activate A #grey
    A->>A: 提示结果
    note over A: 操作成功
    deactivate A

点击 "Apply" 应用语法,draw.io 将生成相应的流程图。

通过结合 PlantUML 和 Mermaid,draw.io 提供了更多的图表绘制选项,使用户能够更灵活地创建各种 UML 图和流程图。这种结合使得 draw.io 成为一个适用于不同图表需求的多功能图表工具。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UTONMOS开启数智龙年,打造元宇宙游戏圈新名片

新年已过,全国各个城市早已客流涌动、热闹非凡。这种繁华景象不仅存在于现实世界,也被复刻到元宇宙的虚拟空间中。 据介绍,UTONMOS“源起山海-神念无界”元宇宙游戏是以原创IP玄幻神话故事“元宇宙史纪”为蓝本打造的元宇宙游戏空间&#xf…

图文说明Linux云服务器如何更改实例镜像

一、应用场景举例 在学习Linux的vim时,我们难免要对vim进行一些配置,这里我们提供一个vim插件的安装包: curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o./install.sh && bash ./install.sh 但是此安装包…

可变形注意力(Deformable Attention)及其拓展

文章目录 一、补充知识(一)可变形卷积(Deformable Convolution)(二)多头注意力机制 二、可变形注意力模块三、可变形自注意力模块(一)偏移模块:(二&#xff0…

“比特币暴涨讯号显现”!减半牛市来临前还有一次震撼回撤?“52000美元保卫战”已经打响!

虽然比特币在20日一度冲高至近5.3万美元大关,创下自2021年11月来新高,但随后开始回落,在51000美元至52000美元之间反复窄幅波动,甚至在21日晚一度跌至50625美元。比特币的未来走势,已牵动不少投资者的心。 自1月底比特…

华为OD机试真题-来自异国的客人-2023年OD统一考试(C卷)--Python3--开源

题目: 考察内容: 10进制转为任何进制 代码: """ 题目分析:输入: k --物品价值;n 幸运数字;m 进制 输出: 幸运数字的个数 异常;0 eg; 10 2 4思路&…

STM32—触摸键

目录 1 、 电路构成及原理图 2 、编写实现代码 3、代码讲解 4、烧录到开发板调试、验证代码 5、检验效果 此笔记基于朗峰 STM32F103 系列全集成开发板的记录。 1 、 电路构成及原理图 触摸键简单的了解就是一次电容的充放电过程。从原理图可以看出,触摸键 …

代码随想录算法训练营第21天—回溯算法01 | ● 理论基础 ● *77. 组合

理论基础 回溯是一种纯暴力搜索的方法,它和递归相辅相成,通常是执行完递归之后紧接着执行回溯相较于以往使用的for循环暴力搜索,回溯能解决更为复杂的问题,如以下的应用场景应用场景 组合问题 如一个集合{1,2,3,4},找…

Linux 权限详解

目录 一、权限的概念 二、权限管理 三、文件访问权限的相关设置方法 3.1chmod 3.2chmod ax /home/abc.txt 一、权限的概念 Linux 下有两种用户:超级用户( root )、普通用户。 超级用户:可以再linux系统下做任何事情&#xff…

Vant轮播多个div结合二维数组的运用

需求说明 在开发H5的时候,结合Vant组件的轮播组件Swipe实现如下功能。我们查阅vant组件库官方文档可以得知,每个SwipeItem组件代表一个卡片,实现的是每屏展示单张图片或者单个div轮播方式,具体可以查阅:Vant 2 - 轻量、…

如何计算点、线、面关系

从公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 普遍有三种方式 面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。 夹角…

c#程序,oracle使用Devart驱动解决第第三方库是us7ascii,数据乱码的问题

最近做项目,要跟对方系统的库进行读写,结果发现对方采用的是oracle的us7ascii编码,我们系统默认采用的是ZHS16GBK,导致我们客户端读取和写入对方库的数据都是乱码,搜索网上,发现需要采用独立的oracle驱动去…

网络知识

目录 IP地址(Internet protocol address) —— 互联网协议地址 子网掩码 网关 路由 DNS(Domain Name Server) —— 域名服务器 IP地址(Internet protocol address) —— 互联网协议地址 子网掩码 作用:划分网段 网络部分相同的IP地址&a…

简介高效的 CV 入门指南: 100 行实现 InceptionResNet 图像分类

简介高效的 CV 入门指南: 100 行实现 InceptionResNet 图像分类 概述InceptionResNetInception 网络基本原理关键特征 ResNet 网络深度学习早期问题残差学习 InceptionResNet 网络InceptionResNet v1InceptionResNet v2改进的 Inception 模块更有效的残差连接设计 100 行实现 I…

C 标准库 - <errno.h>

在C语言编程中&#xff0c;<errno.h> 头文件扮演着至关重要的角色&#xff0c;它提供了一个全局变量 errno 以及一系列预定义宏&#xff0c;用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…

【软芯民用】基于数字孪生平台的智慧灌区信息化管理系统

本文介绍了一种基于数字孪生平台的智慧综合管理系统&#xff0c;旨在实现数字化转型和精细化管理。该系统以提高用水效率为核心&#xff0c;以严格的水资源管理制度为保障&#xff0c;通过数据汇集平台监控分析数据、精准测算&#xff0c;为水量调度、精准灌溉、水权交易提供科…

时域系统到频域响应的直观解析及数学推导

课本里经常有已知系统时域的差分方程&#xff0c;求系统的频率响应这样的题&#xff0c;老师会讲怎么带公式进去解决&#xff0c;怎么查表解决&#xff0c;但我们总时无法直观地理解这两种转换的特殊关联在哪里&#xff0c;这篇文章以FIR滤波器为例&#xff0c;不仅列出了课本里…

2024年高项第4版之成本管理(附思维导图)

文章目录 简介一、成本失控原因二、相关术语三、成本类型四、项目成本管理过程1.规划成本管理2.估算成本3.制定预算4.控制成本挣值计算公式 附思维导图 简介 项目成本管理师为了项目在批准的预算内完成&#xff0c;对成本进行规划、估算、预算、融资、筹资、管理和控制的过程。…

yolov9来了,附官方源码地址,蓝奏云国内下载代码

不得不说&#xff0c;yolo的更新是真TMD的勤&#xff0c;v8还没熟悉透&#xff0c;结果V9就来了。 官方地址&#xff1a;https://github.com/WongKinYiu/yolov9/ 如果访问不了github的朋友们&#xff0c;可以下载微智启软件工作室准备好的国内蓝奏云网盘&#xff0c;内容是一样…

代码随想录算法训练营第四十天 | 整数拆分、不同的二叉搜索树

目录 整数拆分不同的二叉搜索树 LeetCode 343. 整数拆分 LeetCode 96.不同的二叉搜索树 整数拆分 dp[i]&#xff1a;分拆数字i&#xff0c;可以得到的最大乘积为dp[i]。dp[i] max(dp[i], max((i - j) * j, dp[i - j] * j)); j是从1开始遍历j * (i - j) 是单纯的把整数拆分为…

UE5 骨骼重定向

1.通过 VRoidStudio 1.26.0 软件创建模型 导出 2.下载ue插件 https://github.com/ruyo/VRM4U/releases 安装 重启 3.拖入创建的模型 到指定文件夹 4.为模型创建 IK绑定&#xff0c;重定向骨骼根 新增链条 5.创建IK 重定向&#xff0c;指定源 和 目标 IK绑定 6.