Diagram

適切なデータフロー図(DFD)ソフトを使えば、システムを通じたデータのフローが理解しやすくなります。このガイドでは、定義、歴史、記号や記法など、データフロー図について知っておくべきすべてを簡単にご紹介しています。さまざまな DFD のレベル、論理 DFD と物理 DFD の違い、DFD 作成のためのヒントも提供しています。  

このページは4分で読めます

オリジナルのデータフロー図の作成をご希望ですか?Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。

または
Google MarkGoogle 登録

登録により、Lucid Software のサービス利用規約プライバシーポリシーに同意します。

データフロー図とは?

データフロー図 (DFD) は、任意のシステムやプロセスの情報の流れをマップ化する図です。長方形、円や矢印などの定義済みの記号や短いテキストのラベルを用いて、データの入出力、格納場所や各出力先間のルートなどを表します。 データフロー図には、簡潔に手描きでプロセスの概観を表すものから、詳細で複数のレベルに及び、データの取り扱いを深掘りして記述する DFD まで、さまざまなものがあり、既存のシステムの分析や新たなシステムのモデル化に利用することができます。他の優れた図やグラフでも同様ですが、DFD を使うことで、言葉で伝えにくい内容を視覚的に明確に伝えることができます。開発者から CEO に至るまで、技術畑の受け手にも、そうでない受け手にも有効な手段です。長年を経ても DFD の人気が一向に衰えない理由には、そうした背景があります。データフローソフトウェアやシステムに最適な図ですが、最近では、インタラクティブ、リアルタイム、またはデータベース指向のソフトウェアやシステムに使われることは少なくなっています。

*このテンプレートを編集する

DFD の歴史

コンピューティングの先駆者、エドワード・ヨードンとラリー・コンスタンチンの「Structured Design (構造化設計)」から生まれたデータフロー図は1970年代後半に普及しました。デイビッド・マーティンとジェラルド・エストリンによる「データフローグラフ」計算モデルに基づき作成されたものです。構造化設計の概念は、ソフトウェアエンジニアリング業界で急速に広まり、それに伴い DFD のメソッドも広く使われるようになりました。事業分析に用いられることから、学界よりも事業界で人気を集める図となりました。

データフロー図に関連するこの他の概念としては、以下の2つが挙げられます。

  • アプリケーションやシステムの分析と設計のためにヨードンとピーター・コードが考案したオブジェクト指向分析設計 (OOAD)。
  • 情報システムの分析と設計を目的としたウォーターフォールメソッドである構造化システム分析設計手法 (SSADM)。スクラムや動的システム開発手法 (DSDM) といった最新のアジャイルなアプローチと対極をなす厳格な文書化型アプローチです。

DFD 方法論の隆盛に寄与した専門家としては、この他にトム・デマルコ、クリス・ゲイン、トリッシュ・サーソンの3人が挙げられます。3人は、共同でデータフロー図に使われる主な記号や表記法を定義しました。

DFD の記号と表記

広く使われている記号システムには、作者の名前を冠した以下のようなものがあります。

  • ヨードン/コード式
  • ヨードン/デマルコ式
  • ゲイン/サーソン式

これらの記号における最も大きな相違点は、ヨードン/コード式とヨードン/デマルコ式ではプロセスに円を用いるのに対して、ゲイン/サーソン式では角丸の長方形 (ひし形と呼ばれる場合もあります) を用いる点です。この他にもさまざまな記号が使われています。したがって、他のメンバーとのコミュニケーションや共同作業においては、使用する図形や表記法に明確な一貫性をもたせることが重要です。

