生成类图

时间:2009-05-26 07:19:56

标签: java class uml diagrams

HI所有我在项目发布结束时。为了继续工作,我们的经理要求我们为我们编写的代码生成类图。这是一个包含3500个java文件的中型项目。所以我想我们需要生成类图。首先,我需要了解逆向工程如何在这里工作。我也在谷歌寻找一些工具(绿色,紫色),但不确定 他们是否有任何帮助。请建议我如何继续。这也是一个很好的开始教程。

10 个答案:

答案 0 :(得分:8)

我强烈推荐 BOUML。它的Java反向支持绝对是 ROCK SOLID

BOUML还有很多其他优点:

  • 速度极快(最快 UML工具创建,请查看benchmarks),
  • 拥有坚如磐石的C ++,Java,PHP和其他导入支持,
  • 它是多平台(Linux,Windows,其他操作系统),
  • 具有很好的SVG导出支持,这很重要,因为以矢量格式查看大图,其在例如Firefox,非常方便(您可以在“鸟瞰”视图和类详细信息视图之间快速切换),
  • 它是全功能的,令人印象深刻的开发(看development history,很难相信这样的快速进展)。
  • 支持插件,具有模块化架构(这允许user contributions,看起来像BOUML社区正在形成)

答案 1 :(得分:6)

您要使用的工具是Doxygen。它与Javadoc类似,但适用于多种语言。如果计算出依赖关系,可以调用graphviz来渲染类图。以下是一些Java classes run through Doxygen的示例。

答案 2 :(得分:3)

这是一个工具链,而不是一个工具,我自己没有尝试过。但这可能是一个起点。使用UMLGraphantGraphViz。逐步解释:in this article

答案 3 :(得分:2)

我已经使用Visual Paradigm for UML来做你想做的事情而且非常好。

有关详细信息,请参阅here

只需使用工具 - >即时反转并选择您的包裹。

答案 4 :(得分:2)

您可以使用开源建模工具ArgoUML http://argouml.tigris.org/

对类图进行逆向工程

答案 5 :(得分:2)

ObjectAid非常好。您可以将类拖到图表中,并按照您想要的方式进行排列。

答案 6 :(得分:1)

UML标准版(或更好)的Visual Paradigm将Java文件反向设计为类图。

答案 7 :(得分:1)

我想如果你的老板只是想让你忙碌直到下一个项目开始,那么它就没有任何害处,但你很快就会发现创建一个包含3500个类的类图将告诉你关于你的系统的信息。实际上,你真的不想要一个包含超过10个类的图表。因此,一旦将所有代码转换为建模工具,您将需要开始组织和安排以找到含义。创建一个新图表,将一个重要的类放到其上,并引入与该类直接相关的所有类。重复可能是300个最重要的课程。别担心,它并不像听起来那么可怕,也许是一个星期的工作。

为了记录,我选择的建模工具是Sparx Systems的Enterprise Architect。它将反转java源或.jar文件。有30天免费试用版。

答案 8 :(得分:0)

有一些工具可以帮助您生成这些图表。这些花钱。

否则,您可以尝试解析Java文件。这可以很简单,创建一个简单的解析器来读取Java文件并将类的名称和所有import语句写入文件并从那里生成类图,graphviz可以帮助你。

答案 9 :(得分:0)

我多年来一直在使用Enterprise Architect。一位JBoss开发人员向我建议。它适用于所有类型的UML建模,包括类模型的逆向工程(Java,C#和其他)。基本版本目前每个座位120美元,但它具有更昂贵工具的大部分功能,而且更容易学习。我特别喜欢它生成HTML和RTF文档的能力。

在工具和源代码之间同步代码非常容易。如果你愿意,甚至可以双向使用。

您的PM也可能喜欢它可以创建的活动和序列图。我还经常使用部署图。将所有这些功能集中在一个工具中非常有用。