利用GPT和PlantUML快速生成UML图用于设计

在软件开发中,设计阶段可是关键的一步。UML(统一建模语言)图能帮我们更清晰地理解和规划系统结构,但手动画UML图有时会很费时费力。好消息是,通过结合使用ChatGPT和PlantUML,我们可以高效地生成UML图,方便设计工作。之前尝试过直接让GPT生成UML给我,但是效果不太理想,而且对生成结果中文支持不太好,后来发现让GPT生成语义化的脚本,然后让专业的插件根据脚本生成UML图效果挺好。

什么是ChatGPT和PlantUML?

ChatGPT 这个大家都知道了 :D

PlantUML 是一个开源工具,通过简单的文本描述就能生成各种UML图,比如类图、时序图、用例图等。它有一套自己的语法,用来描述图形结构,然后将这些描述转换成图形。

如何用ChatGPT生成UML图?

借助ChatGPT,我们可以自动生成PlantUML的语法描述,大大简化生成UML图的过程。具体步骤如下:

  1. 明确需求:首先,明确你需要生成的UML图类型及其主要内容。例如,你需要一个类图来展示系统的主要类及其关系。

  2. 与ChatGPT互动:向ChatGPT描述你的需求,让它帮你生成PlantUML的语法。比如你可以这样提问:

    我需要一个类图,包含三个类:User、Product和Order。User类有属性name和email,Product类有属性name和price,Order类有属性orderNumber和date。User与Order是1对多关系,Order与Product是多对多关系。

  3. 获取PlantUML语法:ChatGPT会根据你的描述生成相应的PlantUML语法。例如:

    @startuml class
    User { -name: String -email: String } class 
    Product { -name: String -price: Float } class 
    Order { -orderNumber: String -date: Date } 
    User "1" --> "0..*" Order Order "0..*" --> "0..*" Product
    @enduml
    
  4. 生成UML图:将上面的语法粘贴到PlantUML的在线编辑器或者本地环境中,就能生成相应的UML图了。

示例:生成类图

PlantUML我是使用的VS Code插件:

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

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

相关文章

python中文件操作详解(1)

在python中我们经常会对文件进行一些常见的操作,比如打开文件,操作文件,关闭文件,此篇文章主要是记录自己在学习过程中的一些总结供大家学习,也欢迎查漏补缺~ 1.文件的打开 方式一:此种方式打开的文件需要…

拉普拉斯算子

问Chat GPT两种不同拉普拉斯算子的区别:

【WEEK15】 【DAY1】异步任务【中文版】

2024.6.3 Monday 目录 17.异步、定时、邮件任务17.1.异步任务17.1.1.新建springboot-09-test项目17.1.2.创建一个service包17.1.2.1.创建一个类AsyncService 17.1.3.编写controller包17.1.3.1.编写AsyncController类 17.1.4.运行Springboot09TestApplication.java17.1.5.修改S…

下载ubuntu22.04

建议使用:清华源镜像 官网下载比较慢Ubuntu 22.04.4 LTS (Jammy Jellyfish) 打开清华源向下翻 然后找到22.04 下载完成:

牛客热题:矩阵最长递增路径

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:矩阵最长递增路径题目链接方法一…

vulhub中PHP利用GNU C Iconv将文件读取变成RCE(CVE-2024-2961)

GNU C 是一个标准的ISO C依赖库。在GNU C中,iconv()函数2.39及以前存在一处缓冲区溢出漏洞,这可能会导致应用程序崩溃或覆盖相邻变量。 如果一个PHP应用中存在任意文件读取漏洞,攻击者可以利用iconv()的这个CVE-2024-2961漏洞,将…

写一个盲盒模拟器

最近想写一个小程序,随便写一个玩吧,先想了下功能: 1.有很多盲盒,可以选择模拟开启 2.自定义盲盒,我们可以自定义制作盲盒自己玩 3.用户界面,记录盲盒历史,可以给坏越提意见 所用技术栈&…

Linux下互斥体的学习使用

