DFD(データ・フロー図)とは、情報システムまたはビジネス・プロセスを通る データのフローを視覚的に表現したものです。DFDは複雑なシステムを理解しやすくするもので、ソフトウェア・エンジニアリング、システム分析、プロセス改善、ビジネス管理、アジャイル・ソフトウェア開発 で広く利用されています。
DFDでは、データがシステムに入ってから出るまでのパス、プロセス、ストレージ・リポジトリーをグラフィカル・シンボルを使用して示します。この視覚モデルは、専門家が既存のシステムとプロセスの効率性と有効性を向上させる方法を特定し、新しいシステムとプロセスを作成するのに役立ちます。
例えば、保険金請求プロセスのDFDでは、請求がどのように行われるかを視覚化します。
アナリストは、DFDを調査してプロセスのボトルネックを明らかにし、不正行為が発生する可能性のある領域を検出し、関係者がプロセスを理解して設計を改善できるように支援できます。
1970年代、ソフトウェア・エンジニアのLarry ConstantineとEd Yourdonは、著書『Structured Design』でDFDを紹介しました。彼らはソフトウェアの手順に焦点を当てるのではなく、ソフトウェアシステム内でのデータの動きに基づいてDFDを作成しました。
コンピューター科学者のTom DeMarco、Chris Gane、Trish Sarsonは、現在でも使用されている標準化されたデータ・フローのシンボルと表記法を開発し、DFDの普及に貢献しました。
当初、DFDは主にソフトウェア・エンジニアリングで使用されていました。ビジネス・プロセスとワークフローを理解し、改善する価値を見出したことで、ビジネス・プロフェッショナルはそれらを使い始めました。
1990年代に入ると、統一モデリング言語(UML)が導入され、それ以来、ソフトウェア・プログラマーはソフトウェア・エンジニアリングにDFDだけに依存することはなくなりました。UML図は、複雑なオブジェクト指向システムの構造と動作を複雑かつ詳細に表示します。
今日では、DFDは主にUML図やフローチャートの補完ツールとして使用され、ソフトウェア開発中に高レベルのシステム概要を提供しています。
DFDは、複雑なシステムやプロセスを介した情報の流れを理解しやすくするために重要です。システム全体のコンポーネントを視覚化することで、DFDはユーザーを次の点で支援できます。
DFDには、次の4つの主要コンポーネントがあります。
これらは、DFD のデータ・フローの開始点と終了点です。外部実体はDFDのエッジに配置され、システムまたはプロセス全体に対する情報のインプットとアウトプットを表します。
外部実体は、個人、組織、システムなどです。例えば、顧客は、購入と売上領収書の受け取りプロセスをモデル化するDFDの外部実体となることができます。外部実体は、ターミネーター、アクター、ソース、シンクとも呼ばれます。
プロセスは、データを変更または変換するアクティビティです。これらのアクティビティには、計算、ソート、検証、リダイレクト、またはデータ・フローのそのセグメントを進めるために必要なその他のトランスフォーメーションが含まれます。例えば、クレジットカードの支払い確認は、顧客の購入DFD内で発生するプロセスです。
データ・フローは、情報が外部実体、プロセス、データ・ストア間を移動するときにたどるルートです。例えば、eコマースのDFDでは、ログイン資格情報を入力するユーザーと 認証 ゲートウェイを接続するルートがデータ・フローになります。
DFDコンポーネントを視覚的に表現するために、円、楕円、矢印、四角形などの標準化された記号と表記法が使用されます。現在、DFDのテンプレートで使用される一般的な表記法には、ヨードン/コード式の方法論とゲイン/サーソン式の方法論の2つがあります。どちらのシステムも、それを作成したコンピューター科学者にちなんで名付けられています。
これらの方法は、プロセスとデータ・ストアを表すために使用する記号が異なりますが、それ以外は同じです。
システムまたはプロセスに対して異なる視点を提供するDFDには、論理DFDと物理DFDの2種類があります。
論理DFDは、技術的または実装の詳細に立ち入ることなく、ビジネス・プロセスまたはシステム・プロセスを実行するために必要なデータ・フローの概要を提供します。焦点は、必要なデータと、ビジネス目標を達成するためにそのデータがプロセスを通じてどのように移動するかにあります。
論理DFDは、倉庫での注文処理、顧客によるオンライン購入、医療施設での患者の受け入れなどの事業活動を表すことができます。
物理DFDは、必要なソフトウェア、ハードウェア、ファイルなど、システムまたはプロセスの実装を視覚化します。物理DFDは、システムまたはプロセスの基盤となるテクノロジー、手順、および操作に重点を置いています。
物理DFDは、サプライチェーン・ソフトウェアが倉庫で在庫を管理する方法や、電子医療記録が病院システムを通じて安全に移動する方法など、複雑なシステムやワークフローを表すためによく使用されます。
DFDは、システムまたはプロセスに関する詳細を段階的に表示するために、複数のDFDレベルで作成されることがあります。この階層化アプローチは、単純な高レベルのビューから始まり、低レベルのDFDがプロセスとサブプロセスをより深く掘り下げるにつれて、より複雑になります。
「コンテキスト図」とも呼ばれるレベル 0DFDは、システム全体を単一のプロセスとして視覚化する高レベルのビューです。これは最もシンプルで基本的なレベルです。技術的なスキルや職務に関係なく、見る人全員が簡単に理解できるものでなければなりません。
レベル1のDFDでは、高レベル・プロセスのコンポーネント部分をより詳細に調査します。コンテキスト・レベルのDFDでは単一のプロセスであったものが、機能とデータ・フローの経路に関する詳細情報を提供するサブプロセスに分割されます。
レベル2では、新しいサブ・プロセスとその相互作用やデータ・フローとデータ・保管との関係を追加することで、さらに詳細な情報が得られます。このレベルでは、システムまたはプロセスの内部オペレーションを非常に詳細に把握できます。
DFDはアクセスしやすく、理解しやすいように意図されているため、レベル2の複雑さを超えることはまれです。ただし、非常に複雑なシステムでは、データ・プロセスまたはシステムのあらゆる側面をマッピングするレベル 3 DFD の精巧な詳細が必要になる場合があります。
ほとんどのDFDは、同じ基本ルールに従います。
データ・サイロを排除し、複雑さを軽減し、データ品質を向上させることで、卓越した顧客体験と従業員体験を実現するデータ・ストラテジーを設計します。
watsonx.dataを使用すると、オープンでハイブリッド、かつ管理されたデータ・ストアを通じて、データがどこに保存されていても、すべてのデータを使用して分析とAIを拡張できます。
IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。