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

Posted

技术标签:

【中文标题】从 Java 项目生成 UML 类图 [关闭]【英文标题】:Generate UML Class Diagram from Java Project [closed] 【发布时间】:2011-09-04 06:24:24 【问题描述】:

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

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

StarUML(非常好的开源 UML工具,但不能生成不概述类图) ArgoUML(它缓慢而缓慢,并且不断崩溃) UModel(这是一款商业软件,前段时间用过,但是觉得不好用) MS Visio(不支持 Java UML 逆向工程。仅适用于 VB)

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

【问题讨论】:

只是为了增加一些可能性,在 Eclipse 中,有 Papyrus。但遗憾的是,代码生成插件对我不起作用。它有太多需要安装的依赖项。我最终使用了 eUML2。 您可以查看 UML Lab - 它是商业的 - 但它具有非常复杂和可定制的逆向工程(和往返)。 有一个名为JGrasp 的免费工具可能会有所帮助。 我一直在使用这种方法:youtube.com/watch?v=HwBep8DmBVw 唯一的缺点是:它不是免费的,但您可以试用 30 天,这对我来说已经足够了。注意:这不是我的视频,我只是在谷歌搜索时发现的。 @Carven,请告诉我您使用的是哪个插件?目前我正在寻找在执行 junit/test 时自动生成序列图。 【参考方案1】:

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

【讨论】:

这个程序真的很不错。感谢您创建它并提供链接。 Jonatan,作为一种礼貌行为,在建议您参与的产品、服务等时,您可以/应该在答案中添加免责声明。 这真是太酷了。鉴于我们已有数十年历史的非常复杂的项目——大部分代码都是 JDK 1.1 复古的——这提供了对事物如何连接的很好的概述。作为源代码和 Javadoc 的补充,它以超值的价格提供了巨大的价值。 Class Visualizer 是一款出色的、令人难以置信的有用工具吗?是的。我们如何支付?它是免费下载!我们如何学习使用它?花了 10 分钟观看视频! 我有一个类在同一个项目/文件夹中调用另一个类的方法,但是那个类没有出现。我添加了所有可能的依赖项,包括所有 jdk8 jar。我错过了什么吗?【参考方案2】:

我在 Eclipse 下使用来自 Soyatec 的 eUML2 插件,它可以很好地生成提供源代码的 UML。这个工具在 Eclipse 4.4.x 之前很有用

【讨论】:

免费版有这个功能吗? 是的。我使用免费版。 谢谢! ;) 我没有尝试,因为我一直认为免费版本没有 UML 生成代码。 这很糟糕。难的。说明希望用户在所有属性前加上一个 'f' 字符来嗅探它们。它也具有破坏性,并且会将一堆自己的 cmets 添加到所有类文件中。此外,指令是不直观的。如果有人可以反驳我的经验(基于开普勒的当前版本),请这样做。而且,只有三周的试用期。正在卸载。 我不喜欢它。它不兼容最新版本的 eclipse/oxygen。【参考方案3】:

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

【讨论】:

链接失效【参考方案4】:

我想说MoDisco 是迄今为止最强大的一个(尽管可能不是最容易使用的)。

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

【讨论】:

以上是关于从 Java 项目生成 UML 类图 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 Java 中读取 UML 类图

IDEA 的强大,一键把项目生成 UML 类图…

如何从Visual Studio中的UML类图生成C#源代码

还需要什么ProcessOnPlantUML,IDEA自己就可以把项目一键生成UML类图~

一键将项目代码绘制成 UML 类图

IDEA这个功能真强大!一键把整个项目代码绘制成UML类图...