文章目录 前言互斥锁的定义互斥锁的数据结构互斥锁的注意事项互斥锁API函数互斥锁的使用示例结语 前言 上篇我们讲过信号量,本篇讲下互斥体。本篇内核源码以内核5.10为例进行讲解 互斥锁的定义 其实信号量的值设置为1就可以使用信号量进行互斥访问了,…

中学生学人工智能系列:如何用AI学地理

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语、化学等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式,不可能对这些问题做出具体和透彻的解答,因此本公众号近期将推出…

Java—集合框架、时间和空间复杂度

一、集合框架 Java集合框架(Java Collection Framework),又称为容器(container),是定义在 java.util 包下的一组接口(interfaces)和其实现类(classes) 其主要表现为将多个元素(element)置于一个单元中,用于对这些元素进行快速、便捷的存储(…

纷享销客BI典型场景案例解析

本章以具体案例来说明纷享销客一体化BI智能分析平台为企业在实际使用过程中带来的价值。 1)场景一:销售经理想要在周会上关注各销售人员的客户及订单情况,并在每周一上午9点可以把上周的整体情况周期性的将报表推送给相关销售人员。 具体图表展示样式及…

人事管理系统有哪些优势?5大人事管理系统大盘点!

本人研究企业数字化转型10余年,为企业软件选型、数字化提供咨询服务!目前重点研究低代码数字化转型玩法,力争为各家企业探索出一条更具性价比的数字化方式。 人事管理系统有哪些优势?如何选择?又该怎样部署&#xff1…

UI设计公司-蓝蓝设计-交通行业ui设计解决方案

来百度APP畅享高清图片 这是北京兰亭妙微科技有限公司(简称蓝蓝设计)在交通行业的一些ui设计经验,我们建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习&#xff0…

springcloudalibaba项目注册nacos1.4.2,在nacos上修改配置项不生效问题

背景 之前的项目启动正常,后来发现springcloudalibaba的各版本匹配不正确,于是对项目中的springboot、springcloud、springcloudalibaba版本进行匹配升级,nacos1.4.2匹配的springboot、springcloud、springcloudalibaba版本与我的项目中的版本比较接近,于是我便重新安装了…

智能视频监控平台LntonCVS视频汇聚共享平台智慧楼宇应用方案

随着城市经济的迅速发展,大中型城市的写字楼数量不断增加。在像香港、台北、上海、北京等大城市,写字楼的安保成本相当高。为了降低这一成本,越来越多的物业公司开始采用技术手段。写字楼安防监控系统便是其中之一,它利用安全防范…

django 旅游服务系统-计算机毕业设计源码88939

摘 要 旅游服务系统采用采用django框架、python语言、以及Mysql数据库等技术。系统主要分为管理员和用户两部分,管理员管理主要功能包括:首页、轮播图(轮播图管理)、公告信息管理(公告信息)、资源管理&…

Informer

I n f o r m e r Informer Informer 摘要: 长序列时间序列的预测 i n f o r m e r informer informer优点: P r o b s p a r e Probspare Probspare自关注机制,在时间复杂度和内存使用方面达到 O ( N l o g N ) O(NlogN) O(NlogN),在序列依…

变量位置不同会死机?郭天祥老师视频的遗留问题分析答案

在郭天祥老师视频里有一个问题分享,是EXMC初始化里的一个变量定义和初始化位置不同会导致程序死机,最终定位到程序是进入hardfault死机,但暂时没有后续分析了,这里我们来继续分析一下。 死机的程序是这样的: 这段代码…

springboot集成uid-gengrator生成分布式id

一、简介 uid-generator是由百度技术部开发,GitHub地址 UidGenerator是Java实现的, 基于Snowflake算法的唯一ID生成器 Snowflake算法 Snowflake算法描述:指定机器 & 同一时刻 & 某一并发序列,是唯一的。据此可生成一个64 bits的唯一ID&#x…

SD6210A 低噪声可调电荷泵DC/DC转换器芯片IC

一般描述 该SD6210A是一种低噪声,恒定频率(1.20MHz)开关电容电压倍增器。它产生一个调节输出电压从2.8V到5V的输入与高达250mA的输出电流。低外部零件数(一个飞行电容器和两个小旁路电容的VIN和VOUT)使SD6210A非常适合小型,电池供电的应用新的电荷…