データ フロー ダイアグラム(DFD)は、システム内のデータのフロー、ストレージ、処理、および外部エンティティ間の対話プロセスを記述するために使用されるグラフィック表現方法です。複雑なシステムを理解しやすいコンポーネントとプロセスに分解することで、開発者、アナリスト、関係者がシステムのデータ フローと論理構造を直感的に理解できるようにします。
外部エンティティ: ユーザー、他のシステム、データ ソースなど、システムの外部の要素を表します。これらはデータの送信元または宛先です。
データ ストレージ: データベース、ファイル システムなど、データの保存に使用されるシステム内のコンポーネントを表します。
プロセス/処理: 計算、フィルタリング、書式設定など、データを操作または変換するためのシステム内の手順を説明します。
データ フロー: さまざまな要素を接続する有向矢印。データ フローの方向を示します。
詳細レベルと目的に応じて、データ フロー図は通常、次の 2 つのカテゴリに分類されます。
論理データ フロー図: システムが「行うべきこと」を記述することに重点を置き、主にビジネスと業務運営を表現し、特定の物理実装を含まずに、データ収集、データと情報の変換、情報レポートなどのデータ処理ロジックに重点を置きます。コンピュータとしての構成、データ保存技術、情報伝達方法など。
物理データ フロー図: より具体的に、ハードウェア、ソフトウェア コンポーネント、およびそれらの間の物理接続を含む、「システムが実際にどのように動作するか」を示します。これにより、論理データ フロー図に記述された手順でビジネス目標を正確に達成できるようになります。
システム設計: ソフトウェアまたは情報システム開発の初期段階では、データ フロー図はシステム アーキテクチャを計画し、機能モジュールとインターフェイスを定義するための重要なツールです。
問題診断: システム障害またはパフォーマンスのボトルネックが発生した場合、データ フロー図を使用してデータ パスを追跡し、問題を迅速に特定できます。
プロセスの最適化: データ フローを視覚化することで、冗長なステップやボトルネックを特定し、データ処理プロセスを最適化し、効率を向上します。
トレーニングと教育: 新しいチーム メンバーにとって、データ フロー図は、システムの動作原理を理解し、すぐに使い始めるための効果的な方法です。
1. トップレベルのデータフロー図
システムの範囲を決定し、入出力データ フローを決定します。システムの境界を説明し、システム全体の機能をプロセスに抽象化します。主にデータのソースポイントとエンドポイントを強調表示します。
トップレベルの DFD は 1 つだけあり、システム全体と外部エンティティの間の関係を表しますが、システムの奥深くまでは入りません。
この層では、通常、システム ボックスとそれと対話する外部エンティティ、およびそれらの間の主要なデータ フローのみが表示されます。
たとえば、次の図は、電子商取引プラットフォーム システムのトップレベルのデータ フロー図です。
2. レイヤ0 のデータ フロー図
トップレベルのデータ フロー図は比較的一般的なものであり、この図だけからシステム内の特定のデータと関係を理解することは不可能です。次のステップでは、基本的なシステム モデルを分解して調整して、レイヤー 0 データ フロー図を形成します。
例えば、オンラインショッピングシステムでは、システム内の主要な機能は、ユーザーのログイン管理、取引管理、注文管理などに分かれており、これらの機能の下に、ショッピングカートリストや注文テーブルなどの複数のデータストレージが追加されます。
3. レイヤ 1 データ フロー図
次のステップは、機能レベル (レイヤー 0) のデータ フロー図のシステム機能をさらに洗練することです。たとえば、前述のレイヤー 0 データ フロー図のユーザー ログイン管理、トランザクション管理、その他の機能をさらに分解します。各主要機能の下にある機能を展開します。
中間レベルの数は通常、システムの複雑さに依存します。たとえば、レイヤー0に基づいてレイヤー0データ フロー図を作成して、システムの主要コンポーネントをさらに拡張できます。次に、レイヤー1の主要なプロセスに対してレイヤー2データ フロー図を作成して、各主要コンポーネントをさらに拡張できます。プロセスの内部詳細。
これらのレベル内で、システムはより小さな機能単位 (プロセスなど) に再分割され、データ フローによって相互接続されます。
4. 基礎となるデータ フロー図
基礎となるデータ フロー図とは、処理を分解できないデータ フロー図を指します。
その処理は「アトミック処理」と呼ばれ、分解することができない最も基本的な処理プロセスです。このレイヤーでは、各処理ノードの詳細なデータフローが表示されます。
プロフェッショナルな描画ツールを使用すると、描画効率が向上し、思考に集中できるようになります。ProcessOn は、フローチャート、マインド マップ、UML、ネットワーク トポロジ図などの図を作成するための無料のオンライン プロフェッショナル描画ツールです。
1. ProcessOn にログインし、個人ファイル ページに入り、[新しいフローチャート] を選択します。
2. システムの入力と出力を決定する:この段階では、システムが外部の世界からどのようなデータを受信または出力するかを理解するために最善を尽くす必要があります。したがって、描画時にできるだけ多くのデータ フローを描画してから、データ フローを削除する必要があります。冗長なものを追加し、不足しているものを追加します。
3. システムの最上位のデータフロー図を外側から描きます。システムの入力と出力を決定した後、それらを接続し、データフローの値が変化する部分が処理です。入力データ ストリームから出力データ ストリーム、または中間データ ストリームから描画できます。そして、処理→処理室のデータ→ファイルの順に名前を付けます。
4. 上から下へレイヤーごとに分解し、階層的なデータ フロー図を描画します。大規模なシステムの場合、複雑さを制御して理解を容易にするために、トップダウンのレイヤーごとにさらに分解する方法を使用する必要があります。具体的には、関数が確立されると、それを分解する必要はありません。
データ フロー図内でプロセスに番号が付けられる方法にも注意する必要があります。最上位のデータ フロー図の処理要素には、1、2、3... に従って番号を付けることができます。処理 1 をさらに分解すると、コンポーネント番号は 1.1、1.2、1.3... になります。1.1 をさらに分解すると、そのコンポーネント番号は 1.1、1.2、1.3... になります。の場合、番号は 1.1 .1,1.1.2…処理になります。このように処理の命名規則に従います。
5. データ フロー図を理解しやすくするために、要素の役割を説明するために必要なコメントや説明を追加できます。
6. 要素の位置を合理的に配置して、明確で論理的に一貫したデータ フローを確保します。
上記は、データ フロー図の関連内容です。データ フロー図は、技術担当者がシステム設計やトラブルシューティングを行うためのガイドとなるだけでなく、ビジネス担当者がデータ フローと処理プロセスをよりよく理解し、ビジネスへの理解を深めることもできます。