IntelliJ IDEA实用插件:轻松生成时序图和类图

news2024/11/16 13:43:04

在这里插入图片描述

IntelliJ IDEA生成时序图、类图

    • 一、SequenceDiagram
      • 1.1 插件安装
      • 1.2 插件设置
      • 1.3 生成时序图
    • 二、PlantUML Integration
      • 2.1 插件安装
      • 2.2 插件设置
      • 2.3 生成类图

在软件建模课程的学习中,大家学习过多种图形表示方法,这些图形主要用于软件产品设计。在传统的开发流程中,通常是先绘制设计图,然后根据设计图开发软件项目。然而,在实际的公司或团队项目开发过程中,这种流程往往被颠倒过来,很多情况下是先进行项目开发,然后再绘制图表和编写文档。
其次,在源码学习、快速了解业务流程与业余代码逻辑时,时序图与类图都是一种简单快捷的方式。
针对以上现状,我们可以利用一些工具来高效地完成这些图形的绘制。本文将以时序图和类图为例,介绍如何在 IntelliJ IDEA 中使用插件来生成这两种图表。通过这些插件,我们可以在开发过程中快速生成相应的图表,提高开发效率和文档质量。

一、SequenceDiagram

1.1 插件安装

IntelliJ IDEA 安装时序图生成插件 SequenceDiagram,安装步骤:

  1. IDEA界面 Ctrl+Alt+S(调出设置页面)
  2. Plugins 在 Marketplace中搜索 SequenceDiagram,搜索结果如下所示(我的已经安装了,点击Install即可):

image.png

  1. 插件最新版本开始收费了,可私信我提供解决方法
  2. 安装完成后,会出现在侧边栏,如下图

image.png

1.2 插件设置

  1. 点击 SequenceDiagram 进行相关设置

image.png

  1. 可以设置生成时序图的相关信息

image.png

Call depth:时序图调用层数。若生成的时序图比较大时,若无更高的精准度要求,可适当减少调用层数进行时序图大小的调整。
Display only project classes:表示是否只显示当前项目的类文件,不勾选的话可以显示依赖JAR包的类
Skip private methods:表示跳过私有方法
Skip getters/setters:表示跳过get、set方法
Skip constructors:表示跳过构造方法
:::

1.3 生成时序图

在任何需要生成时序图的方法上,右键单击选择 “Sequence Diagram”,即可生成对应的时序图,生成的时序图也可以以各种格式导出:
image.png
image.png
同时,每个时序图节点,右键单击,有两个选项“Go to Source” 和 “ Remove Method ‘xxxxxx()’”,分别为跳转到源代码对应的位置 和 从时序图中删除对应的方法,去除冗余信息,简化时序图,方便修改时序图显示。

二、PlantUML Integration

2.1 插件安装

IntelliJ IDEA 安装类图生成插件 PlantUML Integration,安装步骤:

  1. IDEA界面 Ctrl+Alt+S(调出设置页面)
  2. Plugins 在 Marketplace中搜索 PlantUMLIntegration,搜索结果如下所示(我的已经安装了,点击Install即可):image.png
  3. 安装完成后,会出现在侧边栏,如下图

image.png

2.2 插件设置

File > Settings > Tools> Diagrams
image.png

2.3 生成类图

放到对应的包上或者放到具体的类上,按住 Ctrl+Alt +U 就生成了,或者如下图操作,即可生成类图
image.png
效果如下:
image.png

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

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

相关文章

OFDM 802.11a的FPGA实现(二十)使用AXI-Stream FIFO进行跨时钟(含代码)

目录 1.前言 2.AXI-Stream FIFO时序 3.AXI-Stream FIFO配置信息 4.时钟控制模块MMCM 5.ModelSim仿真 6.总结 1.前言 至此,通过前面的文章讲解,对于OFDM 802.11a的发射基带的一个完整的PPDU帧的所有处理已经全部完成,其结构如下图所示&…

