百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

UML画图神器来了,比Visio快10倍!

haoteby 2024-12-16 13:16 7 浏览

本文介绍了一种结合了ChatGPT和PlantUML的高效画图方法,它极大提升了技术文档中UML图的绘制速度。作者通过具体案例展示了如何快速生成订单履约的业务流程图,为程序员和架构师提供了一种新颖的图形化文档制作方法。阅读本文,掌握这一技术,让你的工作效率飞跃提升。

大家好,我是汤师爷。在编程工作中,我们经常要画时序图和流程图,特别是写技术文档。

虽然我们一般喜欢用像Visio这样的画图工具,但有时用编程画图可以更高效率,因为我们对编程语言很熟悉。

今天,我要给你介绍一个叫ChatGPT+PlantUML的画图方法,它们组合起来,可以让画图效率提高几十倍。不用AI的程序员,真的快要被淘汰了。

拿订单履约的业务流程图举例,我花了10多分钟才完成,而ChatGPT+PlantUML绘图过程只用了10秒钟,基本可以达到同样的水平,通过ChatGPT可以显著提高画流程图的效率。

01 用ChatGPT生成PlantUML代码

PlantUML是一款开源的UML图绘制工具,支持通过文本来生成图形,使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图等图形的绘制。

订单履约是电商和零售业务中的一个重要环节,它涉及到从客户下单到商品交付的整个过程。

此过程涉及多个环节,包括消费者在销售平台下单、系统接收订单、预占库存,以及仓库/门店执行拣货、发货等环节。

我们以订单履约业务流程为例,让ChatGPT帮我们生成业务流程的PlantUML代码。

向ChatGPT发送以下请求:

请使用PlantUML语言绘制订单履约的业务流程。业务流程如下:

  • 接收订单:当客户在销售平台下单后,第一步是接收订单,它涉及到订单信息的收集和确认,包括客户详情、商品信息、配送地址等。
  • 订单拆单:此环节的目的是将复杂的订单拆解为更易管理的子订单,根据商品的仓储位置或特定的履约要求进行拆分。
  • 派单:这一步骤基于多种因素进行决策,包括商品的实际库存位置、配送地址的距离、以及履约能力,分配给合适的仓库或门店。
  • 预占库存:为了确保订单中的商品能够被及时送达,预占库存防止在订单处理期间商品被其他订单占用,导致无法履约的情况发生。
  • 改派:在履约过程中,可能会因为库存不足、配送问题或其他突发情况,需要重新分配订单到另一个履约中心。
  • 拣货:是指根据订单信息从库存中挑选出具体商品的过程。这个环节要求高度的准确性和效率,错误拣选会直接影响到客户满意度。
  • 打包:拣选完成后,商品会被包装好,确保在运输过程中的安全和完整。打包过程还包括贴上运输标签和必要的配送信息,为商品的顺利配送做好准备。
  • 出库:打包好的商品接下来会被记录为出库状态,这意味着商品正式发货出库,离开门店/仓库。
  • 物流配送:商品出库后,将通过快递或同城配进行配送。这一阶段,物流公司或配送公司负责将商品从门店/仓库运输到客户指定的收货地址。
  • 确认收货:最后,当客户收到商品并确认无误后,订单履约流程完结。客户确认收货通常在线上平台上确认来完成。这一环节也是记录履约时效、收集客户反馈和提升服务质量的重要机会。

ChatGPT回答如下:

以下是使用PlantUML语言绘制的订单履约业务流程代码。这段代码描述了从接收订单开始,到确认收货结束的整个过程。你可以将此代码复制并在支持PlantUML的工具或在线编辑器中进行渲染,以生成流程图。

@startuml

!theme plain

title 订单履约流程图

|客户|

start

:下单;

|订单履约系统|

:接收订单;

note right: 收集订单信息n客户详情、商品信息、配送地址等

:订单拆单;

note right: 根据仓储位置或n特定履约要求拆分

:派单;

note right: 基于库存位置、配送地址距离n和履约能力进行决策

:预占库存;

note right: 防止商品在处理期间被占用

if (需要改派?) then (是)

:改派;

note right: 因库存不足、配送问题等n重新分配履约中心

else (否)

end if

|仓库/门店|

:拣货;

note right: 根据订单信息挑选商品

:打包;

note right: 包装商品,贴上运输标签

:出库;

note right: 商品发货出库

:物流配送;

note right: 商品从门店/仓库n运输到客户指定地址

|客户|

:确认收货;

note right: 在线上平台确认收货n完成订单履约流程

stop

@enduml

02 用drawio绘制流程图

