zoukankan      html  css  js  c++  java
  • (转)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


     
    Install New Software.png

    弹出框如下:


     
    image.png

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

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


     
    image.png

    第二步:安装AmaterasUML

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

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

    安装步骤参考第一步;

    第三步:使用AmaterasUML

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

     
    image.png

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

    Class Diagram 类图:

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


     
    image.png

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


     
    image.png

    简单拖拽,一个简单的类图就完成了。
     
    简单类图

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

    Sequence Diagram时序图

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

     
    image.png

    选择Stack Trace Sample -> ok
     
    image.png

    出现如下视图:
     
    image.png

    逆向时序图就是由此view生成,这里需要准备堆栈信息,复制进Stack Trace Sample窗口。
     
    堆栈信息准备

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

    打开保存的时序图如下:
     
    image.png

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

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

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


    本文转自:
    作者:徐志毅
    链接:https://www.jianshu.com/p/6239c916fc83
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    性能测试基础篇
    Jmeter参数化
    斐波那契
    Web安全 概述
    HTTP 协议详解
    echarts 响应式布局
    vue 结合mint-ui Message box的使用方法
    vue 中使用iconfont Unicode编码线上字体图标的流程
    手机端@media的屏幕适配
    @media响应式的屏幕适配
  • 原文地址:https://www.cnblogs.com/xuqing0422/p/13021630.html
Copyright © 2011-2022 走看看