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

Cpt*_*rkt 8 layout dependencies project-management graph

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

当我坐下来创建一个示例地图时,我最终得到了这样的结果:

坏地图

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

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

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

Edm*_*und 6

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

digraph G {
    web_app -> server1
    web_app -> sql_database
    web_app -> repository
    server1 -> esx_server1
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

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