接下来,我们要使用drawio神器,绘制流程图。登录https://app.diagrams.net/,点击?,选择高级→PlantUML。

将上文中的PlantUML代码,贴入文本框,点击插入,就能生成流程图。

我们可以看到,ChatGPT绘制的流程图质量很高,对业务流程有深入的理解。

通过不断与ChatGPT的交流和调整,我们得到了一个完整的订单履约流程图,清楚地展示了从接收订单到确认收货的每个步骤。

下面这张流程图,我花了10分钟才完成,而ChatGPT绘图过程只用了10秒钟,基本可以达到同样的水平,可见ChatGPT能显著提高画UML图的效率。

本文由人人都是产品经理作者【汤师爷】,微信公众号:【架构师汤师爷】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。

相关推荐

单点登录(SSO)解决方案介绍(单点登录概念)

一、单点登录的介绍单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系...

系统登录的三种方式,哪一种更安全?

登录是一个高频的动作,笔者抓住这一个小点,分析了系统登录的几种方式和对应的场景。今天谈谈登录。登录即用户输入用户名和密码登录进系统中。B端系统,对于登录的业务场景有两种(可能不止,目前遇到过这两种):...

到底什么是单点登录(SSO)?(什么叫做单点登录)

什么是单点登录?单点登录(SingleSign-On,简称SSO)是一种集中式的身份验证和授权机制,用户只需在一处输入一次凭证(例如用户名和密码)就可以访问多个相关但独立的软件系统。在数字化时代,...

5年稳如老狗的单点登录系统,到底是怎么搞出来的?

说到单点登录(SingleSign-On,简称SSO),大家的第一反应可能是——啊不就是登录一次,能到处串门儿嘛?别说,还真差不多,就是这么个意思。但真要搭一套好用、耐造、还能扛住公司里各种奇奇怪...

这些负载均衡都解决哪些问题?服务、网关、NGINX?

在微服务项目中,有服务的负载均衡、网关的负载均衡、Nginx的负载均衡,这几个负载均衡分别用来解决什么问题呢?一、服务的负载均衡先抛出一个问题:...

Nginx负载均衡最全详解(4大算法原理机制)

Nginx在大型网站架构很重要,也是大厂重点考察方向,今天我就重点来详解Nginx负载均衡@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。Nginx负载均衡N...

负载均衡 Nginx Session 一致性(nginx 负载均衡 会话保持)

HTTPS请求跳转...

监控Oracle Cloud负载均衡器:Applications Manager释放最佳性能

设想你正在运营一个受欢迎的在线学习平台,在考试前的高峰期,平台流量激增。全球的学生同时登录,观看视频、提交作业和参加测试。如果OracleCloud负载均衡器不能高效地分配流量,或者后端服务器难...

Nginx负载均衡:nginx.conf配置文件说明!

大家好,欢迎来到程序视点!我是你们的老朋友.小二!在此记录下Nginx服务器nginx.conf负载均衡的配置文件说明,部分注释收集与网络.关于nginx.conf基本的配置,请查看上一篇文章!Ng...

Java高可用系统架构中的负载均衡策略

Java高可用系统架构中的负载均衡策略在现代的分布式系统中,负载均衡策略是构建高可用系统的基石。Java开发者需要深刻理解这些策略,以便打造稳定且高效的系统。接下来,让我们一起揭开负载均衡的神秘面纱。...

深入对比Nginx、LVS和HAProxy,选择最合适负载均衡方案!

关注...

Spring Boot3 客户端负载均衡全解析:从原理到实战

在当今互联网大厂后端技术开发的激烈竞争环境中,构建高效、稳定的微服务架构是核心诉求。其中,SpringBoot3作为热门开发框架,其客户端负载均衡功能对于提升系统性能、保障服务稳定性起着关键作用。...

MySql高可用集群MySQL Router负载均衡读写分离

名词解释MGR:MysqlGroupReplication组复制,多台MySQL服务器在同一组中会自动保持同步状态,当某台服务器故障时,整个复制组依然可以保持正常并对外提供服务。...

性能测试之tomcat+nginx负载均衡(nginx tomcat)

nginxtomcat配置准备工作:两个tomcat执行命令cp-rapache-tomcat-8.5.56apache-tomcat-8.5.56_2修改被复制的tomcat2下con...

win10/11双网卡链路聚合叠加负载均衡提升网速解决网卡网速瓶颈!

双网卡链路聚合一种网络配置技术,通过将多个物理网卡绑定在一起,形成一个逻辑上的网络接口,以提高网络的可靠性、可用性和性能。这种技术通常用于服务器和网络设备中,以实现负载均衡、冗余和高可用性。本机环境:...