5

我很好奇人们发现哪些工具对构建流程图有用。显然 MS Visio 和 OmniGraffle 浮现在我的脑海中,但它们都感觉很臃肿,并且往往强调文档格式/打印方面,而不是帮助组织实际逻辑。还有什么其他开发人员会推荐的吗?

我希望找到一些相当简单的东西,当我处理复杂的逻辑时,它可以让我快速地将流程图拼凑在一起。我不关心格式或字体之类的东西,只是在我处理它时可以帮助我保持逻辑井井有条。甚至可以安排图表本身并简单地让我指定分支的位置和检查的内容等。

任何操作系统都可以,尽管我个人倾向于使用 OS X 应用程序,因为这是我最近的主要工作环境。

4

10 回答 10

8

看看graphviz

例子:

digraph finite_state_machine {
    rankdir=LR;
    size="8,5"
    node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
    node [shape = circle];
    LR_0 -> LR_2 [ label = "SS(B)" ];
    LR_0 -> LR_1 [ label = "SS(S)" ];
    LR_1 -> LR_3 [ label = "S($end)" ];
    LR_2 -> LR_6 [ label = "SS(b)" ];
    LR_2 -> LR_5 [ label = "SS(a)" ];
    LR_2 -> LR_4 [ label = "S(A)" ];
    LR_5 -> LR_7 [ label = "S(b)" ];
    LR_5 -> LR_5 [ label = "S(a)" ];
    LR_6 -> LR_6 [ label = "S(b)" ];
    LR_6 -> LR_5 [ label = "S(a)" ];
    LR_7 -> LR_8 [ label = "S(b)" ];
    LR_7 -> LR_5 [ label = "S(a)" ];
    LR_8 -> LR_6 [ label = "S(b)" ];
    LR_8 -> LR_5 [ label = "S(a)" ];
}

产生:

替代文字
(来源:graphviz.org

它特别适合从程序中生成。

于 2008-10-06T02:15:46.180 回答
5

纸和铅笔呢?还是白板?

有时,物理对象的轻松和触觉反馈是最合适的。

于 2008-10-05T05:50:33.750 回答
2

尽管您将其列为臃肿,但我仍然使用OmniGraffle

为了快速绘制一系列带有磁铁线的框就足够了,但其余的格式化选项可以稍后再使用。我发现我花时间绘制的任何流程图通常都会在某个文档中结束。即使我只是想理解一些困难的代码,我最终也会得到一个单页文档,它试图为下一个必须深入研究的可怜的笨蛋解释该代码。

于 2008-10-05T04:18:36.480 回答
2

我在 Linux 上使用Dia 。它非常轻巧且易于使用,但它不会自动定位元素,而且我发现界面有时会有些抑制。

dia.darwinports.com上有一个 OS X 端口,虽然我没有使用过。

于 2008-10-05T04:46:22.990 回答
1

Open Office的 Draw 也很不错。我用它来创建从简单的流程图到复杂的家谱树的所有东西。

于 2008-10-05T04:38:31.947 回答
1

对于 OmniGraffle,它的免费版本是否足够好?即经过14天的试用,它仍然是一个不错的选择吗?

我正在尝试使用yEd

于 2010-07-19T14:21:00.650 回答
0

我不会做很多复杂的流程图,但是当我绘制流程图或将数据流放在一起时,我倾向于使用 Powerpoint。这很简单,我很清楚。

于 2008-10-05T04:41:24.250 回答
0

我使用 Microsoft Visio 2003,它带有我不需要的所有额外垃圾,有点矫枉过正,但我​​喜欢它的简单 UI。

于 2008-10-06T01:46:31.280 回答
0

我一般不做流程图,但做状态图。我在白板上做一个高级流程,然后在 A3 纸上做一个较低级别的流程。

一旦一切正常,我在 Visio 中创建它,它成为发布文档的一部分。

于 2008-10-06T02:19:11.853 回答
0

我不将它用于编程相关任务,但我不明白为什么它不起作用。Mindjet Mindmanager是用于创造性思维映射的绝佳工具。(但它可能非常昂贵)

于 2011-01-23T21:24:34.083 回答