AI驱动的PlantUML:快速生成专业级UML类图和用例图
承接前文关于如何运用 AI 工具生成时序图的内容【1】,今天我们继续探讨 AI 驱动的 PlantUML:高效创建专业的 UML 类图与用例图。
【1】: https://juejin.cn/post/7407637717206728755
【2】: 案例参照开源项目ruoyi-cloud:https://gitee.com/y_project/RuoYi-Cloud
AI驱动分析类间关系并通过PlantUML生成类图
一、在Fitten Code中输入如下内容
@workspace 分析下com.ruoyi.system下岗位管理这功能各类之间的关系
得到的结果如下:
为了分析 com.ruoyi.system 下岗位管理功能各类之间的关系,我们需要查看相关的类和它们的方法。以下是基于提供的参考信息进行的分析:
1. 主要类和接口
1.1. SysPost 类
描述: 岗位实体类,包含岗位的基本信息。
属性:
postId: 岗位IDpostCode: 岗位编码postName: 岗位名称postSort: 显示顺序status: 状态createBy: 创建者createTime: 创建时间updateBy: 更新者updateTime: 更新时间remark: 备注
1.2. SysPostMapper 接口
描述: MyBatis Mapper 接口,用于操作岗位数据。
方法:
selectPostList: 查询岗位列表selectPostAll: 查询所有岗位selectPostById: 根据ID查询岗位selectPostListByUserId: 根据用户ID查询岗位列表selectPostsByUserName: 根据用户名查询岗位checkPostNameUnique: 检查岗位名称是否唯一checkPostCodeUnique: 检查岗位编码是否唯一updatePost: 更新岗位信息insertPost: 插入岗位信息deletePostById: 根据ID删除岗位deletePostByIds: 批量删除岗位
1.3. SysPostService 接口
描述: 岗位服务接口,定义岗位管理的相关业务逻辑。
方法:
selectPostList: 查询岗位列表selectPostAll: 查询所有岗位selectPostById: 根据ID查询岗位selectPostListByUserId: 根据用户ID查询岗位列表selectPostsByUserName: 根据用户名查询岗位checkPostNameUnique: 检查岗位名称是否唯一checkPostCodeUnique: 检查岗位编码是否唯一insertPost: 插入岗位信息updatePost: 更新岗位信息deletePostByIds: 批量删除岗位export: 导出岗位信息
1.4. SysPostServiceImpl 类
描述:
SysPostService接口的实现类,实现具体的业务逻辑。方法:
- 实现
SysPostService接口的所有方法
- 实现
1.5. SysPostController 类
描述: 岗位管理控制器,处理HTTP请求。
方法:
list: 查询岗位列表export: 导出岗位信息getInfo: 根据ID查询岗位详细信息add: 新增岗位edit: 修改岗位remove: 删除岗位
2. 类之间的关系
2.1. SysPost 和 SysPostMapper
SysPost是岗位实体类,SysPostMapper是操作SysPost数据的 MyBatis Mapper 接口。SysPostMapper通过 MyBatis 映射文件 (SysPostMapper.xml) 定义了与数据库交互的 SQL 语句。
2.2. SysPostMapper 和 SysPostService
SysPostService接口定义了岗位管理的业务逻辑,SysPostServiceImpl是其实现类。SysPostServiceImpl通过依赖注入SysPostMapper来访问数据库,实现业务逻辑。
2.3. SysPostService 和 SysPostController
SysPostController是控制器类,处理HTTP请求,调用SysPostService的方法来完成业务逻辑。SysPostController通过依赖注入SysPostService来访问业务逻辑。
3. 总结
岗位管理功能涉及的主要类和它们之间的关系如下:
SysPost是岗位实体类。SysPostMapper是操作SysPost数据的 MyBatis Mapper 接口。SysPostService是岗位服务接口,定义岗位管理的业务逻辑。SysPostServiceImpl是SysPostService的实现类,通过SysPostMapper访问数据库。SysPostController是控制器类,处理HTTP请求,调用SysPostService的方法来完成业务逻辑。
这些类和接口通过依赖注入和方法调用,共同实现了岗位管理功能。
二、在Fitten Code中继续输入如下内容
接着上再用plantuml把岗位管理功能相关的类形成类图
分析出的结果如下:
@startuml
class SysPost {
+Long postId
+String postCode
+String postName
+Integer postSort
+String status
+String createBy
+Date createTime
+String updateBy
+Date updateTime
+String remark
}
interface SysPostMapper {
+List<SysPost> selectPostList(SysPost post)
+List<SysPost> selectPostAll()
+SysPost selectPostById(Long postId)
+List<Long> selectPostListByUserId(Long userId)
+List<SysPost> selectPostsByUserName(String userName)
+SysPost checkPostNameUnique(String postName)
+SysPost checkPostCodeUnique(String postCode)
+int updatePost(SysPost post)
+int insertPost(SysPost post)
+int deletePostById(Long postId)
+int deletePostByIds(Long[] postIds)
}
interface SysPostService {
+List<SysPost> selectPostList(SysPost post)
+List<SysPost> selectPostAll()
+SysPost selectPostById(Long postId)
+List<Long> selectPostListByUserId(Long userId)
+List<SysPost> selectPostsByUserName(String userName)
+SysPost checkPostNameUnique(String postName)
+SysPost checkPostCodeUnique(String postCode)
+int insertPost(SysPost post)
+int updatePost(SysPost post)
+int deletePostByIds(Long[] postIds)
+void export(SysPost post)
}
class SysPostServiceImpl {
-SysPostMapper sysPostMapper
+List<SysPost> selectPostList(SysPost post)
+List<SysPost> selectPostAll()
+SysPost selectPostById(Long postId)
+List<Long> selectPostListByUserId(Long userId)
+List<SysPost> selectPostsByUserName(String userName)
+SysPost checkPostNameUnique(String postName)
+SysPost checkPostCodeUnique(String postCode)
+int insertPost(SysPost post)
+int updatePost(SysPost post)
+int deletePostByIds(Long[] postIds)
+void export(SysPost post)
}
class SysPostController {
-SysPostService sysPostService
+ResponseEntity<TableDataInfo> list(SysPost post)
+ResponseEntity<AjaxResult> export(SysPost post)
+ResponseEntity<AjaxResult> getInfo(Long postId)
+ResponseEntity<AjaxResult> add(SysPost post)
+ResponseEntity<AjaxResult> edit(SysPost post)
+ResponseEntity<AjaxResult> remove(Long[] postIds)
}
SysPostMapper <|-- SysPostServiceImpl : 依赖
SysPostService <|-- SysPostServiceImpl : 实现
SysPostService <|-- SysPostController : 依赖
@enduml
三、新建plantUml文件并复制如上内容
类图说明
SysPost类表示岗位实体,包含岗位的基本信息。SysPostMapper接口定义了操作岗位数据的 MyBatis Mapper 方法。SysPostService接口定义了岗位管理的业务逻辑。SysPostServiceImpl类实现了SysPostService接口,并通过依赖注入SysPostMapper来访问数据库。SysPostController类是控制器,处理HTTP请求,调用SysPostService的方法来完成业务逻辑。
通过这个类图,可以清晰地看到岗位管理功能中各个类之间的关系和依赖。
最终效果如下,可以导成图片文件。
四、在Fitten Code中继续输入如下内容
例如岗位管理主要划分为岗位新增、修改、删除和查询功能。通过plantuml生成用例图
与上同样新建一个plantUML,岗位用例图文件,复制生成的内容,岗位管理用例图就生成了,是不是很简单。
AI驱动的PlantUML:快速生成专业级UML类图和用例图的更多相关文章
- UML类图和用例图
软件体系结构的多视图 kruchten提出了软件体系结构的4+1视图模型,其中用例图位于中心位置(4+1视图中的1). 逻辑视图 一种静态建模视图 进程视图 一种并发进程或任务视图 开发视 ...
- UML类图详解_关联关系_一对多
对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多” ...
- 用MyEclipse将java文件转换成UML类图
用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客 http://blog.csdn.net/dan ...
- 从 Java 代码逆向工程生成 UML 类图和序列图
from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...
- Eclipse下生成/编辑Java类图或时序图(UML)[转载]
一 引用文章 1.[eclipse下生成Java类图和时序图,生成UML图(更完整版)](https://blog.csdn.net/guomainet309/article/details/5302 ...
- UML类图介绍以及PlantUML使用方法
类的UML表示方法 UML介绍 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图.它形象的描述出了系统的结构,帮助人们理解系统. 类图是 ...
- IDEA怎么生成UML类图
说之前先说一下Diagram这个单词,意思是图表; 示意图; 图解; [数] 线图的意思. 打开设置 File->Setting或windows下按Ctrl+Alt+S 在搜索框中输入Diagr ...
- UML 类图快速入门
UML 图形 官方定义 UML 类图(Class Diagram) UML 时序图(Sequence Diagram) 领域 UML 类图和实现 UML 类图 领域 UML 类图 实现 UML 类图 ...
- Eclipse快速生成一个JavaBean类的方法
原文: https://jingyan.baidu.com/article/948f5924156866d80ff5f921.html Eclipse快速生成一个JavaBean类的方法 听语音 | ...
- UML类图详解和示例
ps:博客园markdown不能自动生成列表,更好的阅读体验可访问我的个人博客http://www.isspark.com/archives/UMLDescription UML类图概述 什么是UML ...
随机推荐
- vulnhub - BREACH: 1
vulnhub - BREACH: 1 描述 作为多部分系列中的第一部分,Breach 1.0 旨在成为初学者到中级的 boot2root/CTF 挑战.解决将需要可靠的信息收集和持久性相结合.不遗余 ...
- yb课堂 注册-登陆-个人模块 《三十九》
Cube-UI的form表单 https://didi.github.io/cube-ui/#/zh-CN/docs/form 注册 Register.vue <template> < ...
- 使用post请求登陆
1.使用post请求登陆 import requests import matplotlib.pyplot as plt url = 'https://www.ptpress.com.cn/login ...
- [oeasy]python0132_变量含义_meaning_声明_declaration_赋值_assignment
变量定义 回忆上次内容 上次回顾了一下历史 python 是如何从无到有的 看到 Guido 长期的坚持和努力 编程语言的基础都是变量声明 python是如何声明变量的呢? 变量 想要定义变量 ...
- oeasy教您玩转vim - 84 - # 命令command
命令 command 回忆 关于 函数function 可以调用别的函数 :call append(0,"oeasy o2z o3z") 还可以执行表达式 :call exec ...
- Langchain 与 LlamaIndex:LLM 应用开发框架的比较与使用建议
Langchain 和 Llamaindex 是两种广泛使用的主流 LLM 应用开发框架.两者有什么不同?我们该如何使用?以下我根据各类资料和相关文档做了初步选型. 一.Langchain 1. 适用 ...
- Vue export & export default & import 总结
Vue export & export default & import 总结 by:授客 QQ:1033553122 1. 实践环境 Vue 2.9.6 2. 简介 在ES6 ...
- 如何为spring配置全局抛出异常注解
0.首先了解一个注解@ControllerAdvice,他是spring里的一个注解,用于定义全局逻辑异常.数据绑定.请求处理等逻辑,与@ExceptionHandler等注解使用. Controll ...
- 【Big Data】 DBeaver连接Phoenix
前言 Phoenix是Hbase数据库的一个SQL化中间件 Hbase本身是一个NoSQL类型的列族库,Phoenix可以将其转换成SQL操作 Phoenix提供的客户端Jar包,可以让DBeaver ...
- 【Layui】11 滑块 Slider
文档地址: https://www.layui.com/demo/slider.html 基本滑块: <fieldset class="layui-elem-field layui-f ...