分层/链接图

时间:2013-10-14 10:17:04

标签: java graphics visio gliffy

在我的公司内部,我们有许多分布式系统,由不同的开发团队维护。跟踪这些系统之间的依赖关系和通信变得越来越困难:

  • 由于复杂程度太高,无法绘制单个图表。
  • 像Gliffy或Visio这样的工具生成的静态图很快就会过时。

理想的是某种分层图软件,我可以点击一个"系统" (这实际上可能对应于整个开发团队)和"放大"表示该系统中组件的其他图表。此外,理想情况下,这将是一个" live"图表,其中包含即时提供拓扑信息的流程。

有没有人知道满足这些要求中的一个或两个的任何应用程序/库(最好是Java)?

2 个答案:

答案 0 :(得分:4)

我想您希望拥有一个如movie所示的系统,能够概述整个系统架构并深入了解各个组件。这似乎是一个商业解决方案,但您可以从中获得一些想法。

我假设您已经知道/使用以下工具:

  • Dependometer
  • JDepend - 在这里,您可以过滤要在图表上显示的包,并自动验证依赖关系规则
  • SonarGraph - 商业工具。允许向下钻取依赖关系图

就数据可视化而言:

为了拥有自动更新的图表,您可以在代码中添加自定义Java注释。通过这些注释,您可以标记一些重要的组件和通信接口以及一些元数据。然后你可以编写一个简单的解析器,它将为GraphViz或d3.js生成输出,你就拥有了所需的文档。

答案 1 :(得分:2)

我们使用yFiles库来可视化网络拓扑和UML图。使用它创建交互式“向下钻取”图表非常容易。复杂的系统可以被文件夹节点隐藏,可以随时打开/关闭。基于某个节点生成新的图形/图表听起来似乎也是合理的。它附带详细的文档和大量的演示代码。

但是有一个缺点。除非您是学术研究员,否则它附带商业许可证(您必须付费)。

免责声明:我不是yFiles的开发者,也不隶属于他们。