HI我只是在我的项目发布结束。因此,为了继续工作,我们的经理要求我们为我们编写的代码生成类图。它与3500个java文件的中型项目。所以我认为我们需要生成类图。首先,我需要知道逆向工程在这里如何工作。此外,我在谷歌(绿色,紫罗兰)寻找一些工具,但不知道 是否他们有任何help.Please建议我如何进行。也是一个很好的开始教程表示赞赏。生成类图
生成类图
回答
我强烈建议BOUML。它的Java反向支持绝对是ROCK SOLID。
BOUML有许多其他advanteges:
- 这是非常快的(最快 UML工具创建过,签出benchmarks)
- 具有坚如磐石的C++,JAVA,PHP和其他导入支持,
- 它是多平台的(Linux,Windows,其他操作系统),
- 有很好的SVG导出支持,这很重要,因为查看矢量格式的大图Firefox,非常方便(您可以快速切换“鸟眼”视图和课程详细视图),
- 它功能全面,令人印象深刻,集中发展(看看development history,很难相信如此快速的进展是可能的)。
- 支持插件,具有模块化的架构(这允许user contributions,貌似BOUML社会形成了)
有一些工具可以帮助您生成这些图表。这些花钱。
否则,您可以尝试解析您的Java文件。这可能很简单,只需创建一个简单的解析器即可读取Java文件,并将该类的名称和所有导入语句写入文件并从中生成类图,graphviz可以帮助您。
您可以将此方法与免费的http://yuml.me UML图生成器结合使用。 对于Powershell类和Ruby on Rails域,人们[已经在执行此操作](http://yuml.me/wildthing)。 既然你有这么多的课程,你需要将图表分解成10-50个班级。 – tobinharris 2009-05-31 14:56:48
这是一个比工具更多的工具链,我自己也没有尝试过。但这也许是一个起点。使用UMLGraph,ant和GraphViz。逐步解释:in this article。
UML标准版(或更好)的可视化范式将反向工程Java文件到类图中。
您要使用的工具是Doxygen。它与Javadoc类似,但可以跨多种语言使用。如果找出依赖关系,并且可以调用graphviz来渲染类图。以下是几个Java classes run through Doxygen的示例。
WOW。很棒。 – Epaga 2009-12-18 10:42:54
我猜如果你的老板只是想让你忙到下一个项目开始,那么这里没有任何坏处,但是你会很快发现用3500个类创建一个类图会告诉你对你的系统完全没有关系。事实上,你并不是真的想要一个拥有10个以上类的图。所以一旦你把所有的代码都转换到你的建模工具中,你就需要开始组织和安排来找到它的含义。创建一个新图,将一个重要的类放到它上面,并引入所有与该类直接相关的类。重复300个最重要的课程。别担心,它不像听起来那么可怕,也许是一周的工作。
为了记录,我选择的建模工具是Enterprise Architect Sparx Systems。它会反转java源文件或.jar文件。有一个免费的30天试用版。
我同意为所有课程生成是一件痛苦的工作。这个练习是为了让人们保持良好的状态。:_) – GustyWind 2009-05-27 04:47:53
我已经使用了多年的Enterprise Architect。一位JBoss开发人员向我建议。它适用于所有类型的UML建模,包括类模型(Java,C#和其他)的逆向工程。目前的基本版本是每个座位120美元,但它具有大部分昂贵工具的功能,而且学习起来更容易。我特别喜欢它生成HTML和RTF文档的能力。
在工具和源代码之间同步代码非常容易。即使是双向的,如果你想。
您的PM也可能喜欢它可以创建的活动和顺序图。我也经常使用部署图。把所有这些都放在一个工具里是非常有用的。
您可以反向工程类图与开源modelleing工具的ArgoUML http://argouml.tigris.org/
ObjectAid是相当不错的。您可以将课程拖放到图表中并按照您的要求进行排列。
- 1. 生成UML类图
- 2. 给ID /类生成图像
- 3. Java - 自己生成类图
- 4. 生成服务图层类
- 5. Jooq为视图生成类
- 6. 自动从PHP类生成类图吗?
- 7. 生成类
- 8. 生成C#类
- 9. 生成类名?
- 10. 生成C#类
- 11. 在visual studio 2010中生成类图express
- 12. 生成IPhone应用程序的类图
- 13. 如何从嵌套地图生成类
- 14. 如何生成TypeScript UML类图?
- 15. 生成类图Eclipse与Android SDK
- 16. 从类图生成Objectivec C代码
- 17. 从源代码生成类图
- 18. 试图选择WordPress生成的Widget类?
- 19. 在VS 2010中生成UML类图
- 20. JGrapht:使用DirectedSubgraph.java类生成子图
- 21. 的Graphviz + Doxygen的生成UML类图
- 22. Visual Studio UML类图生成器
- 23. 类图生成的源代码
- 24. 如何从xcdatamodel生成类图?
- 25. 从现有的javadoc生成类图
- 26. 类似js生成空diff图像
- 27. 如何生成生成器类
- 28. 管理生成器不生成类
- 29. CodeSmith生成器不生成类
- 30. 生成图表
这很好,而且很容易使用。然而,这些图很难看。 – 2010-03-27 16:39:26