首页 > 极客资料 博客日记
AI驱动的PlantUML:快速生成专业级UML类图和用例图
2024-08-29 12:00:07极客资料围观32次
这篇文章介绍了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,岗位用例图文件,复制生成的内容,岗位管理用例图就生成了,是不是很简单。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”