你用什么工具来创建流程图?

5
我很好奇人们用来绘制流程图的有哪些有用的工具。显然,MS Visio和OmniGraffle是首选,但它们都感觉臃肿,并且更注重文档格式化/打印方面,而不是帮助组织实际逻辑。是否还有其他开发者推荐的工具?
我希望能找到一个相当简单的东西,让我能够在处理复杂逻辑时随时绘制流程图。我不关心格式或字体等,只需要一些可以帮助我在工作中保持逻辑有序的东西。即使是可以自动排列图表并允许我指定分支和检查位置的工具也可以。
任何操作系统都可以,尽管我个人更倾向于使用OS X应用程序,因为这是我最近的主要工作环境。
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)" ];
}

生成结果如下:

alt text
(来源:graphviz.org

它特别适用于从程序中生成。


5

纸和铅笔怎么样?还是白板?

有时候,物理对象的易用性和触感反馈是最合适的。


1
无可厚非。这是我目前使用的;-)与应用程序一起工作确实有一些优势。 - Wilco

2
尽管你将它列为臃肿,但我仍然使用OmniGraffle
对于快速绘制流程图,一系列带有磁铁的框和线条就足够了,但是其他格式选项在以后也很有用。我发现,我花时间绘制的任何流程图最终都会出现在某个文档中。即使我只是试图理解一些困难的代码,我最终也会得到一个一页的文档,试图为下一个可怜的家伙解释那段代码。

我必须承认,我是OmniGraffle的忠实粉丝。不过,我很想找到一些可以取代我在记事本上随意涂鸦的工具(一个无需担心排列/调整大小等问题的工具)。 - Wilco

2
我在Linux上使用Dia。它非常轻量级且易于使用,但它不会自动定位元素,有时界面也有点限制性。

有一个适用于OS X的版本在dia.darwinports.com,但我没有使用过。


1

对于OmniGraffle来说,它的免费版本足够好吗?也就是说,在14天试用期之后,它仍然是一个不错的选择吗?

我正在尝试使用yEd


1

Open Office的绘图功能也非常不错。我用它创建过从简单的流程图到复杂的家谱树等各种图表。


0

我没有用它来进行编程任务,但我不知道为什么它不能工作。Mindjet Mindmanager是一个非常适合创造性思维导图的工具。(然而它可能相当昂贵)


0

我不经常做复杂的流程图,但当我需要绘制流程图或组织数据流时,我倾向于使用Powerpoint。它足够简单,而且我对它很熟悉。


0

我使用 Microsoft Visio 2003,它带有一些我不需要的额外功能,略显多余,但我喜欢它简单的用户界面。


0

通常我不会做流程图,但会做状态图。 我在白板上进行高层次的流程设计, 然后在A3纸上进行更详细的设计。

一旦所有内容都正确运行,我就会在Visio中创建它, 并将其作为发布文档的一部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接