データフロー図

データフロー図(Data Flow Diagram、DFD)は、情報システムのデータの「流れ; flow」をグラフィカルに表現する図である。システム設計段階の初期に描かれることが多い[1]。データフロー図はデータ処理可視化にも使われる(構造化設計)。

DFDはシステムの入力と出力がどんな情報なのかを示し、データがどこから来てどこに行くのか、どこに格納されるのかを示す。処理のタイミングや逐次的な処理を示すものではない(その用途にはフローチャートなどがある)。一方で、データフローの図というのは依存関係を示すものであるから、互いに影響するような関係にない処理は並列に行えるというような、並行性は表現される。

概要

一般に設計者は最初にシステムとシステム外部とのやり取りをコンテキストレベルのDFDで描く。その後コンテキストレベルのDFDを「詳細化」してシステムの細部をモデル化していく。

構造化設計を開発した ラリー・コンスタンチン英語版が、Martin と Estrin の "data flow graph" モデルに基づいてデータフロー図を提案したのが始まりである[2]

データフロー図(DFD)はSSADMの3つの基本的な図の1つである。プロジェクトの出資者やエンドユーザーは、システム開発の全段階で概要説明を受け、相談をする必要がある。データフロー図を使えば、システムがどう実装され、何をどのように実行するのかをユーザーが眼で見ることができる。従来システムのデータフロー図と新システムのデータフロー図を描いて比較すれば、どこが効率化されているかが即座にわかる。データフロー図があれば、エンドユーザーは自分たちが具体的にどういうデータをどこで入力するのかを思い描くことができるようになる。

データフロー図の記法には Yourdon & Coad の記法と Gane & Sarson の記法[3]があり、プロセス、データストア、データフロー、外部実体といった要素の見た目が異なる[4]

他の言語で