ログイン

データフロー図 (DFD) とは?書き方・記号・サンプルを徹底解説

業務システムやプロセスの設計・改善において、データフロー図 (DFD) を活用すると、情報の流れを可視化してボトルネックを発見し、関係者間の認識をスムーズに揃えることができます。

本ガイドでは、データフロー図の基本定義から主要な記号・記法ルール、図の階層(レベル)の考え方、論理 DFD と物理 DFD の違い、そして具体的な書き方のステップまでわかりやすく解説します。

データフロー図 (DFD) とは?

データフロー図(DFD: Data Flow Diagram)とは、システムや業務プロセスにおける「情報の流れ」を視覚的に整理・体系化する図です。プロセス、データストア(格納場所)、外部エンティティ(入出力元)、データフロー(経路)といった定義済みの記号とラベルを用いて、データの入力から処理、保管、出力までの道筋を一目でわかるように表現します。

言語化が難しい複雑なデータ構造や業務の流れをシンプルに図式化できるため、エンジニアとビジネス関係者(企画・営業・経営陣など)の間で、専門知識の有無を問わず共通認識を形成するためのコミュニケーションツールとして広く活用されています。また、システムの全体像を可視化することで、設計段階における矛盾やデータフローのボトルネック、不具合の早期発見にも役立ちます。

DFD の記号と表記

DFD にはいくつかの表記法があり、採用する記法によって記号の形状に若干の違いがあります。作図前にチーム内で表記ルールを統一しておくことで、認識のズレを防ぎ、スムーズなコミュニケーションが可能になります。

どの表記法を採用する場合でも、DFD は基本的に以下の4つの基本要素で構成されます。

1. 外部エンティティ

システムの境界の外に存在し、データの発生源(入力元)や最終的な送信先(出力先)となる要素です。ユーザー(顧客や担当者)、関連部門、外部組織、連携する他社・業務システムなどがこれに該当します。文脈に応じて「ターミネータ」「ソース(情報源)」「シンク(吸収先)」とも呼ばれ、システムの境界を明確にするため、通常は図の外周(端)に配置されます。

DFD 外部エンティティ記号

2. プロセス(処理)

受け取った入力データを加工・変換・計算し、新たなデータとして出力する具体的な処理やアクションです。データの検証、ソート(並び替え)、ビジネスロジックに基づくデータの振り分けなどがこれに該当します。

DFD の作図ルールとして、プロセス名には「決済を処理する」「注文を受け付ける」「在庫を更新する」のように、動作を表す簡潔な動詞表現(「目的語+動詞」)を用いるのが基本です。

DFD プロセス記号

3. データストア

システム内で発生したデータを、後から参照・更新できるように一時的または永続的に保持・蓄積する場所です。データベースのテーブル、マスタファイル、トランザクションログ、あるいは紙の保管台帳などが該当します。

プロセス名(動詞表現)とは対照的に、データストアのラベルには「注文データ」「顧客マスタ」「在庫テーブル」のように、保管されている情報の種類を表す簡潔な名詞(名詞句)を付けるのが基本ルールです。

DFD データストア記号

4.データフロー

外部エンティティ、プロセス、データストアの間をデータが移動する経路(パイプライン)を表します。データの移動方向を示す矢印で描かれ、矢印の上には受け渡される情報の種類を示す簡潔なデータ名(名詞)をラベルとして記載します(例:「注文情報」「請求明細」「認証トークン」など)。

データフローは「データの受け渡し」を示すものであり、処理の実行順序(制御フロー)を示すものではない点に注意が必要です。

DFD データフロー記号

DFD 作成の基本ルール

DFD を正確で分かりやすい図にするためには、いくつかの重要な作図ルールがあります。各要素が論理的に正しく接続されているか、以下のポイントを確認しましょう。

  • すべてのプロセスには、少なくとも1つ以上の入力フローと出力フローが必要です(入力だけ、あるいは出力だけのプロセスは存在しません)。

  • すべてのデータストアには、少なくとも1つ以上の入力フロー(書き込み)と出力フロー(読み出し)が必要です。

  • データストア同士や、外部エンティティとデータストアが直接接続することはできません。データの受け渡しには必ずプロセスを経由する必要があります。

  • プロセスの出力は、別のプロセス、データストア、または外部エンティティへ接続されている必要があります。

フローチャートとは異なり、DFD には処理の実行順序を制御する「制御フロー」の概念がありません。条件分岐やループ処理は描かず、「どのデータがどこへ移動するか」の構造を視覚化することに特化して記述します。

DFD のレベルとは?

DFD では、システム全体の概要から個々の詳細な処理までを段階的に整理するために「階層化(レベル分け)」を行います。レベルは通常「レベル0」「レベル1」「レベル2」のように番号で管理され、システムの規模に応じてレベル3以降まで掘り下げて作図します。

最上位レベルでシステム全体のデータの出入りを一目で把握し、階層が深くなるにつれて個別のプロセスやデータストアをより細かく可視化していくのが基本的な進め方です。

DFD レベル 0

DFD レベル0はコンテキスト図, 新しいタブで開きますとも呼ばれ、分析やモデル化対象となるシステムまたはプロセス全体の基本的な概要を示す図です。システムを単独の高次のプロセスとして示し、これに外部実体との関連を付したもので、一見してわかりやすいよう作成することが重要です。利害関係者、ビジネスアナリスト、データアナリストや開発者など、さまざまな受け手にとって理解しやすい図となるようにします。

このレベル 0 の DFD テンプレート、またはコンテキスト図は、プロセスまたはシステムの可能な限り高いレベルのビューを表しています。
このレベル 0 の DFD テンプレート、またはコンテキスト図は、プロセスまたはシステムの可能な限り高いレベルのビューを表しています。
レベル 0 DFD テンプレート(クリックで編集)

DFD レベル 1

DFD レベル1では、システム全体の単一プロセスを主要な機能(サブプロセス)へと分解します。各機能の間でデータがどのようにやり取りされ、外部エンティティとどのように接続するかを可視化します。

このレベル1の DFD テンプレートでコンテキスト図よりも一歩踏み込んでみましょう。
このレベル1の DFD テンプレートでコンテキスト図よりも一歩踏み込んでみましょう。
DFD レベル 1 テンプレート (クリックして編集)

DFD レベル 2

DFD レベル2では、レベル1で定義した特定の機能をさらに一歩掘り下げ、その内部で実行される詳細なサブプロセス群を可視化します。

システムの規模によってはレベル3やレベル4まで分解することも可能ですが、図が複雑になりすぎるため一般的ではありません。十分に詳細化されたレベル2の DFD は、開発者が具体的な実装ロジックや疑似コードを組み立てる際の設計ガイドとしても役立ちます。

この DFD レベル2のテンプレートを使って、プロセスやシステムをより深く理解してください。
この DFD レベル2のテンプレートを使って、プロセスやシステムをより深く理解してください。
DFD レベル 2 テンプレート(編集するにはクリックしてください)

データフロー図 (DFD) の書き方 6つのステップ

DFD を効率的に作成するには、テンプレートを活用し、4つの基本要素を論理的な順序で配置・接続していくのが基本です。オンラインツールを利用すれば短時間で基本構成を可視化でき、設計の進捗に合わせて段階的に詳細化できます。

  1. 作図のスコープとレベルを決める

    対象とするシステムの境界を明確にし、まずはシステム全体を1つの大きな処理として捉える「レベル0(コンテキスト図)」から描き始めます。

  2. 外部エンティティを配置する

    データの発生源(入力元)や最終的な宛先(出力先)となるユーザー、関連部署、外部連携システムを図の外枠に配置します。

  3. プロセス(処理)を追加する

    外部から受け取ったデータを変換・加工・出力する中心的な処理を追加します(名前は「決済を処理する」などの動詞表現にします)。

  4. データストアを追加する

    プロセスによって参照・保存されるデータベースやマスタファイルなどの保管場所を追加します(名前は「顧客データ」などの名詞表現にします)。

  5. ラベル付きのデータフローで要素間を接続する

    要素間のデータの移動を矢印で結び、矢印の上には移動する具体的なデータ名(「注文情報」「請求明細」など)を記載します。

  6. 必要に応じてレベル1やレベル2へと詳細化する

    全体のデータの流れが整理できたら、主要なプロセスをさらに細かなサブプロセスへと分解し、より詳細な階層図を作成します。

Lucidchart で DFD を作成する手順

クラウド型作図ツールの Lucidchart, 新しいタブで開きます を使えば、専用の DFD 記号ライブラリや豊富なテンプレートを活用して、直感的なドラッグ&ドロップ操作で短時間で作図できます。

  1. テンプレートの選択

    使用するツールを開き、データフロー図のテンプレートを選択します。ツールによっては、「新規作成」や「テンプレート選択」のオプションが用意されています。

    DFD 書き方
  2. ファイル名の設定

    新しい図のタイトルを設定します。ツールのメニューから「ファイル名変更」または「タイトル編集」のオプションを探し、お好きな名前を入力して保存します。

    DFD 書き方ステップ
  3. 外部エンティティの追加

    外部エンティティを示すためのシンボルをツール内で見つけ、図に追加します。シンボルをクリックし、ドラッグしてワークスペースに配置し、必要な名称を入力します。シンボルの回転や削除もツール内のオプションで行います。

    DFD 書き方 ステップ3
  4. プロセスの追加

    プロセスを示すシンボルを選び、ワークスペースにドラッグします。プロセスに適切な名称を付け、図の中で位置を調整します。

    DFD 書き方 ステップ4
  5. データストアの追加

    データストアを示すシンボルを選び、図に追加します。データストアに名前を付け、位置を調整します。

    DFD 書き方 ステップ5
  6. アイテムの追加と配置

    必要な外部エンティティ、プロセス、データストアのシンボルを全て図に追加し、配置を調整します。シンボルのサイズ変更や移動もツールの機能を使って行います。

    DFD 書き方 ステップ6
  7. データフローの追加

    データフローを示すための矢印や線を使い、外部エンティティ、プロセス、データストアを接続します。シンボル間をドラッグしてフローを作成します。

    DFD 書き方 ステップ7
  8. ファイル名の変更

    図のファイル名やタイトルを変更する場合、ツールの「ファイル名変更」オプションを利用します。

    DFD 書き方 ステップ8
  9. カスタマイズ

    図のデザインをカスタマイズします。シンボルの色やフォントの変更、矢印のスタイル調整などが可能です。ツールの「デザイン」や「フォーマット」メニューを使って調整します。

    DFD 書き方 ステップ9
  10. タイトルの追加とシェア

    完成した図にタイトルを追加し、図表内で適切な位置に配置します。完成図をチームメンバーや関係者と共有するためには、「共有」ボタンを使用し、メールやリンクで送信します。共同編集機能があれば、リアルタイムで編集やコメントが可能です。

    DFD 書き方 ステップ10


    DFD 共有