どの規則の DFD ルールやガイドラインを使用する場合でも、記号を使ってデータフロー図の以下の4つの構成要素を表す点は同じです。

  1. 外部実体: データを送受信し、作図対象のシステムと通信する外部のシステム。システムを出入りする情報の送信元や送信先となります。外部の組織や人、コンピューターシステムや事業システムが外部実体となりえます。端子、ソース、シンクやアクターと呼ばれる場合もあり、一般に図の端に配置されます。
  2. プロセス: データを変更し、出力を生成する任意のプロセス。計算の実行、ロジックに基づくデータのソート、ビジネスルールに基づくデータフローの方向付けなどを行う場合もあります。プロセスを記述するためには「支払送信」などの短いラベルを用います。
  3. データストア: データベース表や会員フォームなど、後の利用のためにデータを保持するファイルまたはリポジトリ。データストアにはそれぞれ「注文」などの簡単なラベルを付します。
  4. データフロー: 外部実体、プロセスやデータストアの間をデータが辿るルート。他の構成要素との間のインターフェイスを表し、一般に「請求詳細」などの短いデータ名のラベルが付いた矢印で示されます。

表記

ヨードン/コード式

ゲイン/サーソン式

外部実体
プロセス
データストア
データフロー

さらに詳しい内容は、図の記号や表記法と使い方を広範に説明するこちらのガイドを参照してください。

データフロー図のルールとヒント

  • 各プロセスには、少なくとも入力と出力1つずつが必要です。
  • 各データストアには、少なくともデータフロー入力とデータフロー出力1つずつが必要です。
  • システムに格納されたデータはプロセスを通過する必要があります。
  • DFD 内のすべてのプロセスが他のプロセスやデータストアへ向かうものとします。

Lucidchart を使えば、素早く、簡単に図を作成することができます。今すぐ無料のトライアルを開始して、作図と共同編集を始めましょう。

または
Google MarkGoogle 登録

登録により、Lucid Software のサービス利用規約プライバシーポリシーに同意します。

DFD のレベルとレイヤー : コンテキスト図から擬似コードまで

データフロー図では、レベルやレイヤーを使用して、特定の部分を出発点とし、段階的に詳細を記述していくことができます。  DFD のレベルには0、1、2など番号が振られており、時にはレベル3以降に達することもあります。作図対象のスコープにより、記述すべき詳細のレベルは異なります。

  • DFD レベル0はコンテキスト図とも呼ばれ、分析やモデル化対象となるシステムまたはプロセス全体の基本的な概要を示す図です。システムを単独の高次のプロセスとして示し、これに外部実体との関連を付したもので、一見してわかりやすいよう作成することが重要です。利害関係者、ビジネスアナリスト、データアナリストや開発者など、さまざまな受け手にとって理解しやすい図となるようにします。 
  • DFD レベル1は、コンテキストレベル図の各部分を分解してより詳細に記述するものです。コンテキスト図の高次のプロセスをサブプロセスに分解し、システムの実行する主な機能を強調します。 
  • DFD レベル2は、レベル1よりも一歩細部に踏み込んだものです。対象のシステムの機能の詳細を十分に記述するため、より多くのテキストを要する可能性があります。 
  • レベル3、レベル4以降に進めることもできますが、レベル3以降へ進むことはあまりありません。図が複雑となり、情報伝達、比較やモデル化の上での効率が低下するためです。

DFD レイヤーを使う際には、階層式のレベルを図の直下にネストすると、見た目がすっきりし、詳細を表示したい時にも簡単にアクセスできるようになります。

DFD で十分に詳細を記述できるようになると、開発者や設計者はこの図を英語とコード言語を組み合わせた擬似コードの記述に利用できるようになります。 実際のコードを開発する上でこの擬似コードが役立ちます。

DFD の使用例

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

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

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

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

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

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

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

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

論理 DFD と物理 DFD の比較

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

より詳しい内容については、このテーマをさらに掘り下げた論理 DFD と物理 DFD の比較を参照してください。

データフロー図の作成方法

Lucidchart を使えば、オリジナルの DFD をオンラインで作成することができます。Lucidchart の DFD 例や専用の表記を使えば、システム内のデータの流れを視覚的に表現することができます。Lucidchart のデータフロー図メーカーは、シンプルながらパワフルなツールです。まずはテンプレートから作図を始め、図形を利用してプロセス、データストア、データフローや外部実体をカスタマイズしましょう。


オリジナルのデータフロー図の作成をご希望ですか?Lucidchart を試してみましょう。素早く、簡単に使えて、完全に無料です。