免费的 UML 序列图逆向工程 eclipse 插件开箱即用 - 这样的东西存在吗?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4470329/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-10 19:49:04  来源:igfitidea点击:

free UML sequence diagram reverse engineering eclipse plugin working out of the box - does such a thing exist?

eclipseeclipse-pluginumlreverse-engineeringsequence-diagram

提问by kostja

I tried (though not very comprehensively) numerous solutions including ModelGoon(only class and interaction diagrams available), ObjectAid(class diagram only), eUML free edition(quits with an ominous "license not found" error on first use), MoDisco(with the only option on the menu being "browse corresponding model element"). And also some standalone tools - ArgoUMLand BOUMLeither dont provide this feature or at least i was not able to find it. Jsondestarted only after i fixed a msvcr71.dll-error and was then unable to connect to the VM for reasons unknown...Java Call Traceris just a bunch of files with pages of options to apply to the JVM directly and there is no executable...

我尝试了(虽然不是很全面)许多解决方案,包括ModelGoon(仅提供类和交互图)、ObjectAid(仅提供类图)、eUML 免费版(首次使用时出现不祥的“未找到许可证”错误退出)、MoDisco(与菜单上的唯一选项是“浏览相应的模型元素”)。还有一些独立的工具 - ArgoUMLBOUML要么不提供此功能,要么至少我找不到它。Jsonde仅在我修复了 msvcr71.dll 错误后才启动,然后由于未知原因无法连接到 VM... Java Call Tracer只是一堆带有可直接应用于 JVM 的选项页面的文件,并且没有可执行文件...

I also read following posts on the topic : featuring commercial options, too general (not seq diagrams), also too general, featuring standalone commercial solutions

我还阅读了有关该主题的以下帖子:具有商业选项太笼统(不是序列图)也太笼统具有独立的商业解决方案

By working out of the box i mean - the default installation is not broken and there is an option like "generate sequence diagram" or similar resulting in a (modifiable would be great) sequence diagram.

通过开箱即用,我的意思是 - 默认安装没有损坏,并且有一个选项,如“生成序列图”或类似的选项,可以生成(可修改的)序列图。

I am getting an impression, that there is simply no such thing (yet?) as a free UML sequence diagram reverse engineering eclipse plug-in working out of the box.

我的印象是,根本没有这样的东西(还没有?)作为开箱即用的免费 UML 序列图逆向工程 eclipse 插件。

Please prove me wrong. Thank you

请证明我是错的。谢谢

采纳答案by Thomas Owens

The other day, I discovered a tool from the University of Victoria called Diver: Dynamic Interactive Views For Reverse Engineering. You can either find a method and create a static sequence diagram starting with that method or you can run an application in a trace mode to capture the sequence diagram for a particular execution of an application.

前几天,我发现了来自维多利亚大学的一个名为Diver: Dynamic Interactive Views For Reverse Engineering 的工具。您可以找到一个方法并从该方法开始创建一个静态序列图,或者您可以在跟踪模式下运行应用程序来捕获应用程序特定执行的序列图。

回答by Riana

I'm the initiator of the ModelGoon project, and I'm currently working on building sequence diagrams from a method. And I plan a release in few weeks. Therefore, I don't really know what are the features expected by users. I mean it is possible to build a very detailed sequence diagram from a method body, but is it really useful? I usually use sequence diagrams "to think something through, either to verify the logic in a use case or to design a method or service" as advised in Agile Modeling.

我是 ModelGoon 项目的发起人,目前正在从一种方法构建序列图。我计划在几周内发布。因此,我真的不知道用户期望的功能是什么。我的意思是可以从方法体构建一个非常详细的序列图,但它真的有用吗?我通常使用序列图“思考一些事情,要么验证用例中的逻辑,要么设计一种方法或服务”,正如敏捷建模中所建议的那样。

Can you tell me more about your use of the generated sequence diagram? as you said it would be better if it is modifiable, what kind of modifications do you expect, and what about code synchronization? What is the level of detail you're expecting from it?

你能告诉我更多关于你使用生成的序列图的信息吗?正如你所说,如果它是可修改的会更好,你期望什么样的修改,以及代码同步呢?您期望它的详细程度是多少?

Have you tried the Netbeans UML Modeling module?

您是否尝试过 Netbeans UML 建模模块?

Fell free to contact me from my website.

请随时从我的网站与我联系。

回答by FelixM

ObjectAidhas a sequence diagram now. It's not free, but not expensive either. It does reverse engineering from source code, stack traces and call stacks in the debugger.

ObjectAid现在有一个序列图。它不是免费的,但也不贵。它从源代码、堆栈跟踪和调试器中的调用堆栈进行逆向工程。

回答by kostja

TPTPseems to be the only real option so far. That crystallized over the last few days after trying a number of different solutions. After installing TPTP from the regular Eclipse update site, follow these steps :

到目前为止,TPTP似乎是唯一真正的选择。在尝试了多种不同的解决方案后,这在过去几天逐渐清晰。从常规 Eclipse 更新站点安装 TPTP 后,请执行以下步骤:

  • select Profile Asfrom the context menu of a runnable element (eg. a method, a test, a testcase..)
  • 从可运行元素(例如方法、测试、测试用例..)的上下文菜单中选择Profile As
  • select Profile Configurations
  • 选择配置文件配置
  • select the Profile Settingtab
  • 选择配置文件设置选项卡
  • select Exection Time Analysisas the data collector
  • 选择Exection Time Analysis作为数据收集器
  • in the Profiling and Loggingview, select Open withfrom the context menu of the profiling data (the clock with glasses) and pick UML2 Class Interactions


    After that you will have to hide many many lifelines per right-click to make the diagram remotely readable while getting annoyed by TPTPs choice of color (light blue on white - also very unreadable).

    You can then print the diagram, effectively exporting it to pdf, tiff, eps and other formats via your favorite file printer.

    There is one big bitter pill to swallow though : what you get is an execution trace in disguise of a sequence diagram. This means - no loops, no conditions, no notes and such. Even the diagram title sucks, being a cryptic 50-odd character monstrosity you cant change.

    On the other hand, TPTP offers you much more that a sequence diagram. For example, you get a color-coded execution hot spot analysis on the side of the diagram as a bonus.

    But it seems that even the expensive tools boasting round-trip code engineering like Enterprise Architect offer nothing more than tracing (and admittedly much nicer graphics). Reverse engineering a realsequence diagram seems to be quite non-trivial.

  • Profiling and Logging视图中,从分析数据(带眼镜的时钟)的上下文菜单中选择Open with并选择UML2 Class Interactions


    之后,您将不得不在每次右键单击时隐藏许多生命线以使图表远程可读,同时对 TPTP 选择的颜色(白色上的浅蓝色 - 也非常不可读)感到恼火。

    然后您可以打印图表,通过您最喜欢的文件打印机有效地将其导出为 pdf、tiff、eps 和其他格式。

    但是,有一个很大的苦果要吞:你得到的是一个伪装序列图的执行跟踪。这意味着 - 没有循环,没有条件,没有注释等等。甚至图表标题也很糟糕,作为一个神秘的 50 多个字符的怪物,你无法改变。

    另一方面,TPTP 为您提供的不仅仅是序列图。例如,作为奖励,您可以在图表的一侧获得颜色编码的执行热点分析。

    但似乎即使是像 Enterprise Architect 这样吹嘘往返代码工程的昂贵工具也只能提供跟踪(当然还有更好的图形)。逆向工程一个真正的序列图似乎非常重要。