澳大利亚.德国-新闻媒体投放通稿:发表新闻稿需要留意哪些地方-大舍传媒

概述 当我们想要发布新闻稿时,了解目标媒体的特点和要求是至关重要的。本文将介绍澳大利亚和德国的新闻媒体,以及在撰写和投放新闻稿时需要注意的要点,以帮助您更好地与目标受众沟通。 澳大利亚媒体 澳大利亚是一个多元化的国家&#xff0…

C语言PTA练习题(编程求1+3+5+...+n,编程求n的阶乘,爬楼梯,爬楼梯(扩展),猴子吃桃,猴子吃桃(扩展),求算式前n项的和,汉诺塔游戏)

7-1 编程求135...n 输入一个正整数n&#xff0c;编程求135...n 要求&#xff1a;用递归完成。 输入格式: 输入一行&#xff0c;只有一个整数n (1<n<9999) 这里n为奇数。 输出格式: 一个正整数&#xff0c;表示结果。 输入样例: 在这里给出一组输入。例如&#xf…

【机器学习-23】关联规则(Apriori)算法:介绍、应用与实现

在现代数据分析中&#xff0c;经常需要从大规模数据集中挖掘有用的信息。关联规则挖掘是一种强大的技术&#xff0c;可以揭示数据中的隐藏关系和规律。本文将介绍如何使用Python进行关联规则挖掘&#xff0c;以帮助您发现数据中的有趣模式。 一、引言 1. 简要介绍关联规则学习…

【STM32单片机】----实现LED灯闪烁实战

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

只要0.14元带使能控制500mA输出电流3.3V输出电压SOT23-5封装LDO输入电压可达23V的DS8241-33S5

前言&#xff1a; 本来想推荐的&#xff0c;为慎重&#xff0c;搜了下公司信息&#xff0c;改介绍了。公司相关信息在文尾。 该LDO已在立创销售&#xff0c;希望厂家尽早将该款产品做到基础库或免换料费的器件中。 参考价格&#xff1a;0.14元 使能控制&#xff1a;支持 23V …

PCIe总线-事物层之TLP请求和完成报文格式介绍(六)

1.概述 TLP报文按照类型&#xff0c;可以大致分为4中类型&#xff0c;分别是IO请求报文、存储器请求报文、配置请求报文、完成报文和消息请求报文。IO请求报文可分为IO读请求&#xff08;不携带数据&#xff09;和IO写请求&#xff08;携带数据&#xff09;。存储器请求报文可…

mac 安装Node.js

文章目录 前言一、Node是什么&#xff1f;二、下载三、安装四、验证总结 前言 Node.js是一个开源、跨平台的JavaScript运行时环境&#xff0c;它允许开发者在服务器端运行JavaScript代码。Node.js是基于Chrome V8 JavaScript引擎构建的&#xff0c;它的设计目标是提供一种高效…

番外篇 | YOLOv5-SPD:用最简单的方式完成低分辨率图像和小目标检测升级

前言:Hello大家好,我是小哥谈。论文提出了一个新的CNN构建模块称为SPD-Conv,用来替换每个步长卷转层和每个池化层(从而完全消除它们)。SPD-Conv由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成。本文详细介绍了如何在YOLOv5中引入SPD-Conv,助力助力低分辨率与小…

pyqt5-结合opencv展示实时视频纯Demo

前言一、代码二、运行结果总结 前言 一、代码 #Author &#xff1a;susocool #Creattime:2024/5/22 #FileName:018.1-显示摄像头 #Description: import sys from PyQt5 import QtWidgets, QtGui, QtCore from PyQt5.QtWidgets import QHBoxLayout import cv2 import osclass V…

k8s集群中pod的容器资源限制和三种探针

一、资源限制 总结&#xff1a; requests表示创建pod时预留的资源&#xff0c;limits表示pod能够使用资源的最大值。requests值可以被超&#xff0c;limits值不能超过&#xff0c;如果是内存使用超过limits会触发oom然后杀掉进程&#xff0c;如果是cpu超过limits会压缩cpu的使用…

