DFD(データフロー図)は、システムや業務における「情報の流れ」を視覚的に表現する図です。特に業務プロセスの分析やシステムの要件定義の場面で、複雑なデータの流れを整理するために広く利用されています。この記事では、DFDの基礎知識から書き方、UMLやER図との違い、役立つツールまでをわかりやすく解説します。
DFD(データフロー図)の目的と役割
DFDの基本概念
DFD(Data Flow Diagram)とは、情報システムや業務の中で「どのようなデータが、どのように流れているか」を図式化したものです。プロセス指向の設計手法の一つで、主にシステム開発の初期段階や業務フローの可視化に用いられます。
DFDの目的
DFDの目的は、データの流れと処理の関係を視覚的に示すことで、関係者間の認識を統一し、業務や開発プロジェクトの手戻りを防ぐことにあります。業務分析や要件定義フェーズで活用されることが多く、特にユーザーとのコミュニケーションツールとして重宝されます。
DFDの構成要素
DFDの主な構成要素は以下の4つがあります。
- データフロー:矢印で、やりとりされている情報やデータの流れを表します
- プロセス:データを処理する機能や業務単位を表します
- データストア:処理されたデータを保存する場所を表します
- 外部エンティティ:システム外部の利用者や他システムを表します
DFDの書き方として「デマルコ式」と「ゲイン・サーソン式」があり、プロセスの書き方が異なります。プロジェクトや組織の慣例に合わせて使い分けるとよいでしょう。

DFDの書き方
DFDの書き方には一定のルールがあり、基本的に3つのステップで構成されます。
- 外部エンティティの定義
- プロセスとデータフローの設計
- データストアの配置
各ステップについて詳しく解説します。
外部エンティティの定義
DFD作成の第一歩は、データの発信源および受け手となる、外部エンティティの洗い出しです。エンティティには顧客、取引先、他システムなどが含まれます。ここで重要なのは、対象システムの「外側」に存在する要素のみを抽出することです。システム内の要素を誤って含めないように注意しましょう。エンティティを明確に定義することで、データの起点と終点が可視化され、設計作業の精度が向上します。
プロセスとデータフローの設計
次に、プロセスの定義とデータフローの設計です。プロセスはシステム内で行われる「処理」のことであり、例えば「注文受付」や「在庫確認」などが挙げられます。あわせて、その処理の中でどのようなデータが処理されるかを、矢印(データフロー)で明確に示します。処理される情報の種類や流れる方向を記載することで、誰が見ても直感的に理解できる図になります。
データストアの配置
最後に行うのが、データの保存先となるデータストアの配置です。例えば「顧客情報」「在庫データ」などが該当します。ここでは、どのプロセスがどのデータストアにデータを読み書きするかを明示します。データストアを明確にすることで、システム全体の情報保持構造が把握しやすくなり、データベース設計やセキュリティ設計にも役立ちます。
DFDとUML、ER図との違い
DFD以外にも、システムの構造やデータの流れの整理に役立つツールが存在します。ここでは代表的なUMLとER図を取り上げ、それぞれの違いを解説します。
UMLとの違い
UMLはオブジェクト指向設計で用いられる統一モデリング言語で、クラス図、シーケンス図、ユースケース図など、複数の図で構成されます。UMLは「システムの構造や動作」をモデル化することが主目的であり、主に設計フェーズ以降で活躍します。一方、DFDはデータの流れや処理を表すためのツールで、要件定義や業務分析フェーズに重きを置いています。
UMLには多くの図がありますが、以下の記事では主要8種類の図について解説しています。UMLについて詳しく知りたい方は、こちらもご覧ください。
https://products.sint.co.jp/ober/blog/uml-type
ER図との違い
ER図は、データベースの設計に特化した図で、「エンティティ(実体)」「属性」「リレーション(関係)」を用いて、データ構造を視覚化します。ER図は「何の情報が存在するか」に焦点を当てており、DFDのように「情報がどのように流れるか」までは表現しません。したがって、ER図はデータモデル設計、DFDは業務プロセスやシステムフローの分析という形で使い分けるのが一般的です。
ER図については、以下のサイトでも詳しく解説していますので、あわせてご覧ください。
https://products.sint.co.jp/ober/blog/create-er-diagram
それぞれ特徴と違いから、目的に応じて以下のように使い分けるとよいでしょう。
- 要件定義・業務分析:DFD
- システム構造設計:UML
- データベース設計:ER図
まとめ
本記事では、DFDについて解説しました。DFDは、情報システムや業務フローを視覚的に整理し、関係者間の理解を深める強力なツールです。プロセスとデータの流れを明確にすることで、設計ミスの予防や業務改善の足がかりとなります。
UMLやER図との違いを理解し、それぞれの特徴を生かして使い分けることが、効率的で精度の高い設計につながります。さらに、紹介したツールを活用すれば、誰でも手軽にDFDを作成できます。
初心者の方も、まずはシンプルな図から始めて、少しずつ詳細な図に展開していくことで、確実にスキルアップできます。情報の見える化で、システム開発や業務設計をよりスムーズに進めましょう。
- カテゴリ:
- キーワード:





