見出し画像

データの流れをグラフィカルに表現する「DFD」とは? ~USE Inc.的技術用語解説 vol.5

組み込み設計から完成品開発までこなすモノづくり企業、株式会社ユー・エス・イー(USE Inc.)。組み込みやマイコン、ソフト開発においての専門的な技術用語を解説します。


4つの要素で構成される「Data Flow Diagram(DFD)」

DFDではデータの流れをグラフィカルに表現することができる。

「データフロー」(Data Flow)とは、データの流れのこと。データがシステム内でどのように移動し処理されるかをグラフィカルに示したものが「DFD」(Data Flow Diagram, データフロー図)です。1970年代に生まれ、現在も広く利用されているプログラムやシステムを理解するための重要なツールであり、特に大規模なシステムや複雑な処理を行う場合に役立ちます。ソフトウェア設計やシステム開発の過程で使用される分析技術でもあります。

DFDは、主に4つの要素から構成されます。「プロセス」「データストア」「外部エンティティ/外部実体」「データフロー」です。

プロセス(Process):
プロセスは、システム内でデータを変換または処理する機能の単位です。プロセスは円形で表され、短い説明文で示されます。

データフロー(Data Flow):
データフローは、プロセス間やプロセス内でのデータの移動や流れを表現します。データフローは矢印で表され、データの流れの方向を示します。

データストア(Data Store):
データストアは、システム内でデータが格納される場所を表現します。データベースやファイル、メモリなどのデータの永続性を持つ場所がデータストアとして示されます。データストアは平行な二本の線で表され、名称が付けられます。

外部エンティティ/外部実体(External Entity):
外部エンティティは、システムの外部からデータの入力や出力が行われる要素を表現します。顧客、システム外のデータベース、他のシステムなどが外部エンティティとして示されます。外部エンティティは長方形で表され、名称が付けられます。

DFDの長所と短所、DFDを補完する手法とは?

DFDでは表現できない内容は他の手法を使って補完することが可能。

DFDは、これら4つの要素を組み合わせてシステムの構造を表現します。プロセスはデータフローによって接続され、データストアや外部エンティティとの関係も明示。プログラマーやユーザーが理解しやすいようにシステム内のデータの流れを簡潔にまとめることができるため、情報システムの設計や開発において重要な役割を果たします。関係者全員が視覚的にシステムの構造やプロセスの理解をするのに役立ち、情報共有やシステムの品質向上に寄与します。

USE.incでも、DFDを中心とした分析ツールを用いて、要求されるシステムのの不明点や矛盾点の洗い出しや、構成に必要なデータの抽出(データ設計)を行います。ただ、DFDには詳細度が低く、制御フローや時間の要素を表現することができないといった面があるため、補完的なモデリング手法が必要な場合があります。

使用されるデータを定義する「データディクショナリー(Data Dictionary)」、プロセスの内容・詳細を記述した「ミニ仕様書」、プログラムやソフトウェアの実行時に、コード内の命令やステートメントがどの順序で実行されるかを示す「制御フロー図」など、DFDでは表現できない内容を記述できる手法を併せて使うことで、システム全体をより深く多面的に理解することができます。

USE Inc. お問合せ先
https://www.use-inc.co.jp/contact/

USE Inc. 採用情報 \DFDに興味のあるエンジニア募集中/
https://www.use-inc.co.jp/recruit/

いいなと思ったら応援しよう!