システム開発の参考書を読んでいると「DFD」という3文字が突然出てきて、「フローチャートと何が違うの?」と戸惑った経験はありませんか。本記事ではDFDの正体を、図解と過去問ベースでスッキリ整理します。
対象試験と出題頻度
DFD(データフロー図)は、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題されるテーマです。
構造化分析の代表的手法として定番化しており、UMLのユースケース図やE-R図との違いを正確に区別できるかが問われます。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「DFDってフローチャートのこと?データベースの図?」と混乱しがちです。まずは一言で押さえましょう。
DFD(Data Flow Diagram/データフロー図)とは、一言で言うと
「データの流れに着目して、業務やシステムを可視化する図」
のことです。
イメージとしては、「宅配便の荷物追跡画面」です。
追跡画面では「差出人 → 集荷センター → 配送拠点 → 受取人」のように、荷物(=データ)がどこを経由してどこへ届くかが一目でわかります。
中でどんなトラックが走っているかや、いつ出発したかは描かれていません。
DFDも同じで、「データがどこから来て、どんな処理を経て、どこに届くか」だけをシンプルに表す図です。処理の順番や条件分岐は描きません。
📊 DFDの基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Data Flow Diagram |
| 分類 | 構造化分析の図法(UMLには含まれない) |
| 主な利用工程 | 業務分析・要件定義 |
| 構成要素 | プロセス、データフロー、データストア、外部実体 |
解説
1970年代後半、ヨードン氏やデマルコ氏らによって体系化されたのがDFDです。
当時の業務システム開発では「処理手順をどう書くか(=フローチャート)」が中心でしたが、複雑化する業務を捉えるには「処理の順番」よりも「どんなデータが扱われ、どこへ流れるか」を先に整理したほうが本質を掴みやすい、という発想から生まれました。
4つの構成要素
DFDで使う記号はたった4種類です。これさえ覚えれば、図を読むことも描くこともできます。
| 要素 | 記号 | 役割 |
|---|---|---|
| プロセス (処理) |
○(円) | データを変換・加工する処理。「受注を登録する」のように動詞で記述する |
| データフロー | →(矢印) | データの流れ。線の上にデータ名(例:注文情報)を書く |
| データストア | =(二重線) | データの蓄積場所。ファイルやデータベースを表す |
| 外部実体 (源泉/吸収) |
□(四角) | システムの外側でデータをやり取りする相手。顧客や他システムなど |
図解:受注業務のDFD
受注業務を題材に、簡易的なDFDを示します。「顧客(外部実体)」が注文を出し、「受注処理(プロセス)」を経て「受注ファイル(データストア)」に蓄積される流れです。
外部実体(□)
注文情報
———▶受注処理
プロセス(○)
受注データ
———▶データストア(=)
▲ 顧客から届いた注文情報を、受注処理が変換し、受注ファイルへ蓄積する流れ
階層化(コンテキスト図と詳細化)
DFDの大きな特徴は階層的に詳細化できることです。
最上位は「コンテキスト図(レベル0)」と呼ばれ、システム全体を1つのプロセスとして描き、外部実体との関係だけを示します。
そこからレベル1、レベル2へとプロセスを分解していき、内部処理を段階的に詳細化します。
階層化のイメージ
他のモデリング図との比較
DFDを正しく位置づけるには、似た目的で使われる図と「何に着目するか」で整理するのが近道です。
| 図の名称 | 着目点 | 見分けキーワード |
|---|---|---|
| DFD | データの流れと処理 | プロセス、データストア、外部実体 |
| フローチャート | 処理手順と制御の流れ | 分岐、ループ、開始・終了 |
| E-R図 | データ構造(実体と関連) | エンティティ、リレーション、カーディナリティ |
| ユースケース図 | 利用者視点の機能 | アクタ、相互作用、要求機能 |
| 状態遷移図 | オブジェクトの状態変化 | 状態、イベント、トリガ |
⚠️ よくある誤解:DFDの矢印は「処理の順番」ではなく「データの動き」を表します。フローチャートと混同して「次にこの処理へ進む」と読んでしまうと意味を取り違えるので注意してください。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 DFDの核心を3行で
・データの流れに着目して業務・システムを可視化する構造化分析の図
・記号は「プロセス(○)」「データフロー(→)」「データストア(=)」「外部実体(□)」の4つ
・処理の順番ではなく「どこからどこへデータが動くか」を表す
試験ではこう出る!
DFDはIP・FE・APの午前で頻出のテーマです。出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H30秋 午前 問46 |
DFDの説明として正しいものを選ぶ問題。 | ・「データの流れに着目して図示」が正解 ・E-R図、状態遷移図、フローチャートがひっかけ |
| AP H29春 午前 問46 |
DFDで使われる記号の意味を問う問題。 | ・○=プロセス、==データストア ・□=外部実体(源泉/吸収)の区別 |
| IP R4 問37 |
業務分析でデータの流れを表す図を選ぶ問題。 | ・正解は「DFD」 ・E-R図、UML、フローチャートが選択肢に |
| AP H25春 午前 問46 |
DFDのデータストアが意味するものを問う問題。 | ・正解は「データの蓄積場所(ファイル等)」 ・処理、データの流れ、外部との接点はひっかけ |
📝 IPA試験での出題パターン
パターン1:「DFDの説明を選べ」
4つの図の説明文が並び、DFDに該当するものを選ぶ形式。ひっかけは「データ構造を表す」(E-R図)、「状態の遷移を表す」(状態遷移図)、「処理の手順を表す」(フローチャート)。キーワードは「データの流れ」です。
パターン2:「記号の意味を選べ」
○・→・=・□のいずれかを示し、何を表すかを問う形式。「データストア」と「外部実体」を逆に書いた選択肢が頻出のひっかけです。
パターン3:「DFD図中の空欄に入る要素を選べ」
具体的な業務のDFDを示し、空欄のプロセス名やデータストア名を答える形式。AP午前で時々出題されます。
試験ではここまででOKです。階層化のレベル番号の付け方や、ヨードン式とデマルコ式の違いまで深追いする必要はありません。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. DFD(データフロー図)の説明として、最も適切なものはどれでしょうか?
- A. データを管理対象として捉え、実体(エンティティ)と実体間の関連(リレーション)によってデータ構造を表現する図である。
- B. 処理の手順を、開始・終了・分岐・ループといった制御の流れに沿って表現する図である。
- C. 業務やシステム内のデータの流れに着目し、プロセス・データフロー・データストア・外部実体の4つの記号で表現する図である。
正解と解説を見る
正解:C
解説:
DFDは「データの流れ」を主役に据えた構造化分析の図であり、4つの記号(プロセス・データフロー・データストア・外部実体)で業務やシステムを可視化します。
選択肢AはE-R図(実体関連図)の説明です。E-R図はデータベース設計でデータ構造そのものを表現する図であり、データの動きには着目しません。選択肢Bはフローチャートの説明です。フローチャートは処理手順や制御構造を表すもので、扱うデータの流れには注目しません。DFDの矢印は「処理の順番」ではなく「データの移動」を意味する点が、フローチャートとの決定的な違いです。
よくある質問(FAQ)
Q. DFDとUMLは別物ですか?
別物です。DFDは1970年代の構造化分析(ヨードン氏・デマルコ氏ら)で確立された手法で、UML(Unified Modeling Language)には含まれません。UMLはオブジェクト指向開発のために1990年代に統一された記法で、ユースケース図やクラス図など13種類の図が定義されています。試験で「UMLの図はどれか」という設問が出たとき、DFDを選ぶと不正解になるので押さえておいてください。
Q. DFDで「源泉」と「吸収」と書かれることがあるのはなぜですか?
外部実体の役割を細かく区別する用語です。データを発生させる側(顧客が注文を出す等)を「源泉」、データを受け取る側(顧客に納品書を渡す等)を「吸収」と呼びます。実際の図ではどちらも□で描かれ、矢印の向きで源泉か吸収かが決まります。試験では「源泉・吸収」と「外部実体」が同じ意味で出てくるため、用語のゆらぎとして覚えておけば十分です。
Q. DFDを描くときのコツはありますか?
実務で描く際は「最上位(コンテキスト図)から順に詳細化する」「1つの図に7±2個程度のプロセスに収める」「データフローには必ずデータ名を書く」「プロセス名は動詞+目的語にする」の4点を守ると読みやすい図になります。また、データフローの始点と終点が両方プロセスでないと意味のある流れにならないため、「外部実体→外部実体」の直接の矢印は禁止です。
Q. 現代の開発現場でもDFDは使われていますか?
使われています。特に業務システムの上流工程や、既存業務の可視化(業務改善・BPR)の場面では、非エンジニアにも直感的に伝わるDFDが選ばれます。近年はBPMN(Business Process Model and Notation)が業務プロセス記述の主流になりつつありますが、DFDの「データの流れに焦点を当てる」考え方はデータマネジメントやETL設計などにも応用されており、基礎教養として理解する価値があります。