最近栈长发现 IntelliJ IDEA 居然还能画思维导图,太牛逼了!

当然这得借助 IDEA 的 UML 插件,因为它本身也是一个 UML 图,所以这篇就从 UML 图开撕,看 IDEA 怎么画思维导图,顺便带大家了解下什么是 UML 图。

什么是 UML?

UML 全称:Unified Modeling Language,统一建模语言,由 OMG 组织(Object Management Group 对象管理组织)于 1997 年发布。

UML 是面向对象设计的建模工具,是独立于任何具体程序设计语言,UML 可以通过简单又直观的语言来定义图形。

如果你还不知道是什么 UML 图,举个例子吧,比如说我们经常遇到的设计模式必须用到的类图,以及业务流程用到的时序图,这些经典的 UML 图基本已经深入人心了。

其实,UML 图远不止这些,UML 图还包括序列图、用例图、类图、活动图、协作图、组件图、对象图、状态图、交互图、部署图等。

在线画 UML

我们可以通过 PlantUML 网站在线画 UML 图,PlantUML 是一个开源项目,支持快速绘制各种 UML 图。

PlantUML 网址:

http://www.plantuml.com/

只要熟悉 UML 语言的语法,就能轻松画出这种类图。

IDE 插件画 UML

PlantUML 同时提供了 Eclipse 和 IntelliJ IDEA 插件,本文以 IDEA 为例进行演示,可以在 IDEA Plugins 里面搜索 "PlantUML" 安装即可,更多 IDEA 插件及教程关注公众号Java技术栈回复 "IDEA" 获取。

安装完成之后,通过菜单 New > PlantUML File 来创建一个 UML 图:

点击菜单之后,会让你输入 UML 图形文件名,以及选择 UML 图类型。

从这里面就能看到所有能创建的 UML 图类型,翻到下面还有组织架构图、原型图,以及现在比较流行的思维导图,不过画这些很突兀,不是很推荐,下面会给大家演示。

比如说我们创建一个比较经典的类图(Class):

左边就是默认生成的 UML 类图源码,右边是 UML 图形生成区,不过报错了,说找不到 Graphviz 这个依赖,那就需要安装一下。

Graphviz 下载地址:

https://graphviz.org/download/

上面提供了各个操作系统的安装方式,安装完成之后再重启 IntelliJ IDEA 即可。

重启之后,可以看到经典的 UML 类图:

PlantUML 插件还能生成以下 UML 图,及带默认模板。

时序图:

用例图:

活动图:

状态图:

思维导图:

牛逼吧,十几行代码生成一个思维导图,不过这个思维导图外观比较经典,适合做一些简单的思维导图,其他更复杂的思维导图还是建议用其他专业的工具会比较方便。

组织架构图:

原型图:

可以看到有些图并不是很适合用 UML 来画,UML 都是用代码来生成图形,有一定的学习成本,另外,相比市面上的其他画图工具,不论是美观、还是效率上,都还有有差距的。当然,如果你不要求美观,图形简单,UML 还是能满足你的。

本文只是介绍如何通过网页和 IDEA 插件来画 UML 图,UML 语法和设计并不是本文重点,有兴趣的可以网上搜索学习,关注公众号Java技术栈,在后台回复关键字 "PlantUML" 也可以获取一份完整版中文教程。

IDEA 香是香,可能你会说用它要收费,其实它也有开源的社区版本,收费的专业版也很容易申请到激活码,关注公众号Java技术栈,回复:IDEA,可以阅读我分享过的获取正版 IDEA 激活码的教程,很多粉丝都反馈说轻松得到了,感兴趣的都可以去申请,不能太容易了。

最后,如果本文对你有帮助,点个在看鼓励一下哦!也欢迎分享转发给更多有需要的朋友~

你工作中有用到 UML 图吗?欢迎分享~

版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。

近期热文推荐:

1.600+ 道 Java面试题及答案整理(2021最新版)

2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

3.阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式发布,全新颠覆性版本!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