Selenium 高频面试题及答案

1、什么是 Selenium&#xff1f;它用于做什么&#xff1f; Selenium 是一个用于自动化测试的开源框架。它提供了多种工具和库&#xff0c;用于模拟用户在不同浏览器和操作系统上的行为&#xff0c;并且可用于测试网页应用程序。 2、Selenium WebDriver 和 Selenium IDE 有何区…

C++学习/复习5--构造函数与初始化/static成员/友元/内部类/匿名对象/编译器的拷贝构造优化

一、本章概要 二、再谈构造函数 1.构造体赋初值与初始化 2.初始化列表与初始化 2.1定义 2.2注意事项与举例 3.explicit关键字与构造函数 3.1隐式类型转换 也叫做自动类型转换 这种转换通常是从存储范围小的类型到存储范围大的类型&#xff0c;或者是从低精度的数值类型到高…

无畏并发: Rust Mutex的基本使用

并发是很多编程语言避不开的一块主要内容&#xff0c;主打一个无畏并发的Rust自然也面临这样的挑战。Rust中的Mutex提供了强大的同步原语&#xff0c;确保共享数据的线程安全&#xff0c;这篇文章中&#xff0c;我们会探讨Mutex的使用&#xff0c;从基础的用法到一些高阶内容。…

基于地理坐标的高阶几何编辑工具算法(8)——整形面

文章目录 工具步骤应用场景算法输入算法输出算法示意图算法原理工具步骤 选中面,点击“整形面”工具,绘制一条和面至少两个交点的线,双击结束。 应用场景 快速修改一个几何面的局部形状。 算法输入 一个待修改的面p,和一条绘制的线l 算法输出 修改后的面 算法示意图…

【JAVA基础之网络编程】UDP和TCP协议以及三次握手和四次挥手的过程

&#x1f525;作者主页&#xff1a;小林同学的学习笔录 &#x1f525;mysql专栏&#xff1a;小林同学的专栏 目录 1. 网络编程 1.1 概述 1.2 网络编程的三要素 1.2.1 IP地址 1.2.2 InetAddress 1.2.3 端口和协议 1.3 UDP协议 1.3.1 UDP发送数据 1.3.2 UDP接收数据 1.4…

Hadoop伪分布式搭建

1 配置SSH免密登录 1.生成密钥 # ssh-keygen -t rsa 注意&#xff1a;需要经过4次回车 查看密钥及公钥 # cd /root/.ssh 拷贝公钥 # cp id_rsa.pub authorized_keys 2 测试本地免密登录 2 下载Hadoop安装包 使用wget命令从华为云上下载Hadoop安装文件 # wget -P /opt https://m…

数组的理论知识

文章目录 数组的理论知识 数组的理论知识 数组是我们在编程时期经常使用到的一种数据结构。 特点&#xff1a; 在连续的内存空间中存储相同数据类型的数据 如图&#xff1a; arr 数组 注意点&#xff1a;数组的修改的效率是比较慢的&#xff0c;O(n)&#xff0c;因为数组只…

6、phpjm混淆解密和php反序列化

题目&#xff1a;青少年雏形系统 1、打开链接也是一个登入面板 2、尝试了sqlmap没头绪 3、尝试御剑&#xff0c;发现一个www.zip 4、下载打开&#xff0c;有一个php文件打开有一段phpjm混淆加密 5、使用手工解混淆 具体解法链接&#xff1a;奇安信攻防社区-phpjm混淆解密浅谈…

国产化服务器开启NTP功能并向NTP时钟服务器同步

1.备份/etc/chrony.conf文件&#xff1b; cp -rp /etc/chrony.conf /etc/chrony.conf.bak.20240522 2.修改chrony.conf文件&#xff0c;增加NTP时钟信息。&#xff08;客户端填写时钟同步服务器的IP地址或者域名&#xff0c;我这里写的IP地址。下面Allow NTP Client是只允许…