企业架构师来自 SPARX 声称能够对java代码进行逆向工程,包括生成序列图 - 请参阅本节 用户指南
看起来它可以记录调试会话,然后从中生成序列图
我没有尝试过(虽然已经使用EA作为建模工具)所以ymmv!
有免费的30天评估下载
MaintainJ是一个非常好的工具,最近我开始使用MaintainJ和我的应用程序,它让我更加舒适地使用我的整个用法来理解我的系统基于Maintainj序列& UML图。
我相信上面的问题,MaintainJ会给出更好的主意。 谢谢, 克里希纳MM
我认为 jtracert 是你在找什么。它从正在运行的Java程序生成序列图。此外,因为它的输出是图表的文本描述(以几种流行的SD工具的格式),您可以使用grep仅过滤您感兴趣的类。
看一眼 http://www.maintainj.com
它不知道,它是否可以过滤库调用,但它有一个合理的图形前端,似乎跟踪甚至非常大的应用程序。
JIVE(www.cse.buffalo.edu/jive)将根据Java程序的执行构建一个序列图。它具有排除过滤器功能,允许您排除属于指定类或包的对象。 JIVE可以绘制多线程Java程序执行的序列图。在用户指导下,它还具有水平和垂直尺寸的紧凑大图。
我相信解决您问题的完美工具是Diver:逆向工程的动态交互式视图。它提供静态和动态序列图,并且可以解决您问题中的所有要求。
它是Eclipse的插件,可以让你:
它在 Github上 而且还有一个 项目网站
完全披露:我是潜水员目前的项目负责人
这是Asgeir答案的附加内容。这是我找到的链接。
http://www.zanthan.com/ajm/sequencev7/sequence.jar
从命令行运行...“java -jar sequence.jar”...这是一个带有GUI的Java应用程序。
帮助部分说: SEQUENCE是一个用于生成UML序列图的程序。与大多数类似的程序相比,您实际上并没有绘制图表。而是编写您想要绘制的方法调用的文本描述,并自动计算和绘制布局。
所以这个工具不会对任何东西进行反向工程,但是如果你想从头开始快速绘制图形,我可以看到它是如何有用的。看起来它建于2002年,我认为现在可能有更好的工具。
这是另一个类似的工具: http://sdedit.sourceforge.net/example/index.html
我有一个完全符合您要求的工具。看看这个
http://sourceforge.net/projects/javacalltracer/
除了作为java的逆向工程工具之外,它还非常轻量级。您可以从java程序中控制要记录的内容。
JTracert现已停产。在适当的位置,他们建议 http://www.jsonde.com/
这看起来像一个非常好的工具: http://www.architexa.com/learn-more/sequence-diagrams
但它看起来只有一年免费,然后是每年250美元。游民。
我发现ModelGoon插件很有帮助。它有点受限,因为您选择单个方法作为序列图的起点,并且它仅显示方法所做的调用(因此需要更深层次地生成另一个图表。)
http://www.modelgoon.org/?page_id=53
HeatLamp( http://www.jmolly.com/heatlamp/ )就是为了这个目的而设计的。
它通过运行Java代码生成交互式(和可打印的)图表。您可以指定过滤器来描述要跟踪的类,包和方法。您还可以在呈现图表后搜索,过滤和折叠调用,以进一步减少序列图。
免责声明:我是Heatlamp的作者。
尝试 MaintainJ 。 MaintainJ在运行时为用例生成序列图。它提供 多种方法来过滤掉不需要的电话 。是的,过滤掉不需要的调用是序列图生成工具中最重要的功能。此外,MaintainJ提供了一个简洁的界面来探索图表并在一个用例或用例中搜索调用。
检查 演示视频 快速浏览一下。
顺便说一句,我是MaintainJ的作者。