IntelliJ IDEA 还能画思维导图,果然最强 IDE!的更多相关文章

  1. 在Emacs中画思维导图

    是的,你没有看错.其实,不只画思维导图,画结构图.流程图等,都可以.那怎么办呢?就是借助 Graphviz . Graphviz 可以方便地表达概念之间的联系,因此用它画思维导图是可行的,再加上它是个 ...

  2. 怎么用MindManager自带的模板和设计画思维导图

    小编知道大家平时工作学习都很忙,思维导图能完成的效率越高越好.所以今天,小编就为大家介绍两个能高效使用思维导图软件完成制作思维导图的小技巧.保证内容充实美观,还不费时间. 一.使用模板 打开MindM ...

  3. D3.js画思维导图(转)

    思维导图的节点具有层级关系和隶属关系,很像枝叶从树干伸展开来的形状.在前面讲解布局的时候,提到有五个布局是由层级布局扩展来的,其中的树状图(tree layout)和集群图(cluster layou ...

  4. 用MindManager画思维导图的好处有哪些?

    大家都听说过思维导图吧?有没有将这样一种图形思维工具真正运用到我们的日常生活中去呢?是否真的知道思维导图怎么用呢?今天小编就来给大家讲一讲,思维导图怎么用. 老规矩,先给大家讲一讲小编用的软件跟系统, ...

  5. 【原创】Mindjet Manager思维导图软件云服务功能的使用方法

        注:自己使用了mindjet manager来画思维导图已经有一段时间了,无疑mindjet manager的功能是很强大的,但是最近因为自己两台电脑都安装了mindjet manager,每 ...

  6. 【xmind】 使用 Java 生成思维导图

    前言 在日常的工作与学习中,我们经常会使用思维导图这个工具,来把抽象而又无形的思考转换成有形并且具体的图像,是理清思路,梳理逻辑的一大神器. 准确的说,思维导图并不是一个具体的工具,而是一种方法.是道 ...

  7. 用过MindManager后才知道思维导图原来这么简单

    哈喽大家好!时间过得真是太快了,一眨眼这一年就接近尾声了,相信我们都度过了不平凡但十分充足的一年,不知道大家在2020年中有没有令自己满意的收获呢? 相信大家各自都有精彩的收获,我们不妨把它们总结一下 ...

  8. 思维导图软件iMindMap的使用方法

    从手绘的思维导图再到各种各样的思维导图的软件,思维导图的高效性大家都体会到了.思维导图软件iMindMap在众多导图软件中是最受欢迎的之一,下面就给大家分享一下思维导图怎么画: 首先我要教给大家的是如 ...

  9. LOVO学习之思维导图和文档编辑器

    思维导图——是一种图示笔记方法,一种图示笔记工具,一个思考的利器.能将放射性思考具体化,帮助人们理解和记忆事物. 思维导图绘制规则:1,在纸的正中央用一个彩色图像或者符号开始画思维导图. 2,把所有主 ...

随机推荐

  1. Newtonsoft.Json设置类的属性不序列化

    参考页面: http://www.yuanjiaocheng.net/webapi/parameter-binding.html http://www.yuanjiaocheng.net/webapi ...

  2. 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布

    一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...

  3. [转载]基于TFS实践敏捷-实现用户场景

    您是新用户的 Visual Studio 应用程序生命周期管理 (ALM) 和 Team Foundation Server (TFS) 吗? 您想知道如何您和您的团队可以获得最大受益的这些工具来生成 ...

  4. 《JavaScript权威指南》学习笔记 第八天 Node Tree

    前几天介绍了DOM的知识,以及节点的操作.今天我们来重点理解下Node的属性以及方法. 在Document文档里属于Node的东西很多: 其中Document对象是Node对象最大的对象,平时我们使用 ...

  5. 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结 顕出:void-sampling 显示:void-sampling

    知识点: 分支语句,四则运算,( ̄y▽ ̄)~* 实验过程中遇到的问题及解决方法: 忘记换行,忘记代码,输入法切换(´∀`*) 暂时还得照书写,*★,°*:.☆\( ̄▽ ̄)/$:*.°★* 实验心得体会 ...

  6. EPANET中读取INPUT文件的函数文件——INPUT1.C/INPUT2.C/INPUT3.C

    首先介绍下这3个文件的关系:可以说INPUT1.C的函数粒度最大,它的函数getdata()就完成了整个INPUT文件数据的读入,该函数又调用了INPUT2.C中的部分函数,INPUT2.C文件中的函 ...

  7. BZOJ2621 [Usaco2012 Mar]Cows in a Skyscraper

    首先比较容易想到是状态压缩DP 令$f[S]$表示选取了集合$S$以后,已经送了最少次数$cnt$且当前电梯剩下的体积$rest$最大(即$f[S]$是一个二元组$(cnt, rest)$) 于是$f ...

  8. Java IO读写中文各种乱码问题 【转】

    Java IO读写中文各种乱码问题 转自:http://blog.sina.com.cn/s/blog_484ab56f0101muzh.html java.io.*读写中文各种乱码,很费劲.不完全解 ...

  9. Linux学习sed命令

    sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送 ...

  10. 揭秘Kafka高性能架构之道 - Kafka设计解析(六)

    原创文章,同步首发自作者个人博客.转载请务必在文章开头处以超链接形式注明出处http://www.jasongj.com/kafka/high_throughput/ 摘要 上一篇文章<Kafk ...