フローチャート
作図プログラムならフローチャートを描画できるが、単に図として描画するとデータベースやプロジェクトマネジメントシステムや表計算ソフトとデータを共有するデータモデルを提供できない。一部のツールはフローチャート描画のための機能をサポートしている。また、何らかのソースコードあるいはフローチャート記述言語から自動的にフローチャートを生成できるソフトウェアも多数存在する。ウェブ経由でオンラインで使えるツールも存在する。
右図は、階乗の計算方法を示したフローチャートである。
最も重要で注意すべきなのは、階乗を計算するアルゴリズムの本質は、箱の中に補助的に(したがって以下の解説ではロクに触れていないが)書かれている、変数を参照している演算式や、変数の代入といったもので表現されていて、「フローチャート」の箱や矢印は、その順序付けを表現しているに過ぎない、ということである。
フローチャートは複雑なプロセスやプログラムの設計および文書化に使われる。他の図と同様、何が行われているかを視覚化するのを助け、それによって見る者がプロセスを理解するのを助け、さらには欠陥・ボトルネック・細かい特徴などを発見できることもある。フローチャートには様々な種類があり、それぞれ固有の部品(箱)や記法を持つ。最も一般的な箱は次の2種類である。
処理ステップ、活動を表す箱。単純な四角形で表される。
判断。通常菱形で表される。
ページをいくつかに分割し、異なる組織の制御を異なるスイムレーン(英語版)に描く形のフローチャートは「部門間協力」型のプロセスを表せる。特定のレーンに描かれた部品群はその組織の制御下にあるプロセスを意味する。この技法は各活動の責任分担を明確化でき、意思決定を正しく行えるようにする効能がある。全体として一つのプロセス(事業、プロジェクトなど)を実施する際の各組織の責任を明確化できる。
プログラミング言語の教育においては、処理を理解するために用いられることがある(たとえば、for (i = 0; i < 10; ++i) という字面からだけでは、「繰返しの1回目では ++i は実行されない」「2回目からの繰返しの前に ++i と i < 10 の判定がこの順に行われる」といったことがわかりづらいため、そういったことを可視化するには適している)。
JISで標準化された図法は、工業・情報処理でどうしてもフローチャートで書かなければならない場合に用いられることが多い。一方、株式公開や内部統制のフローを描く場合には、以下のような形式のフローチャートを用いることがある。
六角形で表現される。後続の「判断」で使用する値を準備する操作が書かれる。