データ フロー ダイアグラム (DFD) は、システム内の情報フローを視覚的に表現した伝統的なものです。きちんとした明確な DFD では、適切な量のシステム要件をグラフィックで表現できます。手動、自動、または両方の組み合わせが可能です。
データがシステムにどのように出入りするか、何が情報を変更するか、データがどこに保存されるかを示します。
DFD の目的は、システム全体の範囲と境界を示すことです。これは、システム アナリストと、システムの再設計の開始点として機能する順序で役割を果たす人物との間のコミュニケーション ツールとして使用できます。 DFD は、データ フロー グラフまたはバブル チャートとも呼ばれます。
DFD に関する次の観察は重要です。
- すべての名前は一意である必要があります。これにより、DFD 内の要素を参照しやすくなります。
- DFD はフローチャートではないことに注意してください。矢印はイベントの順序を表すフローチャートです。 DFD の矢印はデータの流れを表します。 DFD にはイベントの順序は関係ありません。
- 論理的な判断を抑制します。 DFD でひし形のボックスを描きたいという衝動に駆られた場合は、その衝動を抑えてください。ダイヤモンド型のボックスは、複数のパスが存在し、そのうち 1 つだけが選択される決定ポイントを表すためにフローチャートで使用されます。これはイベントの順序を意味しますが、DFD では意味がありません。
- 細かいことにこだわりすぎないでください。エラー状態とエラー処理を分析が終了するまで延期します。
DFD の標準シンボルは電気回路図の分析から導出され、図に示されています。
丸: 円 (バブル) は、データ入力をデータ出力に変換するプロセスを示します。
データフロー: 曲線は、プロセスまたはデータ ストアに出入りするデータの流れを示します。
データストア: 一連の平行線は、データ項目のコレクションの場所を示します。データ ストアは、後の段階で、または別の順序で他のプロセスによって使用できるデータが保存されていることを示します。データ ストアには、要素または要素のグループを含めることができます。
ソースまたはシンク: ソースまたはシンクは外部エンティティであり、システム入力のソースまたはシステム出力のシンクとして機能します。
データ フロー ダイアグラム (DFD) のレベル
DFD は、あらゆる抽象化レベルでシステムまたはソフトウェアを実行するために使用できます。実際、DFD は、増加する情報フローと機能の詳細を表すレベルに分割される場合があります。 DFD のレベルには 0、1、2、またはそれ以降の番号が付けられます。ここでは、データ フロー図に主に 0 レベル DFD、1 レベル DFD、2 レベル DFD の 3 つのレベルが表示されます。
ツリートラバース
0レベルDFDM
これは、基本システム モデル、またはコンテキスト ダイアグラムとも呼ばれ、ソフトウェア要件全体を、入力および出力データが入ってくる矢印と出ていく矢印で示された単一のバブルとして表します。次に、システムは分解され、複数のバブルを含む DFD として記述されます。これらのバブルのそれぞれによって表されるシステムの部分は、さらに詳細な DFD として分解され、文書化されます。このプロセスは、現在のプログラムが十分に理解されるまで、必要なレベルで繰り返すことができます。レベル間で入力と出力の数を維持することが重要であり、この概念は DeMacro によってレベリングと呼ばれています。したがって、バブル 'A' に 2 つの入力 x がある場合、1そして×21 つの出力 y と、「A」を表す拡張 DFD は、図に示すように、正確に 2 つの外部入力と 1 つの外部出力を持つ必要があります。
結果管理システムのコンテキスト ダイアグラムとも呼ばれるレベル 0 DFD を図に示します。バブルがますます抽象度の低いバブルに分解されるにつれて、対応するデータ フローも分解する必要がある場合があります。
1レベルDFD
1 レベル DFD では、コンテキスト ダイアグラムは複数のバブル/プロセスに分解されます。このレベルでは、システムの主な目的を強調し、0 レベル DFD の高レベルのプロセスをサブプロセスに分割します。
2レベルDFD
2 レベル DFD は、1 レベル DFD の各部分に 1 プロセス深く入ります。これは、システムの機能に関する特定の/必要な詳細を投影または記録するために使用できます。