23

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

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

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

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

请证明我错了。谢谢

4

4 回答 4

16

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

于 2011-09-02T13:52:33.913 回答
3

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

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

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

可以通过我的网站与我联系。

于 2010-12-24T08:57:26.157 回答
1

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

  • 从可运行元素的上下文菜单中选择Profile As(例如,方法、测试、测试用例..)
  • 选择配置文件配置
  • 选择配置文件设置选项卡
  • 选择执行时间分析作为数据收集器
  • Profiling and Logging视图中,从分析数据(戴眼镜的时钟)的上下文菜单中选择Open with并选择UML2 Class Interactions


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

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

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

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

    但似乎即使是像 Enterprise Architect 这样拥有往返代码工程的昂贵工具也只提供跟踪(并且公认的图形更好)。对真正的序列图进行逆向工程似乎非常重要。

  • 于 2010-12-22T15:26:36.640 回答
    1

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

    于 2011-05-10T23:53:37.257 回答