java测试类要画UML图吗,如何从Java代码生成UML图(尤其是序列图)?

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

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

14个解决方案

249 votes

ObjectAid UML Explorer

是我用过的。 它可以从存储库轻松安装:

Name: ObjectAid UML Explorer

Location: http://www.objectaid.com/update/current

并生成相当不错的UML图:

QPnZD.png

网站描述:

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

您的源代码和库是显示的模型,它们不会反向设计为不同的格式。

如果您在Eclipse中更新代码,您的图表也会更新; 没有必要对源代码进行反向工程。

重构更新您的图表和源代码。 重命名字段或移动类时,图表只是反映了   变化而不会失去同步。

Eclipse工作区中的所有图表都会根据需要使用重构更改进行更新。 如果有必要,他们会检查你的   版本控制系统。

图表完全集成到Eclipse IDE中。 您可以将Java类从任何其他视图拖到图表上,并与图表相关   在适用的情况下,信息显示在其他视图中。

Thomas Ahle answered 2019-01-09T10:31:06Z

63 votes

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

更新2013年10月11日

我的原始帖子是在2012年6月,很多东西已经改变了许多工具已经增长而其他工具没有。 由于我要回去做一些建模并得到一些回复,我决定再次安装纸莎草纸,并将再次研究其他可能的UML建模解决方案。 UML生成(具有同步功能)对于软件设计者而言对于普通开发人员来说非常重要。

我希望papyrus能够直接将逆向工程类转换为UML类图,如果逆向工程具有同步功能,那将是非常酷的,但不幸的是,papyrus项目充满了功能,我认为那里的开发人员已经有了很多东西。 你对纸莎草所采取的行动可能不会给你任何回应而且没有任何反应,但不管怎样,这都超出了这个问题的范围。

答案(2013年10月11日)

工具

下载纸莎草纸

转到帮助 - > 安装新软件......

在“使用:”下拉列表中,选择 - 所有可用站点 -

在过滤器中,键入纸莎草纸

安装完成后重启Eclipse

重复步骤1-3,这次安装Modisco

脚步

在你的java项目中(假设它被称为MyProject)创建一个文件夹,例如UML

右键单击项目名称 - > 发现 - > Discoverer - > 从java项目中发现Java和库存模型,将生成一个名为MyProject_kdm.xmi的文件。

4PnYJ.png

右键单击项目名称文件 - > 新的 - > 纸莎草模型 - > 并称之为MyProject。

将三个生成的文件MyProject.di,MyProject.notation,MyProject.uml移动到UML文件夹

右键单击MyProject_kdm.xmi - > 发现 - > Discoverer - > 再次从KDM代码中发现UML模型,您将获得一个属性对话框,将序列化道具设置为TRUE以生成名为MyProject.uml的文件

x4YZO.png

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

ALT + W - > 显示视图 - > 纸莎草纸 - > 模特探险家

在该视图中,您将在图片中找到您的课程

VLL54.png

在视图中右键单击根模型 - > 新图

jIBGE.png

然后从视图开始抓取图表中的类

一些功能

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

您可以使用Window中的默认友好颜色设置 - > pereferences - > 纸莎草纸 - > 类图

一个非常重要的设置是当您放下类时,安排右键单击类图中的任何空白区域,然后单击“全部排列”

可以将模型资源管理器视图中的箭头抓取到图表中以显示概括,实现等

完成所有这些后,您的设置将显示如下图表

CEPI8.png

据我所知,您需要手动导入任何新类,因此无法进行同步。

这就是全部,除非你真的需要,否则不要购买商品,纸莎草实际上是伟大而复杂的,而不是捐赠或其他东西。

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

Ismail Marmoush answered 2019-01-09T10:35:07Z

42 votes

你的代码库是什么? Java还是C ++?

