从Java项目生成UML类图[关闭]


200

是否有一个很好的工具可以帮助将Java类反向工程为UML,从而概述了我的类之间的关系?它不需要从JAR文件反编译,因为我有源码。我知道那里有很多,但是其中大多数只能生成单个类。我希望有一个可以生成类图的工具,该工具显示所有当前类和程序包如何协同工作的概述,以便我可以分析当前的体系结构设计。当然,分析是一回事。另一个是出于文档目的。

到目前为止,我知道一些。但是他们不能做概述类图。这是我尝试过并且能够进行反向工程但无法对整个项目进行概述的类图的Java UML工具列表:

  • StarUML(非常好的开源 UML工具,但不能生成概观类图)
  • ArgoUML(缓慢且缓慢,并且不断崩溃)
  • UModel(这是一个商业软件。我之前使用过,但发现很难使用)
  • MS Visio(它不支持Java UML反向工程。仅用于VB)

还有其他建议添加到此列表吗?并希望可以生成概述Java类图。顺便说一下,我正在使用Eclipse。


1
为了增加更多可能性,在Eclipse中有Papyrus。但是遗憾的是,代码生成插件对我不起作用。它具有太多依赖项,无法安装。最后,我使用了eUML2。
雕刻

您可以查看UML Lab(这是商业产品),但是它具有非常复杂且可自定义的逆向工程(往返)。
基督教徒

有一个名为JGrasp的免费工具可能会有所帮助。
HRJ 2014年

我一直在使用这种方法:youtube.com/watch?v=HwBep8DmBVw唯一的缺点是:它不是免费的,但您可以进行30天的试用,就我而言,这已经足够了。注意:这不是我的视频,我只是在谷歌搜索时发现的。
dazito

@Carven,请让我知道您使用了哪个插件?目前,我正在寻找在执行junit / test时自动生成序列图的方法。
User27854 2015年

Answers:


46

我用eUML2插件从Soyatec,Eclipse的下它工作正常进行的UML给源代码的生成。该工具在Eclipse 4.4.x之前非常有用


免费版是否具有此功能?
雕刻

是。我使用免费版。
Heisenbug

1
谢谢!;)我没有尝试过,因为我一直认为免费版本没有UML生成的代码。
嘉宏

38
糟透了 硬。说明要求用户为所有属性添加前缀“ f”以嗅探它们。它也具有破坏性,并向所有类文件添加了自己的注释。同样,指令是非直觉的。如果有人可以反驳我的经验(基于开普勒的当前版本),请这样做。而且,只有三个星期的试用期。现在正在卸载。
ingyhere 2014年

1
我不喜欢它。它不兼容最新版本的日食/氧气。
TayfunYaşar,

109

我写了Class Visualizer,做到了。它是一个免费工具,具有所有提及的功能-如本文所述,我个人将其用于相同的目的。对于每个浏览的类,它显示2个立即生成的类图:类关系和类UML视图。类关系图允许遍历整个结构。它具有对注释和泛型的全面支持,以及对JPA实体的特殊支持。在大型项目(数千个类)中效果很好。


8
该程序真的很好。感谢您创建它和链接。
伊戈尔·罗德里格斯

17
了Jonatan,礼貌之一的动作表明产品时可以/应该添加免责声明答案,服务等一个参与英寸
DBM

2
这真的很酷。考虑到我们已有数十年之久的非常复杂的项目-大多数代码都是JDK 1.1年份-这将对事物之间的连接方式提供一个很好的概述。作为源代码和Javadoc的补充,它以令人敬畏的价格提供了巨大的价值。
gerardw '16

2
类可视化工具是出色的,难以理解的有用工具吗?是的。我们如何付款?它是免费下载!我们如何学习使用它?花了10分钟观看视频!
Martin Meeser

2
我有一个类,它在同一项目/文件夹上调用另一个类的方法,但是另一个类没有显示。我添加了所有可能的依赖项,包括所有jdk8 jar。我错过了什么?
水瓶座力量

2

Omondo Eclipse插件怎么样。我使用了它,发现它非常有用。尽管如果要为大型资源生成图,则可能必须使用更多的内存来启动Eclipse。


在不工作的联系
昙花一现

2

我要说MoDisco是迄今为止功能最强大的(虽然可能不是最容易使用的一种)。

MoDisco是一个通用的逆向工程框架(以便您可以自定义逆向工程项目,使用MoDisco甚至可以对Java方法的行为进行逆向工程,不仅是结构和签名),而且还包括一些预定义的功能,例如类的生成绘制所需的Java代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.