Eclipse 生成类图、时序图UML逆向插件

在调试源码、学习总结时如果能有清晰的类图、时序图在手边,那么必将事半功倍。今天总结下个人摸索这款工具的坑,希望能让大家在安装使用时少走弯路。

首先我们需要的是一款能够逆向的插件,逆向是指能够根据java代码自动生成类图或时序图。当然,很快我遍找到了很多款可用的插件列表。然而在安装过程中却历经坎坷。

主要原因如下:
第一、各种被墙;
第二、mac版,相对来说坑更多;
第三、网上帖子年代久远、大多项目地址已经搬迁;
第四、插件使用介绍不多,装好后仍难使用;
第五、没有安装GEF,导致插件出不来;

网上有很多中插件,本文不一一罗列,只讲亲测可用的AmaterasUML

第一步:安装GEF

提供两个版本的update site地址,如果eclipse版本较高(5.0.0 Oxygen),下载GEF5,否则下载 GEF4;
GEF5 update site: http://download.eclipse.org/tools/gef/updates/releases
GEF4 update site: http://download.eclipse.org/tools/gef/gef4/updates/releases

补充一下update site的安装方式:

打开eclispe -> help -> Install New Software


Eclipse 生成类图、时序图UML逆向插件_第1张图片
Install New Software.png

弹出框如下:


Eclipse 生成类图、时序图UML逆向插件_第2张图片
image.png

点击add -> 输入update site地址(name随便填) -> ok

然后出现需要安装的套件,Select All -> Next,然后一步一步安装,这个地址没有被墙,稍微有点大,安装速度应该还可以。


Eclipse 生成类图、时序图UML逆向插件_第3张图片
image.png

第二步:安装AmaterasUML

AmaterasUML update site: https://takezoe.github.io/amateras-update-site/

AmaterasUML搬到了github,所以下载速度也很快。网上老版本地址很多都不可用。

安装步骤参考第一步;

第三步:使用AmaterasUML

顺利的话,现在重启eclipse就在file -> new -> other里面就可以看到AmaterasUML了。如果没有,应该是哪里出问题了,可以留言探讨。

Eclipse 生成类图、时序图UML逆向插件_第4张图片
image.png

AmaterasUML提供了活动图、类图、时序图、用例图。这里介绍类图和时序图的使用。

Class Diagram 类图:

类图比较简单,我们新建一个类图文件classDiagram.cld,


Eclipse 生成类图、时序图UML逆向插件_第5张图片
image.png

在这个视图下,我们直接把需要展现的类从左侧拖过去即可,需要注意的是,Link with Editor一定要关掉,如下图:


Eclipse 生成类图、时序图UML逆向插件_第6张图片
image.png

简单拖拽,一个简单的类图就完成了。
Eclipse 生成类图、时序图UML逆向插件_第7张图片
简单类图

右击元素可以对其编辑、排版等,详细操作自由去探索吧。

Sequence Diagram时序图

时序图如何生成?逆向时序图由Stack Trace Sample视图生成。
首先window -> show view -> other,调出所有view

Eclipse 生成类图、时序图UML逆向插件_第8张图片
image.png

选择Stack Trace Sample -> ok
Eclipse 生成类图、时序图UML逆向插件_第9张图片
image.png

出现如下视图:
Eclipse 生成类图、时序图UML逆向插件_第10张图片
image.png

逆向时序图就是由此view生成,这里需要准备堆栈信息,复制进Stack Trace Sample窗口。
Eclipse 生成类图、时序图UML逆向插件_第11张图片
堆栈信息准备

堆栈信息复制进去以后,点击窗口右上角的那个小按钮(不同版本可能不太一样)直接生成时序图,然后弹出窗口选择需要保存时序图的位置,如果没有弹窗,可能是堆栈信息格式有误。
Eclipse 生成类图、时序图UML逆向插件_第12张图片
保存时序图

打开保存的时序图如下:
Eclipse 生成类图、时序图UML逆向插件_第13张图片
image.png

是不是很完美? 哈哈 还是不错。

有了堆栈信息,产生时序图很方便,目前我的堆栈信息是通过自定义异常抛出的,还在寻找更好的生成方式。

这就是今天总结的eclipse UML逆向插件,希望对大家有所帮助,如果大家有更好的欢迎推荐。

你可能感兴趣的:(Eclipse 生成类图、时序图UML逆向插件)