DFD の歴史
コンピューティングの先駆者、エドワード・ヨードンとラリー・コンスタンチンの「Structured Design (構造化設計)」から生まれたデータフロー図は1970年代後半に普及しました。デイビッド・マーティンとジェラルド・エストリンによる「データフローグラフ」計算モデルに基づき作成されたものです。構造化設計の概念と DFD 手法はいずれも、ソフトウェア工学およびビジネスの分野で広く採用されています。
DFD 方法論の隆盛に寄与した専門家としては、この他にトム・デマルコ、クリス・ゲイン、トリッシュ・サーソンの3人が挙げられます。3人は、共同でデータフロー図に使われる主な記号や表記法を定義しました。
DFD の記号と表記
始める前に、さまざまなデータフロー図の記号について理解しておくと良いでしょう。システムによって記号に若干の違いがあるため、他者とコミュニケーションや共同作業を行う際には、使用する図形や表記法を明確かつ一貫性のあるものにすることが重要です。
どの規則の DFD ルールやガイドラインを使用する場合でも、記号を使ってデータフロー図の以下の4つの構成要素を表す点は同じです。
1. 外部実体
外部実体とは、データを送受信し、作図対象のシステムと通信する外部のシステムです。システムを出入りする情報の送信元や送信先となります。外部の組織や人、コンピューターシステムや事業システムが外部実体となりえます。端子、ソース、シンクやアクターと呼ばれる場合もあり、一般に図の端に配置されます。
2. プロセス (Process)
プロセスはデータを変更し、出力を生成します。計算の実行、ロジックに基づくデータのソート、ビジネスルールに基づくデータフローの方向付けなどを行う場合もあります。プロセスを記述するためには「支払送信」などの短いラベルを用います。
3. データストア
データストアとは、データベース表や会員フォームなど、後の利用のためにデータを保持するファイルまたはリポジトリです。データストアにはそれぞれ「注文」などの簡単なラベルを付します。
4.データフロー
データフローは、外部実体、プロセスやデータストアの間をデータが辿るルートです。他の構成要素との間のインターフェイスを表し、一般に「請求詳細」などの短いデータ名のラベルが付いた矢印で示されます。
DFD のルールとヒント
すべてのデータフロー図には、留意すべきいくつかの規則があります。
-
各プロセスには、少なくとも入力と出力1つずつが必要です。
-
各データストアには、少なくともデータフロー入力とデータフロー出力1つずつが必要です。
-
システムに格納されたデータはプロセスを通過する必要があります。
-
DFD 内のすべてのプロセスが他のプロセスやデータストアへ向かうものとします。
DFD のレベルとレイヤー : コンテキスト図から擬似コードまで
データフロー図では、レベルやレイヤーを使用して、特定の部分を出発点とし、段階的に詳細を記述していくことができます。 DFD のレベルには0、1、2など番号が振られており、時にはレベル3以降に達することもあります。作図対象のスコープにより、記述すべき詳細のレベルは異なります。
DFD レベル 0
DFD レベル0はコンテキスト図とも呼ばれ、分析やモデル化対象となるシステムまたはプロセス全体の基本的な概要を示す図です。システムを単独の高次のプロセスとして示し、これに外部実体との関連を付したもので、一見してわかりやすいよう作成することが重要です。利害関係者、ビジネスアナリスト、データアナリストや開発者など、さまざまな受け手にとって理解しやすい図となるようにします。