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

AI驱动的PlantUML:快速生成专业级UML类图和用例图的更多相关文章

  1. UML类图和用例图

    软件体系结构的多视图   kruchten提出了软件体系结构的4+1视图模型,其中用例图位于中心位置(4+1视图中的1). 逻辑视图   一种静态建模视图 进程视图   一种并发进程或任务视图 开发视 ...

  2. UML类图详解_关联关系_一对多

    对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多” ...

  3. 用MyEclipse将java文件转换成UML类图

    用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客  http://blog.csdn.net/dan ...

  4. 从 Java 代码逆向工程生成 UML 类图和序列图

    from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...

  5. Eclipse下生成/编辑Java类图或时序图(UML)[转载]

    一 引用文章 1.[eclipse下生成Java类图和时序图,生成UML图(更完整版)](https://blog.csdn.net/guomainet309/article/details/5302 ...

  6. UML类图介绍以及PlantUML使用方法

    类的UML表示方法 UML介绍 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图.它形象的描述出了系统的结构,帮助人们理解系统. 类图是 ...

  7. IDEA怎么生成UML类图

    说之前先说一下Diagram这个单词,意思是图表; 示意图; 图解; [数] 线图的意思. 打开设置 File->Setting或windows下按Ctrl+Alt+S 在搜索框中输入Diagr ...

  8. UML 类图快速入门

    UML 图形 官方定义 UML 类图(Class Diagram) UML 时序图(Sequence Diagram) 领域 UML 类图和实现 UML 类图 领域 UML 类图 实现 UML 类图 ...

  9. Eclipse快速生成一个JavaBean类的方法

    原文: https://jingyan.baidu.com/article/948f5924156866d80ff5f921.html Eclipse快速生成一个JavaBean类的方法 听语音 | ...

  10. UML类图详解和示例

    ps:博客园markdown不能自动生成列表,更好的阅读体验可访问我的个人博客http://www.isspark.com/archives/UMLDescription UML类图概述 什么是UML ...

随机推荐

  1. 一款EF Core下高性能、轻量级针对分表分库读写分离的解决方案

    前言 今天大姚给大家分享一款EF Core下高性能.轻量级针对分表分库读写分离的解决方案,开源(Apache License)的EF Core拓展程序包:ShardingCore. ShardingC ...

  2. ubuntu insight卸载

    最近需要进行gdb调试,但感觉gdb命令行方式不够直观,于是按照教程下载安装了insight,期间各种出错和bug,好不容易安装完成,却发现安装后的gdb版本变成了6.8-1,与gcc版本不兼容. 无 ...

  3. 洛谷P1365

    WJMZBMR打osu! / Easy 题目背景 原 维护队列 参见 P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有 ...

  4. css-渐变简约的登录设计

    代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  5. Solo 独立开发者社区

    Solo 独立开发者社区是一个致力于帮助独立开发者发展的社区平台.平台上聚集了大量的独立开发者,他们在这个平台上分享着自己的开发经验.心得和技巧,同时也可以从其他人的分享中获得启发和帮助. 这个社区提 ...

  6. oeasy教您玩转vim - 46 - # 范围控制

    ​ 范围控制 回忆上节课内容 这次我们主要就是看命令行 首先是选择一个 [range] 这个范围 然后进行相应的操作 :11,30d :2,7y 还可以指定寄存器 :"a3,40y :&qu ...

  7. 只会建数据库怎么写API?database2api 能帮到你!

    database2api 意为 DataBase to API,即只要有数据库,就可以生成开放 API. database2api 是一款强大而便捷的工具,主要功能是依据现有的数据库自动生成开放的 A ...

  8. CF858C 题解

    洛谷链接&CF 链接 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 给你一个均为小写字母的字符串,如果它的子串同时满足: 三个连着的辅音字母. 这一段连着的辅音字母 ...

  9. Groovy 基于Groovy实现DES加解密

    groovy 3.0.7 DES加密简介 加密分为对称加密和非对称加密.非对称加密,加解密使用不同的密钥,如RSA:对称加密,加解密使用相同的密钥,如DES(Data Encryption Stand ...

  10. iOS开发基础135-Core Data

    Objective-C (OC) 中使用 Core Data 是iOS应用开发中管理模型层对象的一种有效工具.Core Data 使用 ORM (对象关系映射) 技术来抽象化和管理数据.这不仅可以节省 ...