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

2022-08-31 04:32:09

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


答案 1

ObjectAid UML Explorer

是我用过的。它很容易从存储库安装

Name:     ObjectAid UML Explorer
Location: http://www.objectaid.com/update/current

并生成了非常漂亮的UML图:

Screenshot

来自网站的描述:

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

  • 您的源代码和库是显示的模型,它们不会反向工程成不同的格式。
  • 如果您在Eclipse中更新代码,您的图表也会更新;无需对源代码进行反向工程。
  • 重构会更新关系图以及源代码。重命名字段或移动类时,关系图只会反映更改,而不会不同步。
  • Eclipse 工作区中的所有关系图都会根据需要使用重构更改进行更新。如有必要,它们将从版本控制系统中签出。
  • 关系图已完全集成到 Eclipse IDE 中。您可以将 Java 类从任何其他视图拖到关系图上,并且与关系图相关的信息将显示在其他视图中(如果适用)。

答案 2

编辑:如果你是一个设计师,那么Papyrus是你最好的选择,它非常先进,功能齐全,但如果你只是想勾勒出一些UML图和易于安装,那么ObjectAid非常酷,它不需要任何插件,我刚刚在Eclipse-Java EE上安装了它,并且工作得很好!


更新 2013年10月11日

我最初的帖子是在2012年6月,很多事情都发生了变化,许多工具已经发展壮大,而其他工具却没有。由于我将回去做一些建模,并且还得到了一些回复,我决定再次安装纸莎草纸,并将再次研究其他可能的UML建模解决方案。UML生成(具有同步功能)对软件设计人员来说非常重要,而不是对普通开发人员。

我希望纸莎草纸有直接的方法将类逆向工程到UML类图中,如果逆向工程具有同步功能,那将是非常酷的,但不幸的是,纸莎草纸项目充满了功能,我认为那里的开发人员已经有很多手头了,因为你在纸莎草纸上做的许多操作可能不会给你任何回应,只是什么都没有发生,但这无论如何都超出了这个问题的范围。

答案 (2013年10月11日)

工具

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

步骤

  1. 在你的java项目中(假设它被称为MyProject),创建一个文件夹,例如UML。
  2. 右键单击项目名称 -> Discovery -> Discoverer -> DiscoverJava 和从 java 项目中发现 Java 和清单模型,将生成一个名为 MyProject_kdm.xmi 的文件。enter image description here
  3. 右键单击项目名称文件 -->新的 -->纸莎草模型 -> 并将其命名为 MyProject。
  4. 将生成的三个文件 MyProject.di、MyProject.notation、MyProject.uml 移动到 UML 文件夹
  5. 右键单击 MyProject_kdm.xmi -> 发现 -> 发现器 -> 再次从 KDM 代码中发现 UML 模型,您将获得一个属性对话框,将序列化道具设置为 TRUE 以生成名为 MyProject.uml 的文件enter image description here

  6. 将生成的MyProject.uml移动到UML文件夹,Eclipse会询问您是否要替换它,请单击“是”。我们在这里所做的是,我们将一个空模型替换为一个生成的模型。

  7. ALT+W -> 显示视图 ->纸莎草 -> 模型浏览器

  8. 在该视图中,您会发现您的课程如图所示enter image description here

  9. 在视图中右键单击根模型 -> 新建关系图enter image description here

  10. 然后开始从视图中抓取到关系图中的类

一些功能

  • 要显示类元素(变量,函数等),右键单击任何类 ->过滤器 ->显示/隐藏内容 Voila !!

  • 您可以从窗口 ->透视 ->纸莎草纸 ->类图中获得默认的友好颜色设置

  • 一个非常重要的设置是“排列”,当您删除类时,他们会在类图上的任何空白处进行狭窄的右键单击,然后单击“全部排列”

  • 模型资源管理器视图中的箭头可以抓取到图表上,以显示泛化,实现等

  • 完成所有这些之后,您的设置将显示如下图表enter image description here

  • 据我所知,同步不可用,您需要手动导入任何新类。

仅此而已,除非你真的需要,否则不要购买商业产品,纸莎草纸实际上很棒,很复杂,而不是捐赠或其他东西。

免责声明:我与纸莎草人没有任何关系,事实上,起初我不喜欢纸莎草纸,直到我做了很多研究并耐心地体验了它。当我尝试其他免费工具时,将再次回到这篇文章。


推荐