Diagram Illustration

目次

このガイドでは、定義、歴史、ユースケース、記号やヒントなど、フローチャートについて知っておくべきすべてを包括的にご紹介しています。

フローチャートとは?

フローチャートは、プロセス、システム、コンピューターアルゴリズムを示す図です。複雑化しやすいプロセスの記録、学習、計画、改善、伝達を明確かつ分かりやすい方法で実現するためのツールとしてさまざまな分野で広く活用されています。フローチャート (フロー・チャートとも表記) では、長方形、楕円形、ひし形に加え、多種多様な図形を使用して、手順を定義し、図形を接続する矢印でフローやシーケンスを表します。シンプルな手描きの図から複数の手順とルートを示すコンピューターで描画された包括的な図まで、その内容はさまざまです。そのさまざまな様式をすべて考慮に入れれば、フローチャートは地上で最も一般的に使われる図のひとつと言えるでしょう。技術関連のユーザー、そうでないユーザーの双方に、数多くの分野で活用されています。フローチャートは時に、プロセスフローチャート、プロセスマップ、機能フローチャート、ビジネスプロセスマッピング、ビジネスプロセスモデリング表記法 (BPMN) やプロセスフロー図 (PFD) など、より専門的な名称で呼ばれることもあります。データフロー図 (DFD) や統一モデリング言語 (UML) アクティビティ図といった他の人気の高い図とも関連のあるものです。

アルゴリズム フローチャート

          セールスプロセスのフローチャート

歴史

フローチャートが業務プロセスの記録に使われるようになったのは、1920年代~1930年代のことです。1921年に、生産管理技術者のフランク・ギルブレスとリリアン・ギルブレスの夫妻が、「フロープロセスチャート」をアメリカ機械学会 (ASME) で紹介しています。 1930年代初頭には、工業技術者のアーラン・H・モジェンセンが、自社の業務効率向上をテーマとした会議でのプレゼンテーションでギルブレスのツールを使用しています。  1940年代には、モージェンセンの薫陶を受けたアート・スピナンガーとベン・S・グラハムの両氏がこのメソッドをより広範に普及させています。スピナンガーは、Procter and Gamble に業務の簡略化手法を導入しています。Standard Register Industrial の取締役であったグラハムは、フロープロセス図を情報処理に採用しました。1947年に、ASME は、ギルブレス夫妻の業績から派生したフロープロセスチャートのための記号システムを採用しています。

フランク・ギルブレス/リリアン・ギルブレス夫妻        ベン スピナンガー

また、1940年代後半には、ハーマン・ゴールドスタインとジョン・フォン・ノイマンがコンピュータープログラムの開発にフローチャートを用いています。その後間もなく、フローチャートはあらゆる種類のコンピュータープログラムやアルゴリズムのための人気のツールとなりました。フローチャートは現在でもプログラミングに用いられていますが、より詳細なレベルを表し、最終製品に近づくことができるよう、また、人間が読解できるように単語とコード言語を組み合わせた擬似コードが用いられるのが一般的です。

    ジョン・フォン・ノイマン  

日本においては、製造業における品質への取り組みで知られる人物、石川馨 (1915年~1989年) が、品質管理の重要なツールの1つとして、ヒストグラム、チェックシート、現在では石川図と呼ばれることも多い原因結果図などの保管ツールとして、チャートなどの補完的なツールと共に、フローチャートを挙げています。

石川馨

フローチャート記号

ここではいくつかの一般的なフローチャート記号をご紹介します。より詳細な内容については、フローチャート記号ページにて一覧をご覧ください。

端子 端子
処理 処理
判断 意思決定
判断 文書
データ データ
記憶データ 記憶データ
フロー矢印 フロー矢印
コメントまたは注釈 コメント
定義済み処理 定義済み処理
ページ内結合子/参照 ページ内結合子
ページ外結合子/参照  ページ外結合子

コンピュータープログラミング/アルゴリズムのためのフローチャート

