利用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插件:

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

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

相关文章

STM32_HAL库_外部中断

一、设置分组 stm32f1xx_hal_cortex.c 查看分组 五个形参,分组0~4 stm32f1xx_hal.c 设置了分组为2, 此工程就不需要再设置了 再回到stm32f1xx_hal_cortex.c 查看NVIC_SetPriorityGrouping的定义,若无法跳转,先编译一下&…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十七)- 微服务(7)

11.1 : 同步调用的问题 11.2 异步通讯的优缺点 11.3 MQ MQ就是事件驱动架构中的Broker 安装MQ docker run \-e RABBITMQ_DEFAULT_USERxxxx \-e RABBITMQ_DEFAULT_PASSxxxxx \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management 浏览器访问1…

在网上赚钱,可以自由掌控时间,灵活的兼职副业选择

朋友们看着周围的人在网上赚钱,自己也会为之心动,随着电子设备的普及,带动了很多的工作、创业以及兼职副业选择的机会,作为普通人的我们,如果厌倦了世俗的朝九晚五,想着改变一下自己的生活,可以…

uc/OS移植到stm32实现三个任务

文章目录 一、使用CubeMX创建工程二、uc/OS移植三、添加代码四、修改代码五、实践结果六、参考文章七、总结 实践内容 学习嵌入式实时操作系统(RTOS),以uc/OS为例,将其移植到stm32F103上,构建至少3个任务(task&#xf…

就业班 第四阶段(k8s) 2401--6.4 day2 Dashboard+国产kuboard(好用)+简单命令

可视化部署Dashboard 昨天做一主两从飞高可用,出现浏览器那一行,是为啥 thisisunsafe kubectl get 获取资源 pod node svc -A 所有名称空间 -n 指定名称空间 -w 动态显示 kubectl edit 资源 pod node svc 官方的,毛坯房 国产 在哪找的…

数字证书和CA

CA(Certificate Authority)证书颁发机构 验证数字证书是否可信需要使用CA的公钥 操作系统或者软件本身携带一些CA的公钥,同时也可以向提供商申请公钥 数字证书的内容 数字证书通常包含以下几个主要部分: 主体信息&#xff08…

uc/OS-III多任务程序

文章目录 一、实验内容二、实验步骤(一)基于STM32CubeMX建立工程(二)获取uc/OS-III源码(三)代码移植 三、修改mai.c文件四、实验现象 一、实验内容 学习嵌入式实时操作系统(RTOS),以…

检测五个数是否一样的算法

目录 算法算法的输出与打印效果输出输入1输入2 打印打印1打印2 算法的流程图总结 算法 int main() {int arr[5] { 0 };int i 0;int ia 0;for (i 0; i < 5; i) { scanf("%d", &arr[i]); }for (i 1; i < 5; i) {if (arr[0] ! arr[i]) {ia 1;break;} }…

2024全国大学生数据统计与分析竞赛B题【电信银行卡诈骗的数据分析】思路详解

电信诈骗是指通过电话、网络和短信方式&#xff0c;编造虚假信息&#xff0c;设置骗局&#xff0c;对受害人实施远程、非接触式诈骗&#xff0c;诱使受害人打款或转账的犯罪行为&#xff0c;通常以冒充他人及仿冒、伪造各种合法外衣和形式的方式达到欺骗的目的&#xff0c;如冒…

C# 异步方法async / await 任务超时处理

一、需求 如果调用一个异步方法后&#xff0c;一直不给返回值结果怎么办呢&#xff1f;这就涉及到怎么取消任务了。 二、Task取消任务 static CancellationTokenSource source new CancellationTokenSource();static void Main(string[] args){Task.Run(() >{for (int i …

Responder工具

简介 Responder是一种网络安全工具&#xff0c;用于嗅探和抓取网络流量中的凭证信息&#xff08;如用户名、密码等&#xff09;。它可以在本地网络中创建一个伪造的服务&#xff08;如HTTP、SMB等&#xff09;&#xff0c;并捕获客户端与该服务的通信中的凭证信息。 Responder工…

路由器作为网络扩展器——设置桥接、路由模式

下面提到的路由器都是家用路由器 一、有线桥接(交换模式) 1.连接示意图 (副路由器只看交换模式部分) 副路由器充当交换机的角色 二、无线桥接(与有线类似) &#xff08;副路由器的无线信号 连接 主路由器的无线信号&#xff09; 三、路由模式 1.连接示意图 (副路由器只看…

扩散模型条件生成——Classifier Guidance和Classifier-free Guidance原理解析

1、前言 从讲扩散模型到现在。我们很少讲过条件生成&#xff08;Stable DIffusion曾提到过一点&#xff09;&#xff0c;所以本篇内容。我们就来具体讲一下条件生成。这一部分的内容我就不给原论文了&#xff0c;因为那些论文并不只讲了条件生成&#xff0c;还有一些调参什么的…

【python】python电影评论数据抓取分析可视化(源码+数据+课程论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

探索教研在线平台的系统架构

教研在线平台作为一家致力于教育技术领域的企业&#xff0c;其系统架构扮演着至关重要的角色。本文将深入探讨教研在线平台的系统架构&#xff0c;从技术架构、数据架构和安全架构等方面进行分析&#xff0c;以期帮助读者更好地理解这一教育科技平台的运作模式。 技术架构是教研…

银河麒麟操作系统通过首批软件供应链安全能力认证

麒麟软件产品供应链安全能力获双重肯定&#xff01;5月30日&#xff0c;经北京赛迪认证中心评估&#xff0c;银河麒麟高级服务器操作系统V10和银河麒麟桌面操作系统V10成为首批获得软件供应链安全能力认证产品&#xff0c;并在操作系统类产品中名列前茅。 软件供应链安全能力评…

09-spring的bean创建流程(一)

文章目录 spring中bean的创建流程finishBeanFactoryInitialization(beanFactory)beanFactory.preInstantiateSingletons();getMergedLocalBeanDefinition(beanName);流程实现FactoryBean接口,里面的对象实例化过程 spring中bean的创建流程 finishBeanFactoryInitialization(be…

【Unity UGUI】Screen.safeArea获取异形屏数据失败

Screen.safeArea获取不到异形屏的尺寸位置等数据 检查AndroidManifest.xml文件是否有设置&#xff1a;android:theme"style/UnityThemeSelector"&#xff0c;没有加上即可 android:theme"style/UnityThemeSelector"

【学习笔记】Windows GDI绘图(十二)双缓冲管理(用GIF动画测试)

文章目录 引言默认双缓冲SetStyle 手动管理双缓冲图形BufferedGraphicsManager缓冲图形管理器BufferedGraphicsContext 缓冲图形上下文BufferedGraphics 图形缓冲区验证双缓冲的效果(Gif动画显示非正常速度)结束语性能对比 引言 图形编程中一个常见的问题就是闪烁&#xff0c;…

SpringBoot高手之路-springboot原理篇

配置文件优先级 SpringBoot原理篇-多环境配置