データフロー図(DFD)は、システム分析に不可欠なツールであり、情報システム内をデータがどのように移動するかを明確で視覚的に理解する方法を提供します。実際の例を学習することで、核心的な概念をすばやく理解し、自らのプロジェクトに適用できます。このガイドでは、Visual Paradigmのリポジトリから選んだ例を用いて、DFDの主要な概念を解説し、各図の記号、ルール、そしてその背後にある思考プロセスを説明します。
基本構成要素の理解
例を学ぶ前に、いかなるDFDにも共通する4つの基本構成要素を理解することが不可欠です:
| 構成要素 | 説明 | 一般的な記法(Yourdon & Coad) | 一般的な記法(Gane & Sarson) |
|---|---|---|---|
| 外部要因 | モデル化対象のシステムの外部にある人物、組織、またはシステムで、データを送信または受信するもの。例:顧客、仕入先、銀行。しばしば「ソース」または「シンク」と呼ばれる。 | 長方形 | 長方形 |
| プロセス | 入力データを出力データに変換する活動または機能。少なくとも1つの入力と1つの出力を持つ必要がある。例:「支払いの確認」、「注文の出荷」。 | 円 | 角丸長方形 |
| データストア | データを後で使用するために保持する場所。データベース、ファイル、あるいはファイルボックスなども含まれる。 | 二本の平行線 | 開口部のある長方形 |
| データフロー | データがシステムの一部から別の部分へ移動するための経路。矢印で表され、移動の方向を示す。 | 矢印 | 矢印 |
注記:DFDには主に2つの記法があり、Yourdon & Coad記法とGane & Sarson記法である。記号はわずかに異なるが、本質的な概念は同一である。どちらか一方を選択し、一貫性を保つことが重要である。
例の力
Visual Paradigmの記事に掲載されている例は、学習に非常に適している。なぜなら、DFDを異なる詳細レベルで示しているからである。システムは複雑さを管理するために通常、レベルに分けて構成される。これを「レベル化 .
-
コンテキスト図(レベル0): これは最高レベルの視点です。システム全体を単一のプロセスとして示し、すべての外部エンティティとの相互作用を表します。シンプルで全体像を把握できる概要を提供します。 データストアはこのレベルでは表示されません それはシステムの内部にあるためです。
-
レベル1 DFD: この図は、コンテキスト図の単一プロセスを主要なサブプロセスに「分解」します。システムの主要な機能、それらの間でのデータの流れ、そして初めてデータストアを導入します。レベル1 DFDはコンテキスト図と「バランス」を取らなければならず、システムに入出するデータフローが同じであることを意味します。
-
レベル2 DFD(およびそれ以上): これらの図は、レベル1図のプロセスの一つをさらに分解することで、詳細を追加します。このプロセスは、望ましい詳細レベルに達するまで繰り返されます。
ガイド付き例:注文システム
記事で参照されている「食品注文システム」の例を分析することで、これらの概念が実際にどのように機能するかを確認しましょう。
1. コンテキスト図(レベル0):
-
外部エンティティ: おそらく 顧客 と キッチン。顧客は注文を提供し、食品を受け取ります。キッチンは注文を受け取り、その状態を確認します。
-
単一プロセス: すべての食品注文システムが一つのプロセス(例:「食品注文システム」)として表現されます。
-
データフロー: 「注文」(顧客 → システム)、「食品」(システム → 顧客)、「注文リクエスト」(システム → キッチン)、「注文状態」(キッチン → システム)。この図は、システムの範囲を1万フィート上からの視点で把握できるようにします。
2. レベル1 DFD:
-
この図は、単一プロセスをその主要な機能に分解します。例に基づくと、以下の機能が含まれるでしょう:

-
1.0 注文処理: 顧客の注文を受け取り、検証して転送します。
-
2.0 食品の調理: 注文リクエストを受け取り、食品の調理を調整します。
-
3.0 支払いの管理: 支払いプロセスを処理します。
-
-
データストア: このようなデータストアがあります D1 注文 ここに表示されることがあります。 「注文詳細」のようなデータフローは、プロセス1.0から注文データストアへ移動し、「提供可能注文」はプロセス2.0からプロセス1.0に戻って顧客に通知します。
コンテキスト図とレベル1図を比較することで、単一の高レベル機能が、連携するサブプロセスのセットに分解される様子がわかります。
その他の例を検討する
この記事では、さまざまなシステムや表記法を示すDFDの例を多数紹介しています:
-
証券取引プラットフォーム: この例は、複数の外部エンティティ(例:トレーダー、証券取引所)とデータストア(例:口座データベース、株式ポートフォリオ)を持つ複雑なシステムを理解するのに非常に適しています。