視覚的なデータフローの表現であるフローチャートは、プログラムやアルゴリズムを作成し、他のメンバーに説明したり、共同作業を行う上で役立ちます。フローチャートを使用すれば、自動化された処理のコーディングを開始する以前に、プログラムの背景となるロジックを表現することができるようになります。大局的な思考を整理する上で有用であり、コーディングの段階ではガイドとして道案内役を果たします。具体的には、フローチャートで以下のような内容を実現することができます。

  • コードの成り立ちや仕組みを示す。
  • プログラム内でのコード実行を可視化する。
  • ウェブサイトやアプリケーションの構造を示す。
  • ウェブサイトやプログラムでユーザーが取る行動の道筋を理解する。

プログラマーは、しばしば、人間が読解できるよう自然言語とコンピューター言語を組み合わせた擬似コードを書くことがあります。フローチャートよりも詳細な記述を行い、フローチャートの代わりとして、あるいは実際のコードへの次のステップとして役立つものです。

コンピューターソフトウェアで用いられる関連図には、以下のようなものがあります。

  • 統一モデリング言語 (UML): モデリングのためのソフトウェアエンジニアリングで使用される汎用言語です。
  • NS チャート (Nassi-Shneiderman 図): 構造化プログラミングに使用されます。1972年にニューヨーク州立大学ストーニーブルック校でこの図を開発したアイザック・ナッシとベン・シュナイダーマンの名を冠したものです。ストラクトグラムとも呼ばれます。
  • DRAKON 図: DRAKON はアルゴリズムビジュアルプログラミング言語で、フローチャートを生成するために使用されます。

データベースのフローチャート

さまざまな分野でのフローチャートの利用

フローチャートは、コンピュータープログラミングの他にも、さまざまざ分野で活用されています。

一般的な利用:

  • プロセスの文書化と分析。
  • 効率と品質向上のためのプロセスの標準化。
  • 研修や他部署における理解促進のためのプロセスの伝達。
  • プロセスに含まれるボトルネック、冗長性、不要な手順の特定と改善。

教育:

  • 学習課題や就学上の要件の計画。
  • 授業計画や口頭でのプレゼンテーションの作成。
  • グループまたは個別のプロジェクトの整理。
  • 有権者登録などの法的または行政上のプロセスの表示。
  • 歌詞や詩など、創造的な著作の計画や構成。
  • 文学や映画における登場人物の展開のデモンストレーション。
  • アルゴリズムや論理的パズルの流れの表示。
  • クレブス回路などの科学的なプロセスの理解。
  • 消化などの解剖学的プロセスの図示。
  • 疾患や障害の症状や治療の図式化。
  • マズローの欲求段階説などの仮説や理論の伝達。

セールス/マーケティング:

  • アンケートフローの策定。
  • セールスプロセスの図式化。
  • 研究戦略の計画。
  • 登録フローの表示。
  • 緊急時広報プランのようなコミュニケーションポリシーの発信。

ユーザー登録のフローチャート

ビジネス:

  • 発注と調達プロセスの理解。
  • 従業員のタスクや日々の定形業務の表示。
  • ウェブサイトや店舗内でユーザーが取る行動の道筋の理解。
  • 事業計画や製品実現計画の作成。
  • サーベンス・オクスリー法などの法規制遵守を始めとする、監査準備プロセスの文書化。
  • 販売・統合準備プロセスの文書化。

業務フローチャート

製造:

  • 製品の物理的または化学的構成の表示。
  • 製造プロセスの開始から終了までの図示。
  • 製造や調達プロセスにおける非効率性の発見と解消。

エンジニアリング:

  • プロセスフローやシステムフローの図示。
  • 化学やプラントのプロセスの設計と更新。
  • 構造物のライフサイクル評価。
  • リバースエンジニアリングの流れのグラフ化。
  • 新しい構造物、製品の設計、試作段階の表示。

フローチャートの種類

フローチャートの定義は、著者により千差万別であり、これまでさまざまな形で論じられてきました。アラン・B・スターネッカート、アンドリュー・ベロニス、マリリン・ボール、 マーク・A・フライマンなどの専門家が自身の著作でフローチャートについて記しています。