替代文字[http://www.soyatec.com/euml2/images/product_euml2_110x80.png]

eUML2 for Java是一个功能强大的UML建模器,专为Eclipse中的Java开发人员而设计。 免费版可用于商业用途。 它支持以下功能:

CVS和团队支持

专为具有多个可定制模型视图的大型项目而设计

Helios兼容

实时代码/模型同步

符合UML2.1并支持OMG XMI

JDK 1.4和1.5支持

商业版提供:

先进的逆向工程

强大的真正依赖性分析工具

UML配置文件和MDD

数据库工具

可定制的模板支持

prakash answered 2019-01-09T10:37:37Z

8 votes

PlantUML怎么样?它不适合逆向工程! 在编码之前,它是用于工程的。

Zamel answered 2019-01-09T10:38:00Z

5 votes

我开发了一个maven插件,既可以从CLI作为插件目标运行,也可以作为依赖项导入,并以编程方式使用解析器@see Main#main()来了解如何使用。

它递归地呈现所需包的PlantUML src代码,您可以根据需要手动编辑(希望您不会)。 然后,通过粘贴plantUML页面中的代码,或者通过下载工厂的jar,您可以将UML图表渲染为png图像。

在这里查看[https://github.com/juanmf/Java2PlantUML]

示例输出图:

kkUpH.png

任何贡献都非常受欢迎。 它有一组自定义输出的过滤器,但我还没有在插件CLI参数中公开这些过滤器。

重要的是要注意它不仅限于你的* .java文件,它也可以从maven依赖项中呈现UML图表src。 这对于理解您所依赖的库非常方便。 它实际上用反射检查编译的类,因此不需要源

成为第一个在GitHub上演的明星:P

juanmf answered 2019-01-09T10:39:06Z

4 votes

我建议使用Omondo的EclipseUML作为一般用法,虽然几个月前我确实遇到过一些问题,我的网络项目。 他们在某个时间点有一个免费版本,但据说不再推广。

如果您真的热衷于源代码中的逆向工程序列图,我建议使用jTracert。

就Eclipse项目本身而言,Eclipse UML2 Tools项目可能支持逆向工程,尽管我从未在实践中看到它的使用。

MoDisco(模型发现)项目Eclipse GMT项目似乎更清晰地实现了您的目标。 技术专用工具列表将是一个很好的起点。

Vineet Reynolds answered 2019-01-09T10:39:52Z

3 votes

我发现Green插件使用起来非常简单,并且可以从源代码生成类图。试试看 :)。只需将插件复制到插件目录即可。

pcmind answered 2019-01-09T10:40:15Z

3 votes

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

我为eclipse尝试了几个UML建模器,但对它们并不满意。 他们要么不稳定,要么复杂,要么只是丑陋。;-)

Patrick Cornelissen answered 2019-01-09T10:40:44Z

2 votes

使用IntelliJ IDEA。 要生成类图选择包并按Ctrl + Alt + U:

WBXpI.png

默认情况下,它仅显示类名,而不显示所有依赖项。 要更改它:右键单击 - > 显示类别...和显示依赖项:

DFsXM.png

要生成依赖关系图(UML部署图)并使用maven查看 - > 工具Windows - > Maven项目并按Ctrl + Alt + U:

HblBN.png

结果:

7HQhD.png

此外,还可以生成更多其他图表。 见文档。

Igor Rybak answered 2019-01-09T10:41:35Z

2 votes

您可以使用EclipseUML for Eclipse 3.5的30天评估版本:[http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip]这不是最新的3.6版本,但非常好,不需要您购买它进行测试和逆向工程。

逆向工程:[http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html]

Live flash演示:[http://www.ejb3.org/reverse.swf]

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

UML GURU answered 2019-01-09T10:42:18Z

1 votes

以前曾经问过一些非常相似的东西。

到目前为止,我用于逆向工程和圆形跳闸的最佳工具java - > UML是Borland的Together。 它基于Eclipse(不仅仅是一个插件),而且效果很好。

serg10 answered 2019-01-09T10:42:48Z

1 votes

[http://www.zenuml.com]不直接从Java代码生成UML图,但其DSL类似于Java。 顺便说一句,我创建了zenuml :)

RcldC.gif

Xiao Peng - ZenUML.com answered 2019-01-09T10:43:11Z

0 votes

我建议PlantUML。 这个工具非常有用且易于使用。 PlantUML有一个Netbeans插件,你可以从你的java代码创建UML图。

你可以通过这种方法在netbeans中安装PlantUML插件:

Netbeans菜单 - > 工具 - > 插入

现在选择Available Plugins,然后找到PlantUML并安装它。

欲了解更多信息,请访问网站:www.plantuml.com

Masood answered 2019-01-09T10:44:04Z

0 votes

[http://uml-plugins.blogspot.com/]这是我们可以找到UML建模工具之间差异的地方,以便快速入门!除了那些,我注意到Intellij的SequenceDiagram插件也是一个不错的选择,请阅读该帖子以快速了解免费与商业和娱乐; 最好的选择。

srinivas y answered 2019-01-09T10:44:27Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值