2009-05-26 61 views
8

HI我只是在我的项目发布结束。因此,为了继续工作,我们的经理要求我们为我们编写的代码生成类图。它与3500个java文件的中型项目。所以我认为我们需要生成类图。首先,我需要知道逆向工程在这里如何工作。此外,我在谷歌(绿色,紫罗兰)寻找一些工具,但不知道 是否他们有任何help.Please建议我如何进行。也是一个很好的开始教程表示赞赏。生成类图

回答

7

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

BOUML有许多其他advanteges:

  • 这是非常快的(最快 UML工具创建过,签出benchmarks
  • 具有坚如磐石的C++,JAVA,PHP和其他导入支持,
  • 它是多平台的(Linux,Windows,其他操作系统),
  • 有很好的SVG导出支持,这很重要,因为查看矢量格式的大图Firefox,非常方便(您可以快速切换“鸟眼”视图和课程详细视图),
  • 它功能全面,令人印象深刻,集中发展(看看development history,很难相信如此快速的进展是可能的)。
  • 支持插件,具有模块化的架构(这允许user contributions,貌似BOUML社会形成了)
+0

这很好,而且很容易使用。然而,这些图很难看。 – 2010-03-27 16:39:26

0

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

否则,您可以尝试解析您的Java文件。这可能很简单,只需创建一个简单的解析器即可读取Java文件,并将该类的名称和所有导入语句写入文件并从中生成类图,graphviz可以帮助您。

+0

您可以将此方法与免费的http://yuml.me UML图生成器结合使用。 对于Powershell类和Ruby on Rails域,人们[已经在执行此操作](http://yuml.me/wildthing)。 既然你有这么多的课程,你需要将图表分解成10-50个班级。 – tobinharris 2009-05-31 14:56:48

1

UML标准版(或更好)的可视化范式将反向工程Java文件到类图中。

6

您要使用的工具是Doxygen。它与Javadoc类似,但可以跨多种语言使用。如果找出依赖关系,并且可以调用graphviz来渲染类图。以下是几个Java classes run through Doxygen的示例。

+0

WOW。很棒。 – Epaga 2009-12-18 10:42:54

2

我已经使用了Visual Paradigm for UML来处理你想要做的事情,它非常好。

查看here了解详情。

只要去工具 - >即时反向并选择你的软件包。

1

我猜如果你的老板只是想让你忙到下一个项目开始,那么这里没有任何坏处,但是你会很快发现用3500个类创建一个类图会告诉你对你的系统完全没有关系。事实上,你并不是真的想要一个拥有10个以上类的图。所以一旦你把所有的代码都转换到你的建模工具中,你就需要开始组织和安排来找到它的含义。创建一个新图,将一个重要的类放到它上面,并引入所有与该类直接相关的类。重复300个最重要的课程。别担心,它不像听起来那么可怕,也许是一周的工作。

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

+0

我同意为所有课程生成是一件痛苦的工作。这个练习是为了让人们保持良好的状态。:_) – GustyWind 2009-05-27 04:47:53

0

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

在工具和源代码之间同步代码非常容易。即使是双向的,如果你想。

您的PM也可能喜欢它可以创建的活动和顺序图。我也经常使用部署图。把所有这些都放在一个工具里是非常有用的。

1

ObjectAid是相当不错的。您可以将课程拖放到图表中并按照您的要求进行排列。