代码改变世界

逆向工程

2018-03-14 21:45  Simon.Jiang  阅读(7711)  评论(0编辑  收藏  举报

 

1.基础概念

1.1 逆向工程

逆向工程,也可以叫反向工程。在软件工程领域,一般是先UML设计,然后用工具生成代码,这个叫正向工程;相应的,从代码生成UML设计图叫做逆向工程

 

2. 用Star UML将Java代码生成类图

可能会因为我们使用的工具的版本不一样,一些操作会有不同,我使用的Star UML版本是2.8.0。

 

要从Java代码生成类图,需要添加扩展插件

1、点击【Tools】-->【Extension Manager】

 

 

2、在Extension Manager的界面上,在Registry中搜索java关键词,找到Java扩展并点击【Install】

 

 

3、安装完成后,会在【Tools】中看到【Java】选项

 

 

【Generate Code】用于正向工程生成Java代码

【Reverse Code】用于反向工程从Java代码生成UML类图

【Configure】对正向和反向工程进行配置

 

4、点击【Reverse Code】,选择Java文件所在的目录,StarUML会自动生成类图。生成类图的时候不会卡住界面,所以类图生成的速度跟选择的文件夹中的Java文件数量有关系。如下图,我选择的JDK 1.8的源代码中的java.io.*目录

 

 

5、在io这个目录上右击,选择【Add Diagram】-->【Class Diagram】,出现空白类图面板,将对应的类拖动到面板上,自动会将面板中的类图刻画出来。如下图

 

 

 

参考资料

Java 项目UML反向工程转化工具

staruml反向(逆向)Java工程通过代码生成类图

Intellij idea生成类图和导出类图

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