我工作的公司有一段他们想重写的代码。它使用Java/Java服务器接口。它的问题是,它是旧的,使用贬值的代码,是在一个不再可用的IDE中编写的,不能很好地与netbeans一起工作,而且它首先是一种草率的编码。没有人真正知道它的结构,而且有有限的文档。
在开始重写之前,我们想要找到旧程序的结构并得到一个像样的UML图。在这种情况下,什么工具最有效?到目前为止,我们已经看了一个叫Agilej的。
抱歉,如果这有点模糊,我只是一个低级实习生,还没有填写所有内容=p
您可以使用JArchitect,一个非常完整的java静态分析工具
我没有给出可点击的超链接,因为你应该能够通过网络搜索轻松找到它们,而且可能有不止一个对你有用的链接
Sparx Systems Enterprise Architect具有非常强大的逆向工程功能。Java(也是编译的二进制JAR)在支持的语言列表中。
几年前,我使用了Enterprise Architect的逆向工程特性来帮助我们理解和设计修改遗留的c++、QT代码。
Enterprise Architect能够自动检索类模型。然后,我使用原始类模型来拖放绘制其他几个图,其中只包括我感兴趣的类,以及我需要的详细级别等。
在其他静态代码分析工具(例如代码流可视化)的范围内,我不知道哪个工具特别支持Java足够好。例如,快速Google指向Coder Gears JArchitect。在我提到的过去的项目中,我们使用了Doxygen自动生成的文档。其中一部分是自动生成的graphviz依赖关系图。为了澄清设计和可视化流程(特别是大的遗留函数),我发现快速质量系统代码火箭流程可视化器
很有用一旦你通过各种逆向工程工具掌握了基本的事实,下一步就是通过它们,注释什么是未知的,什么在做什么,基本上应用一些正式的代码审查方法(例如Fagan检查或它的一些衍生物)。
(如果您提前考虑后续行动所需的可交付成果,那么使用各种工具的评估版本可能就足够了。)我猜公司不打算给你一个<0$预算>
敏捷建模站点可能有一些很好的重构技巧和一些最小的UML映射指南,例如从敏捷遗留系统分析和集成建模