我一直在寻找支持反转和绘制序列图的 UML 往返工程工具。重点是序列图,因为大多数工具可以帮助处理类图,而不是序列图。
在免费或便宜的工具中:我尝试过 Papyrus、Modisco、Modelio、ObjectAid - 前 3 个对于一些基本的反转来说有点过于复杂,往往会问太多问题来定位源代码和库,而且都有点笨拙,而且他们没有对序列图有很大帮助。即使在最近的日食 (Luna) 中,ObjectAid 也能很好地工作。序列图具有廉价许可证。可悲的是 - 他们都不理解 Spring 注释(例如 @autowire)。
在 EA、Sparx、Magic Draw、UML Lab (Yatta) 等大型且昂贵的工具中——我不喜欢它们,我发现它们对于它们提供的东西来说太贵了。此外,复杂的反向代码(无休止的搜索源路径问题)。Magic 和 Modelio 无法反转和自动生成序列图。
这些昂贵工具的替代品是 Altova UModel,它作为独立工具或 eclipse 插件工作(我独立于 eclipse 使用它,安装速度更快,提供带代码功能的同步图)。它是唯一可以打开 eclipse 项目扩展的工具(不询问类路径,但是找不到 maven 库)并且不支持 Spring 注释。Java 7 不受官方支持,但它可以工作(一些罕见的泛型有小例外)。如果他们添加:完整的 java 7 支持、spring 支持、打开整个 eclipse 工作区并支持 pom/maven 库,那将是最好的往返工程工具。
我最终使用了 ObjectAid,它免费/便宜,而且做得很好(除了 spring autowire),缺少通信图,这在 Altova 中是件好事。
HTH某人...
PS:我有时使用MyEclipse Pro,年费不错,它可以从上面做一些事情,您需要查看试用版以及UML是否适合商业文档(太多的盒子/包使图表混乱)。