スターネッカートは、2003年の自著「クリティカル・インシデント管理 (Critical Incident Management)」で、一般に用いられるフローチャートとして4種類を挙げています。フローそのものよりもフロー管理の概念を中心とした枠組みであり、以下のようなものがあります。

  • 文書フローチャート: 「既存のシステムの構成要素を通じた文書フロー管理を目的とした」もので、「・・・左から右へと読む図であり、さまざまな事業部門にまたがる文書フローを記録する」図。
  • データフローチャート: 「システムにおけるデータフロー管理」を示すもので、「・・・管理の流れではなく、主にシステムを通じてデータが伝送されるチャネルを示すために使われる」図。
  • システムフローチャート: 「データ入力、プログラム、ストレージメディア、プロセッサ、通信ネットワークなどのシステムの主要な構成要素と交信し、これらを通過するデータフローを示す」図。
  • プログラムフローチャート: 「システム内のプログラム内部の管理を示す」図。

ベロニスは、1978年発行の著作「マイクロプロセッサ: 設計と応用 (Microprocessors: Design and Applications)」で、詳細の範囲とレベルに基づき、以下の3種類のフローチャートを論じています。

  • システムフローチャート: 使用するデバイスを特定するもの。
  • 一般的なフローチャート: 概要を示すもの。
  • 詳細なフローチャート: さらに詳細を示すもの。

ボールは、1978年の著作「プログラマーのための手引き (A Guide for Programmers)」で、以下の2種類のみを挙げています。

  • システムフローチャート
  • プログラムフローチャート

しかし、フライマンは2001年の著作 「品質およびプロセスの改善 (Quality and Process Improvement)」 の中で、コンピューター的な観点よりもビジネス的な観点で、フローチャートを複数に分類しています。

  • 意思決定フローチャート
  • ロジックフローチャート
  • システムフローチャート
  • 製品フローチャート
  • プロセスフローチャート

また、他の人物によって以下のような図がフローチャートの一種として定義されています。

  • スイムレーン図 (別名スイムレーンフローチャート): 複数のチームにまたがるプロセスでの担当範囲を示すもの。
  • ワークフローフローチャート: 一般にタスク、文書やオフィス内の情報を含むワークフローを記録するもの。
  • イベント駆動型プロセスチェーン (EPC) フローチャート: 業務プロセスの文書化や計画に用いるもの。
  • 仕様記述言語 (SDL) フローチャート: システム定義、ブロック、プロセスの3つの基本的な構成要素から構成され、コンピューターのアルゴリズムのブレインストーミングに用いるもの。

スイムレーン

また、以下の関連図もフローチャートの一種として捉えられることがあります。

  • データフロー図 (DFD): 任意のシステムやプロセスの情報の流れをマップ化するもの。
  • プロセスフロー図 (PFD)(別名プロセスフローチャート): 工場における主要な構成要素間の関係を図示するもの。
  • ビジネスプロセスモデリング表記法 (BPMN 2.0): 計画された業務プロセスの手順をモデル化するもの。

基本的なフローチャートの計画と作成方法

  1. 目的と範囲を定義します。実現したい内容はどのようなものですか? その目的を達成するために検討している内容には、妥当な始点と終点があり、対象として適切ですか? 調査段階ではあくまでも詳細な検討を行い、作図段階では図の受け手に確実に意図が伝わるよう、シンプルにすることを心がけましょう。
  2. タスクを時系列で特定します。この手順には、参加者との面談、プロセスの観察や既存の文書の確認などが含まれます。メモ形式やラフスケッチの形で手順を書き出してみることもできます。
  3. プロセス、判断、データ、入出力などのタイプ別に、対応する図形を使ってタスクを整理します。
  4. 手描きでスケッチ、または Lucidchart などのプログラムを使用して図を作成します。
  5. プロセスの参加者と一緒に手順をたどり、フローチャートを確認します。プロセスを観察し、目的の達成にとって重要な要素が抜け落ちていないことを確かめます。

フローチャートに関するその他のヒント

  • 図の受け手を念頭におき、そのニーズに合わせて詳細を作り込みましょう。フローチャートの重要な目的のひとつは、明確な情報の伝達です。
  • 作図対象のプロセスにさまざまなチームや部門が含まれる場合には、担当範囲や権限移譲が明確となるよう、スイムレーン図の使用を検討してみましょう。
  • ページ内・ページ外結合子を活用して図を「編集」することで、フローを論理的に描き出すことができます。これにより、図が複数のページに及ぶ場合でも、プロセスの流れが分断されることがありません。