自由依赖映射工具具有自动布局调整?

时间:2012-11-12 02:46:55

标签: layout graph dependencies project-management

我正在寻找一种工具,可以让我为应用程序,服务器等绘制出依赖关系的地图。我们有很多服务器和很多数据库,无法跟踪什么取决于什么。 请注意,我不是在谈论项目中的代码或类依赖项,而是依赖于服务器,数据库等。

当我坐下来创建一个样本地图时,我最终得到了类似的东西:

bad map

现在,我在纸上或MS Paint中执行此操作时遇到的问题是布局不可调整。例如,如果我在上面的示例中选择了一个节点并移动它,我希望其他行和节点调整到我刚刚移动的那个位置。

我检查了一些“思维导图”应用程序,比如FreeMind,并发现它过于严格。例如,在该应用程序中,您不能只是自由地绘制东西并连接它,您必须指定节点及其关系(子,父,兄弟)。此外,没有能力评论任何事情。例如,在上图中,我希望能够为地图中的每个事物添加注释,但是在点击该对象之前将它们隐藏起来。通过这种方式,我可以写很多关于这段关系及其历史的文字,而不会弄乱地图。

在最基本的层面上,我想要的只是一个超级简单的应用程序,它只是让我绘制正方形,插入文本(和隐藏的注释),并用箭头连接它们,然后允许我移动周围的方块,并自动调整周围的方块和箭头。

1 个答案:

答案 0 :(得分:6)

制作此类常规图表的一个好工具是GraphViz。您将输入指定为.dot文件,其中包含类似于(对于您的示例)的说明:

digraph G {
    web_app -> server1
    web_app -> sql_database
    web_app -> repository
    server1 -> esx_server1
    ...
}

(有许多格式化指令,例如您在顶点上使用的正确标签,而不是我上面使用的短名称。)

然后运行命令行工具将图形布局为图像。有许多布局算法,因此您经常会使用反复试验来找到最适合您的图形的算法。

GraphViz可以在许多图表上做相当好的布局工作。但最重要的是基于文本的输入;可以很容易地从程序中自动生成输入,或者将其保存在版本控制等中。