-
スーパー・アプリ: この例は、DFDが在庫管理や支払い処理などのバックエンドサービスとやり取りする現代のモバイルアプリをモデル化するのにどう使われるかを示しています。

重要なルールのまとめ
DFDを作成および解釈する際には、以下の基本的なルールを頭に置いてください:
-
データは直接流れません:
-
2つの外部エンティティの間では。
-
2つのデータストアの間では。
-
外部エンティティとデータストアの間では。
データは常にプロセスを通過しなければなりません .
-
-
すべてのプロセスには、少なくとも1つの入力データフローと1つの出力データフローが必要です .
-
命名規則:
-
プロセス: 強い能動的な動詞で名前を付ける(例:「支払い処理」、「注文出荷」)。
-
外部エンティティ、データストア、データフロー: 名詞で名前を付ける(例:「顧客」、「在庫データベース」、「注文詳細」)。
-
-
図のバランスを取る: 高レベルの図におけるプロセスの入出力データフローは、低レベルの図におけるその分解されたサブプロセスの入出力の合計と一致しなければなりません。これにより一貫性と完全性が保証されます。
これらの基本的な概念を理解し、Visual Paradigmの記事で提供されている例を学ぶことで、自らのシステム分析プロジェクト用に明確で効果的なデータフローダイアグラムを作成する準備が整います。
参考文献
-
AIデータフローダイアグラムジェネレーター:Visual Paradigmによる簡単なデータフロー設計: テキスト記述からDFDを生成するためのAI搭載ツールであるVisual Paradigmの概要。
-
AI Gane and Sarson DFD Generator:簡単なデータフロー設計: Visual Paradigmのプラットフォーム全体で、AIを活用してGane and Sarson表記のDFDを作成する方法の詳細。
-
AI Yourdon DeMarco図生成ツール:よりスマートなデータフロー設計: Yourdon DeMarcoスタイルのデータフロー図を作成するためのAIジェネレータの紹介。
-
Visual Paradigmでデータフロー図を作成するためのステップバイステップガイド: Visual Paradigm Onlineを活用したDFD作成の基本ステップをカバーするチュートリアル。
-
Visual Paradigmでデータフロー図をマスターする:ステップバイステップガイド: オンラインショッピングシステムなど実践的な例を用いて、DFD作成を教えるガイド。
-
Visual Paradigm Onlineで学ぶデータフロー図(DFD)入門ガイド: DFDの構成要素とテンプレートを活用した作成プロセスを説明する入門ガイド。
-
事例研究:DFDを活用した飲食注文システムの最適化: 実際の事例として、レストランの注文システムを分析・最適化するためにDFDを活用する方法を示す。
-
論理的DFDと物理的DFDの違いを理解する:いつ、なぜそれらが必要なのか: 論理的データフロー図と物理的データフロー図の違いと、適切な使用状況について説明する記事。
-
データフロー図のバランスをマスターする:包括的なガイド: 異なる図レベル間での一貫性を確保するために、DFDのバランスを取る技術についてのガイド。
-
データフロー図(DFD)のレベルと階層化基準を理解する: 異なるDFDレベル(コンテキスト、レベル0、レベル1など)とシステム分解の基準についての概要。
-
トップレベルDFD:コンテキスト図の力: システムの境界と外部との相互作用を表す最高レベルのDFDであるコンテキスト図に焦点を当てる記事。
-
Visual ParadigmのオンラインツールでGane-Sarson図の力を解き放つ: Gane-Sarson表記を用いてDFDを作成するためのVisual Paradigmの活用方法の概要。
-
Yourdon DeMarco DFDの解明:Visual Paradigmで図の作成をスムーズ化する: Visual Paradigmのツールを活用して、Yourdon-DeMarcoスタイルのDFDを作成するためのガイド。
-
Visual Paradigm Onlineで学ぶSSADM DFD図の入門ガイド: Visual Paradigm Onlineとそのテンプレートを活用してSSADMスタイルのDFDを作成するチュートリアル。
-
DFDとERDの整合性を確保する:包括的なガイド: データフロー図とエンティティ関係図の整合性を維持するための記事。












