首页 > 其他分享 >AI驱动的PlantUML:快速生成专业级UML类图和用例图

AI驱动的PlantUML:快速生成专业级UML类图和用例图

时间:2024-08-29 11:38:44浏览次数:8  
标签:PlantUML String AI 岗位 专业级 SysPostMapper SysPostService post SysPost

承接前文关于如何运用 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: 岗位ID
    • postCode: 岗位编码
    • 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,岗位用例图文件,复制生成的内容,岗位管理用例图就生成了,是不是很简单。

标签:PlantUML,String,AI,岗位,专业级,SysPostMapper,SysPostService,post,SysPost
From: https://www.cnblogs.com/budaos/p/18386334

相关文章

  • AI变现之Midjourney头像定制
    前言Midjourney|头像定制1.项目介绍个性化头像在如今的社交媒体时代变得越来越重要。传统头像照片有时显得普通,而AI绘画头像则能为自己的社交账号增加独特性和吸引力。通过AI绘画工具制作头像,可以获得一个充满创意和个性的头像,让自己在社交平台上脱颖而出。2.项目......
  • 24年最全面的AI绘画变现途径总结!
    前言4.7制作红包封面中国的节日和传统文化元素仍然可以成为创作者们的创作灵感,创造出更多的变现机会。比如元宵节,可以制作大型元宵图案,进行引流并卖出元宵。而春分、谷雨等节气也可以成为创作的灵感来源,创作出与之相关的图案,吸引更多粉丝。这样不仅可以吸引新粉丝,也可以......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:VideoS......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:VideoS......
  • 告别繁琐招聘,AI人力资源顾问让你秒变HR高手!
    本文由ChatMoney团队出品在快节奏的现代职场中,招聘是每一个企业都绕不开的重要环节。然而,传统的招聘流程往往繁琐而低效,从海量简历的筛选,再到后续的评估与决策,每一个环节都耗费着HR人员大量的时间和精力。幸运的是,随着人工智能技术的飞速发展,AI人力资源顾问正逐渐成为企业招聘......
  • AI技术的实际影响:智能客服机器人作为技术革新的一瞥
    Hi~这里是ProXiao文章参考:晓观点 AI到底给我们带来了什么?智能客服机器人就是最好的答案!https://insight.xiaoduoai.com/intelligent-tools/intelligent-customer-service-robot/the-best-answer-that-ai-has-brought-us-is-intelligent-customer-service-robots.html?utm_c......
  • Datawhale AI 夏令营 CV方向 Task 1
    一、赛事背景        城市治理赛道——随着城市化进程的加快,城市管理面临着前所未有的挑战。占道经营、垃圾堆放和无照经营游商等问题对城市管理提出了更高的要求。本赛道聚焦城市违规行为的智能检测,要求选手研究开发高效可靠的计算机视觉算法,提升违规行为检测识别的......
  • Stable Diffusion:AI艺术的革新者,释放无尽创意!
    亲爱的朋友们,作为一名AI领域的深度测评体验官,今天我将为大家介绍一款令人惊叹的AI图像生成工具——StableDiffusion。这是一款基于潜在扩散模型的AI,能够将您的创意文字转化为令人叹为观止的视觉艺术作品。......
  • Datawhale AI 夏令营 CV方向 Task 2
    一、YOLO模型简介        YOLO模型是在图像和视频中识别感兴趣物体对象,通常通过边界框形式来识别物体。以下是物体检测的一些关键概念和步骤:输入:物体检测算法的输入通常是一张图像或视频帧。特征提取:算法使用深度学习模型(如卷积神经网络CNN)来提取图像的特征。这些......