使用drawio绘制依赖关系图

使用drawio绘制依赖关系图

drawio是一款强大的图表绘制软件,支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用,则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能,并实现了云端存储,以及在线共创,分享,协作的功能。

作为一种有向的图表, 依赖关系图能够可视化处理过程或者一些场景情形, 而这些过程或情形依赖于一些组件,例如决策中的,调度中,以及产品开发, IT或者电信基础设施, 应用、制造链,以及更多。这些能够帮助你找到最佳顺序和关键路径指示, 或者一些约束你应用,基础设施或者过程的薄弱环节。

图形和连接线被应用于依赖关系图中会比较简单——一个图形指示了一个节点(常用的圆形或者矩形),带一个或者两个箭头的连接线指示依赖的方向,连接线可以携带或者不携带标签。

特殊的依赖关系图

一个PERT图表(计划评审技术)是一种类型的依赖关系图, 对于基于任务的项目,包含了对每一个活动的时间评估, 通常在每一个节点上。 与关键路径方法一起使用,它表示了依赖的最长路径以及指示去完成他们所需要的时间。

依赖关系图通常会在软件工程中使用或者IT技术中使用, 显示每个功能代码段或基础架构组件所依赖的内容。

调用图(Call graphs)(Multigraphs) 是依赖关系图的一种特殊类型, 展示了程序被调用的序列——静态(表示每一个可能的路径), 或者动态代表了一个执行。 很多开发环境和编译器能够产生调用图, 你可以使用他们标识并安全的移除一些死代码或者精确找到无限循环的递归错误。

渲染依赖图是一个调度系统,它分析和优化视频数据的每一帧,以消耗更少的内存,提高图形api的性能。

拼图依赖图叙事依赖图导航图是游戏设计师和作家用来计划冒险和谜题游戏,以及编写书籍的工具,以确保他们的故事、谜题和世界不会过于线性,不会让用户感到无聊。

具有资源管理和生产链的游戏使用依赖关系图来约束研究和构建顺序,并允许AI“玩家”选择策略和分配资源。下面的例子展示了游戏《Satisfactory》中生产链的一部分,生产速度显示在连接器上。

技巧:在构建故事或谜题的依赖关系图时,请从最后开始并向后工作。

在drawio中创建依赖关系图

  1. 去draw.io或者drawon.cn上创建一个流程图页面,一个空的就可以。
  2. 双击画布, 选择一个椭圆形并添加到画布上。
  3. 在节点上,选择四个方向的一个方向箭头, 选择一个图形,增加它到画布上,作为一个依赖。

技巧:如果你正在为一个软件程序创建一个依赖关系图,随着你添加更多的方法、库或组件,它会很快变得复杂。最好在开发早期就绘制这样的图表。

要记录现有的复杂系统,插入系统的文本描述并自动生成依赖关系图是更容易的。

依赖关系图模板

依赖关系图模板(PERT 程序)在drawio的模板库中的商业分类下可以找到。

  1. 在在线版本的drawio或者drawon.cn的编辑器上, 可以点击Arrage> Insert > Template打开模板库对话框。
  2. 在左边选择商务分类。 点击模板右上方的放大镜,可以看到更大的预览。
  3. 选择一个模板, 点击Create 或者插入到画布上。

diagrams.net网站的依赖关系图

在Github网站的仓库中, 你可以看到网站的构建系统的依赖关系, 在Gemfile和Gemfile.lock清单文件中(在github网站,点击 insights> Dependency graph)。

点击箭头> 可以在github上展开它。 如果组件有多个依赖项,它们将在不同的组件下多次列出

可视化地理解这些依赖关系是如何相互关联的更容易,即使当您包含越来越多的依赖关系级别时,图表可能会变得非常繁琐,但是能够很容易的帮助你理解整个来龙去脉。

你知道吗?

GitHub开源软件项目可能会在存储库中显示依赖关系图。GitHub通过dependabot进行的依赖关系审查使用这些依赖关系图来分析新的依赖关系,并帮助您识别拉取请求中的潜在安全漏洞、不兼容的许可证和维护风险。

自动生成依赖关系图

有许多工具可以分析代码,并在Graphviz DOT图形描述语言中生成过程调用的文本描述。在draw.io或者drawon.cn中,你可以插入这些文本描述,并生成依赖关系图。

在下面的示例中,使用Gemfile中的前三个依赖级别来自动生成一个图。依赖关系图的文本描述列出了每个节点的所有传出链接,每行一个,如下所示:

www.diagrams.net-source->jekyll
jekyll->addressable
jekyll->colorator
jekyll->em-websocket
...
  1. 点击 Arrange > Insert > Advanced > from Text. 可选的在工具栏上,点击”+ “ 图标, 选择高级。

  2. 选择,从如下的大文本框中选择图表。

  3. 将文本粘贴到大文本框中,然后单击“插入”以生成图表。现在可以对节点和连接器进行样式设置和重新排列。

Mermaid 依赖图: 你可以使用Mermaid语法插入一个依赖图。 点击 Arrange> insert > Advanced > Mermaid 打开Mermaid 输入框。

也可以使用电子表格插入依赖图:你也可以使用CSV文本来插入依赖图, 点击 Arrange > insert > advanced > CSV 可以看到 一个CSV数据和格式。

关于实践,你可以登陆drawon使用。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

libxls - 编译

文章目录 libxls - 编译概述笔记静态库工程测试控制台exe工程测试备注备注END libxls - 编译 概述 想处理.xls格式的excel文件. 查了一下libxls库可以干这个事. 库地址 https://github.com/libxls/libxls.git 但是这个库的makefile写的有问题, 在mingw和WSL下都编译不了. 好在…

【Python从入门到进阶】44、Scrapy的基本介绍和安装

接上篇《43.验证码识别工具结合requests的使用》 上一篇我们学习了如何使用验证码识别工具进行登录验证的自动识别。本篇我们开启一个新的章节,来学习一下快速、高层次的屏幕抓取和web抓取框架Scrapy。 一、Scrapy框架的背景和特点 Scrapy框架是一个为了爬取网站数…

Diva配置——Communication Tests

关联文章:CANoe.Diva生成测试用例 Diva目录 一、CANoe.Diva简介二、Communication Tests配置一、CANoe.Diva简介 CANoe.DiVa 是一种 CANoe 选项,用于对 ECU 中的诊断软件实施进行自动化测试。 可以通过CANdelaStudio制作的CDD或ODX文件,经过Diva配置自动生成测试用例和测试脚…

PyCharm community 安装教程

目录 链接cudatoolkit 下载地址:https://www.jetbrains.com/pycharm/download/other.html 双击打开 安装路径,可自行更换到D盘 不导入设置 链接cudatoolkit

Github 2023-12-18 开源项目周报 Top14

根据Github Trendings的统计,本周(2023-12-18统计)共有14个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目4Python项目4Jupyter Notebook项目3非开发语言项目1JavaScript项目1Rust项目1Go项目1 基于项目…

雷电4.0.50模拟器Android7.1.2安装xposed框架

官方论坛:https://xdaforums.com/t/official-xposed-for-lollipop-marshmallow-nougat-oreo-v90-beta3-2018-01-29.3034811/ Xposed 有分支 [EdXposed 和 LSPosed] 。 Edxposed框架现在支持android 8.0 - android 9.0 ,如果是android 7.0或更早的版本&…

写好ChatGPT提示词原则之:清晰且具体(clear specific)

ChatGPT 的优势在于它允许用户跨越机器学习和深度学习的复杂门槛,直接利用已经训练好的模型。然而,即便是这些先进的大型语言模型也面临着上下文理解和模型固有局限性的挑战。为了最大化这些大型语言模型(LLM)的潜力,关…

威联通硬盘休眠后修改系统定时任务

按照网上一些教程,成功将威联通的机械硬盘设置了自动休眠。但是发现每天有多个整点硬盘会自动唤醒,怀疑是系统内置的定时任务触发了硬盘唤醒。 通过查看系统日志中事件和访问记录,判断出一些引发硬盘唤醒的自动任务,将这些定时任…

如何通过兴趣爱好选职业?

一个错误的选择,可能造成终身的遗憾,一个正确的选择,可以让我们少奋斗几十年。所以无论现在付出多少代价,多花一些时间,去研究以下未来的职业方向,这是值得的。 职业定位(专业定位)…

【漏洞复现】CVE-2023-39560:ECTouch V2电商系统SQL注入 附POC

漏洞描述 ECTouch是一款开源的电商系统,为中小企业提供最佳的新零售解决方案。采用稳定的MVC框架开发,执行效率、扩展性、稳定性值得信赖。MVC是一种将应用程序的逻辑层和表现层进行分离的方法。MVC分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。…

六:爬虫-数据解析之BeautifulSoup4

六:bs4简介 基本概念: 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据官方解释如下: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱…

设计模式 简单工厂 工厂方法模式 抽象工厂模式 Spring 工厂 BeanFactory 解析

工厂模式介绍 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。它是创建型模式。 简单工厂 简单工厂模式是指由一个工厂对象决定创建出哪一种产品类的实例, 但它不属于GOF 23种设计模式 简单工厂适用于工厂类负责创建的对象较少的场景,…