如何从Java代码生成UML图(特别是序列图)?

如何从Java代码生成UML图(特别是序列图)?,java,uml,reverse-engineering,diagram,Java,Uml,Reverse Engineering,Diagram,如何从现有Java代码生成UML图(特别是序列图)?您的代码库是什么?java还是C++?< /p> eUML2 for Java是为Java Developer设计的强大UML建模工具 在月食中。免费版可用于商业用途。信息技术 支持以下功能: 简历和团队支持 设计用于具有多个可自定义模型视图的大型项目 太阳神顺应 实时代码/模型同步 UML2.1兼容并支持OMG XMI JDK 1.4和1.5支持 商业版提供: 高级逆向工程 强大的真实依赖性分析工具 umlprofile和MDD 数据库工

如何从现有Java代码生成UML图(特别是序列图)?

您的代码库是什么?java还是C++?< /p>

eUML2 for Java是为Java Developer设计的强大UML建模工具 在月食中。免费版可用于商业用途。信息技术 支持以下功能:

  • 简历和团队支持
  • 设计用于具有多个可自定义模型视图的大型项目
  • 太阳神顺应
  • 实时代码/模型同步
  • UML2.1兼容并支持OMG XMI
  • JDK 1.4和1.5支持
  • 商业版提供:

  • 高级逆向工程

  • 强大的真实依赖性分析工具
  • umlprofile和MDD
  • 数据库工具
  • 可自定义模板支持

到目前为止,我用于逆向工程的最佳工具是java->UML。它基于Eclipse(而不仅仅是一个插件),并且确实工作得很好。

我建议一般使用,尽管几个月前我在我的web项目中确实遇到了一些问题。他们曾一度推出过免费版,但据推测该版本已不再推广

如果您真的喜欢源代码中的逆向工程序列图,我建议您

就Eclipse项目本身而言,该项目可能支持反向工程,尽管我从未见过它在实践中的使用


(模型发现)项目EclipseGMT项目在实现您的目标方面似乎更加清晰。这将是一个很好的起点。

您还可以尝试一下netbeans UML建模器。我用它来生成我在eclipse项目中使用的Java代码。您甚至可以在netbeans中导入eclipse项目,并使eclipse设置与netbeans项目设置保持同步

我尝试了几个eclipse的UML建模工具,但并不满意。它们要么不稳定,要么复杂,要么丑陋不堪

怎么样?
这不是为了逆向工程!!!这是为了在编码之前进行工程设计。

您可以使用EclipseUML for Eclipse3.5的30天评估版本: 这不是最新的3.6版本,但相当不错,不需要您购买它进行测试和反向工程

逆向工程:

实时flash演示:

EclipseUML Omondo是世界上最好的Java工具。在这个实时java同步市场上,似乎只有eUML与之竞争,但eUML在代码中添加了模型标记,这真的非常糟糕,对我来说是绝对不行的。

我发现插件非常易于使用,并且可以从源代码生成类图。 试试看:)。 只需将插件复制到您的插件目录

是我用的。可以从存储库轻松地

Name:     ObjectAid UML Explorer
Location: http://www.objectaid.com/update/current
并生成非常好的UML图:

网站描述: ObjectAid UML Explorer不同于其他UML工具。它使用 显示现有代码的图形表示的UML符号 这与您的文本编辑器一样准确和最新,同时 非常容易使用。几个独特的功能使这成为可能:

  • 您的源代码和库是显示的模型,它们不会反向工程为不同的格式
  • 如果在Eclipse中更新代码,那么图表也会更新;不需要对源代码进行反向工程
  • 重构会更新图表和源代码。重命名字段或移动类时,图表只反映 更改而不失去同步
  • Eclipse工作区中的所有图表都会根据需要使用重构更改进行更新。如有必要,它们将从您的帐户中签出 版本控制系统
  • 图完全集成到EclipseIDE中。您可以将Java类从任何其他视图拖到关系图上,并与关系图相关 如适用,信息显示在其他视图中
编辑: 如果你是一名设计师,那么这是你的最佳选择,它非常先进,功能齐全,但是如果你只想勾勒出一些UML图,并且易于安装,那么它非常酷,不需要任何插件。我刚刚通过EclipseJavaEE安装了它,效果非常好


2013年10月11日更新

我最初的帖子是在2012年6月,很多东西都发生了变化,很多工具都有所发展,而其他工具则没有。因为我要回去做一些建模,也得到了一些回复,所以我决定再次安装papyrus,并将再次研究其他可能的UML建模解决方案。UML生成(具有同步功能)对软件设计师来说并不是很重要,而是对普通开发人员来说很重要

我希望papyrus有一个简单的方法将类反向工程到UML类图中,如果反向工程有一个同步特性,那将是非常酷的,但不幸的是,papyrus项目充满了功能,我认为开发人员手头已经有很多,因为您对papyrus所做的许多操作可能不会给您任何响应,只是什么都没有发生,但无论如何,这超出了这个问题的范围

答案(2013年10月11日)

工具

  • 下载纸莎草
  • 转到帮助->安装新软件
  • 在使用:下拉列表中,选择--所有可用站点--
  • 在过滤器中,输入纸草
  • 安装完成后,重新启动Eclipse
  • 重复步骤1-3,这次安装Modisco
  • 步骤

  • 在java项目中(假设它被称为MyProject)创建一个文件夹,例如UML
  • 右键单击项目名称->发现->发现者->从Java项目中发现Java和清单模型,一个名为MyProject的文件_