Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 序列图逆向工程_Java_Uml_Reverse Engineering_Sequence Diagram - Fatal编程技术网

Java 序列图逆向工程

Java 序列图逆向工程,java,uml,reverse-engineering,sequence-diagram,Java,Uml,Reverse Engineering,Sequence Diagram,我正在寻找一种工具,它可以将Java反向工程到序列图中,同时还提供过滤对某些库的调用的能力 例如,Netbeans IDE在这方面做得非常出色,但它包含了对字符串或整数的所有调用,这些调用会将图表弄得乱七八糟,甚至无法使用 非常感谢您的帮助 我想这就是你要找的。它从运行的Java程序生成序列图。此外,由于它的输出是图表的文本描述(采用几种流行的SD工具的格式),因此您可以使用grep仅筛选您感兴趣的类。Enterprise architect声称能够对java代码进行反向工程,包括生成序列图-请

我正在寻找一种工具,它可以将Java反向工程到序列图中,同时还提供过滤对某些库的调用的能力

例如,Netbeans IDE在这方面做得非常出色,但它包含了对字符串或整数的所有调用,这些调用会将图表弄得乱七八糟,甚至无法使用

非常感谢您的帮助

我想这就是你要找的。它从运行的Java程序生成序列图。此外,由于它的输出是图表的文本描述(采用几种流行的SD工具的格式),因此您可以使用grep仅筛选您感兴趣的类。

Enterprise architect声称能够对java代码进行反向工程,包括生成序列图-请参阅

看起来它可以记录一个调试会话,然后从中生成序列图

我还没有尝试过它(虽然我已经使用EA作为建模工具),所以ymmv

有30天的免费评估下载

请查看


它不知道是否可以过滤库调用,但它有一个合理的图形前端,似乎可以跟踪非常大的应用程序。

我刚刚开始在Sparx Systems Enterprise Architect中使用序列图记录功能。它对C#非常有效。您可以按类和方法创建筛选器。我实际上是想知道是否有可能过滤掉整个包。有一个复选框用于自动排除有助于分离的外部模块(如.NET Framework)。YMMV for Java,但我认为他们对Java的支持(和文档)通常比对.NET的支持(更多示例)更好。

我有一个工具可以完全满足您的需求。看看


除了作为java的反向工程工具外,它还非常轻量级。您可以从java程序中控制要录制的内容。

JTracert现在已停止。在适当的地方,他们建议尝试一下。MaintainJ在运行时为用例生成序列图。它提供了。是的,过滤掉不需要的调用是序列图生成工具中最重要的功能。此外,MaintainJ提供了一个整洁的界面,用于在一个用例或跨用例中浏览图表和搜索调用

检查以获得快速概述

顺便说一下,我是MaintainJ的作者

加热灯()正是为此而设计的

它通过运行Java代码生成交互式(可打印)图表。您可以指定过滤器来描述要跟踪的类、包和方法。还可以在图呈现后搜索、过滤和折叠调用,以进一步减少序列图


免责声明:我是Heatlamp的作者。

MaintainJ真是一个很棒的工具,最近我开始在我的应用程序中使用MaintainJ。它让我在整个使用过程中更加轻松地理解基于MaintainJ序列和UML图的系统

我相信对于上述问题,MaintainJ将给出更好的想法。 谢谢
Krishna MM

我相信解决您问题的最佳工具是Diver:反向工程的动态交互视图。它提供了静态和动态序列图,并希望从您的问题中解决您的所有需求

它是Eclipse的一个插件,允许您:

  • 轻松跟踪Java程序
  • 可视化程序的运行时功能
  • 过滤痕迹,使其更紧凑
  • 根据运行时发生的情况筛选IDE
  • 查看在源代码编辑器中运行的代码
它是开着的,还有一个


充分披露:我是潜水员的当前项目负责人,以下是对Asgeir答案的补充。这是我找到的链接

从命令行运行。。。“java-jar-sequence.jar”。。。这是一个带有GUI的Java应用程序

帮助部分说: SEQUENCE是一个用于生成UML序列图的程序。与大多数类似的程序相比,您实际上并没有绘制图表。相反,您需要为要绘制图表的方法调用编写一个文本描述,并自动计算和绘制布局

所以这个工具不会对任何东西进行反向工程,但我可以看到,如果您想从零开始快速绘制图表,它可能会有多大帮助。看起来它是2002年建造的,我认为现在可能有更好的工具

这里还有另一个类似的工具:

这看起来是一个非常好的工具:

但它看起来只免费一年,然后是每年250美元。糟糕透了


我发现ModelGoon插件很有帮助。它有点有限,因为您选择一个方法作为序列图的起点,并且它只显示该方法所做的调用(因此要深入一层,您需要生成另一个图)


JIVE(www.cse.buffalo.edu/JIVE)将从Java程序的执行中构造一个序列图。它具有排除过滤器功能,允许您排除属于指定类或包的对象。JIVE可以绘制多线程Java程序执行的序列图。它还能够在用户指导下,在水平和垂直方向上压缩大型图表。

您使用了太多的标记,以至于您还不清楚要从哪种语言进行逆向工程!Java?我需要类似于C#的东西(Sparx也支持)。像Sparx那样与调试器集成是非常优雅和有用的。一个限制是它只记录一个执行线程。我们的应用程序是多线程的,因此受限制,无法真正捕获正在发生的事情。我希望能找到一些类似的多线程记录器。从该项目的网站上,jTracert已停止使用,取而代之的是jSonde