データフロー図
データフロー図の最新ニュースをまとめて検索!
データフロー図(Data Flow Diagram、DFD)は、情報システムのデータの「流れ; flow」をグラフィカルに表現する図である。データフロー図はデータ処理の可視化にも使われる(構造化設計)。
目次 |
[編集] 概要
一般に設計者は最初にシステムとシステム外部とのやり取りをコンテキストレベルのDFDで描く。その後コンテキストレベルのDFDを「詳細化」してシステムの細部をモデル化していく。
データフロー図(DFD)はSSADMの3つの基本的な図の1つである。プロジェクトの出資者やエンドユーザーは、システム開発の全段階で概要説明を受け、相談をする必要がある。データフロー図を使えば、システムがどう実装され、何をどのように実行するのかをユーザーが眼で見ることができる。従来システムのデータフロー図と新システムのデータフロー図を描いて比較すれば、どこが効率化されているかが即座にわかる。データフロー図があれば、エンドユーザーは自分たちが具体的にどういうデータをどこで入力するのかを思い描くことができるようになる。
[編集] 構成要素
データフロー図はプロセス、データストア、ビジネス上(または他のシステム)の外部実体、およびそれらを結ぶデータフローから構成される。
データフロー図(DFD)の4つの構成要素は次の通り:
- 外部実体/ターミネータ/情報源/情報出口(四角形または楕円で表される)
- プロセス(円または角を丸めた多角形で表される)
- データフロー(矢印線で表される)
- データストア(2本の平行線で表されるが、それを垂直な線で繋いだ形にすることもある)
- 外部実体/ターミネータ
- モデル化されるシステム外部に存在するものである。ターミネータとは外部の情報源や外部への情報の出力先を意味する。システム設計では、ターミネータが具体的に何をどのようにするのかは考慮しない。
- プロセス
- 入力データを処理して何らかの加工を加え、結果となるデータを出力するもの。
- データストア
- データの保管場所を表現したもの。DFD では処理タイミングに関する前提は全く記述しない。従ってデータストアに年度決算用のデータを蓄えるために一年以上に渡ってデータが蓄積されることもある。
- データフロー
- 他の部品間のデータの移動経路を描いたもの。
1つのDFDに描かれる部品数は10個以内にすべきである。ある処理が10個以上の部品で構成される場合、複数の部品をひとつにまとめた概要レベルのDFDと、まとめた部分を描いた詳細レベルのDFDに分割する。各部品には番号を振る。例えば、トップレベルのDFD に部品 1, 2, 3, 4, 5 があったとき、部品 3 に関するDFD にある部品には 3.1, 3.2, 3.3, 3.4 といった番号を振る。さらに、部品 3.2 の DFD にある部品には 3.2.1, 3.2.2 といった番号を振る。
[編集] 複製
外部実体やデータストアは明確化のために複製して描く(つまり同じものを複数回描く)ことがある。ただし、プロセスは複製できない。複製された外部実体にはアスタリスク(*)を右下に付し、複製されたデータストアには二重線を左端に付す。
[編集] データフロー図作成法
[編集] トップダウン法
- システム設計者はコンテキストレベルのDFDを作成する。それは1つのプロセスで表されたシステムとシステム外の環境(ターミネータ群)とのやり取り(データフロー)を表したものである。
- 次にシステムを詳細化した DFD を描く。これには複数のプロセス、データストア、それらをつなぐデータフローが描かれる。
- さらに各プロセスをさらに詳細化してサブプロセス群に分割した図を描く。
- この手法では、各プロセスが簡単にコード化できる程度になるまで、以上の詳細化の工程を繰り返していく。
[編集] イベント分割法
この手法はエドワード・ヨードンの"Just Enough Structured Analysis"、chapter 19 で示されたものである。
- 詳細なDFDを作成する。
- 全イベントのリストを作成する。
- 各イベントに対応したプロセスを作る。
- 各プロセスを他のプロセスやデータストアと接続し、イベントについて十分な情報が得られるようにする。
- 各プロセスのイベントに対する反応は、そのプロセスから出て行くデータフローによってモデル化される。
[編集] ルール
DFDの作成には下記のルールが有る。
- プロセスには最低1つずつ、入力と出力のデータフローと結ばれている必要がある。
- プロセスは、データに何らかの変更を加え出力しなければならない。
- データストアには最低1つのデータフローと結ばれている必要がある。
- 外部実体は、最低1つのデータフローと結ばれている必要がある。
- データフローは最低1つのプロセスと結ばれている必要がある。
[編集] ツール
- Dia - オープンソースの図描画ツール。DFDもサポートしている。
- Dynamic Draw - フリーソフトの図描画ツール。DFD用のテンプレートもテンプレートライブラリに有る。
- Microsoft Visio - Windows 向け図描画ツール。DFDの基本的な部分をサポート(DFDが描けるが、データフローは記録できない)。
- Enterprise Architect - UMLモデリングツール。DFDもアドインでかける。
[編集] 参考文献
- トム・デマルコ、『構造化分析とシステム仕様』、日経BP出版センター、1994年 ISBN 4822710041
- 'Structured Analysis and System Specification'. Tom DeMarco. Yourdon, Inc., Englewood Cliffs, New Jersey, 1978.
[編集] 関連項目
[編集] 外部リンク
- データフロー図(DFD)の概要 アジャイルモデリング(AM)公式サイト
- Quick Reference
- Structured Analysis Wiki
- Article "Data Flow Diagrams (DFD)" by Vicki L. Sauter
- Article "The Semantics of Data Flow Diagrams" by P. D. Bruza and Th. P. van der Weide
- Article "How to draw data flow diagrams" courtesy of Smartdraw
- Chapter "Dataflow Diagrams" by Ed Yourdon
- Chapter "Just Enough Structured Analysis - Chapter 9" by Ed Yourdon
最終更新 2009年9月21日 (月) 15:56 (日時は個人設定で未設定ならばUTC)。
【データフロー図】変更履歴