DFD の使用例

データフロー図は、さまざまな分野における多様な種類のシステムの分析やモデル化に役立ちます。

  • ソフトウェアエンジニアリングにおける DFD:
    1970年代にデータフロー図応用の出発点となった分野です。DFD を利用することで、コーディング開始前に事前の調査を十分に行い、技術開発に重点を置いたアプローチを取ることができます。

  • 事業分析における DFD:
    ビジネスアナリストは、既存のシステム分析と非効率性の発見に DFD を用いています。プロセスを図式化することで、他の方法では見逃したり、理解しきれていなかったであろうステップを見いだすことができます。

  • 業務プロセス改革 (BPR) におけるDFD:
    業務プロセス改革は、1990年代に組織による運営コストの低減、顧客サービスの改善、および市場競争力の向上を支援する手段として開発されました。DFD は、ビジネスプロセスを通じてデータのより良い、より効率的なフローをモデル化するために使用できます。

  • アジャイル開発における DFD:
    事業面や技術面での要件を視覚化して理解し、次のステップを計画する上で DFD を使用できます。迅速な開発に注力するためのコミュニケーションとコラボレーションを実現するシンプルながらも強力なツールとなります。

  • システム構造における DFD:
    段階的にシステムやプロセスの詳細を分析し、技術面、非技術面での改善につなげることができます。

DFD と統一モデリング言語 (UML) の比較

システム内のデータの流れを表す DFD に対し、UML は、オブジェクト指向ソフトウェア設計におけるより詳細なビューを示すために用いられるモデリング言語です。DFD は依然として良い出発点となりますが、開発者は実際にシステムを開発する際、必要な詳細度を達成するためにクラス図、構造図、またはその他の UML 図を利用することがあります。

論理 DFD と物理 DFD の比較

データフロー図には2つの種類 (論理と物理) があります。論理 DFD は、事業運営に不可欠なデータフローを視覚化します。システムの動作方法や期待される動作方法ではなく、対象の事業と必要な情報に重点を置きます。これに対し、物理 DFD は、現時点、または将来の時点でのシステムの実装方法を示します。例えば、論理 DFD におけるプロセスは事業活動となり、他方で物理 DFD におけるプロセスはプログラムや手動の手順となるという違いがあります。

 

このテンプレートは論理データフロー図の例を示しています。
このテンプレートは論理データフロー図の例を示しています。
論理 DFD テンプレート (クリックして編集)
このテンプレートは、物理データフロー図の例を示しています。
このテンプレートは、物理データフロー図の例を示しています。
物理 DFD テンプレート(クリックして編集)

図の作成に必要なすべて

Lucidchart を使えば、洗練された美しい図を無料で作成できます。どんな図にも対応できる機能を完備したツールで、今すぐアカウントを作成して図の作成を始められます。

無料ではじめる

データフロー図のテンプレートと例

ギャラリーのテンプレートを使ってデータフロー図の作業を開始できます。

データフロー図(DFD) : レベル1

料金:

有料アカウント

データフロー図(DFD) : レベル1, 料金: 有料アカウント

データフロー図(DFD) : レベル2

料金:

有料アカウント

データフロー図(DFD) : レベル2, 料金: 有料アカウント

データフロー図(DFD) : レベル0

料金:

有料アカウント

データフロー図(DFD) : レベル0, 料金: 有料アカウント

データフロー図関連リソース

データフロー図 (DFD) ソフトウェア

直観的な DFD 作成ツールを使用して、オンラインで数分で DFD の作業を開始できます。

データフロー図に関するよくある質問

図の作成に必要なすべて

オンライン作図ツールに加え、 Lucidchart はサポートやトレーニングリソースも提供しており、あらゆる図に挑戦できるよう支援しています。

ヘルプセンターをアクセス