概要
情報システムのデータの流れを表現した図のこと。
システムの入力・出力がどんな情報なのか・どこから来たのか、どこに格納されるのかを示す。
処理のタイミングや逐次的な処理(処理の順序)を示すものではない。
(その用途ならフローチャートを使うと良い)
Mermaid
様々な図等を描くのに便利。
プラグイン利用するとPHPStormで利用できる。
VSCode, MS Word, MS PowerPoint等でも利用できるらしい。
GitHubでも利用できる。
GitLabでも利用できるらしい。
Webページでも利用できる。
役立つWebページ
- Mermaid Live Editor
Mermaidを利用して様々な図等を作成できる。作成した図等は画像として保存できる。
構成要素
プロセス
円または角を丸めた多角形で表現される。
入力データを処理して結果となるデータを出力するもの。
データストア
2本の水平な平行線で表現される。(Mermaidでは見つからないので他の図を使う)
データの保管場所を示したもの。
ビジネス・システムの外部実体
四角形または楕円で表現される。
モデル化されるシステム外部に存在するもの。
データフロー
矢印線で表現される。
他の要素間のデータの移動経路を示すもの。
備考
- 1つのDFDに描かれる要素数は10個以内が良い。もし10個以上あるなら分割すると良い。例:トップレベルのDFDに要素1, 2, 3があった場合、要素2に関するDFDの要素は2.1, 2.2と番号を振ると良い。
- 外部実体やデータストアは明確化のために複数描くこともある。
- 複製された外部実体は右下にアスタリスクを付す。(Mermaidでのやり方は見つからなかった)
- 複製されたデータストアは左端に二重線を付す。(Mermaidでのやり方は見つからなかった)
- プロセスは複製してはならない。
ルール
- プロセスは最低1本ずつ、入力と出力のデータフローと結ばれている必要がある。
- プロセスはデータに何らかの変更を加えて、出力する必要がある。
- データストアは最低1本のデータフローと結ばれている必要がある。
- 外部実体は最低1本のデータフローと結ばれている必要がある。
- データフローは最低1つのプロセスと結ばれている必要がある。
Mermaid使用例(PHPStormでREADME.mdを編集する場合)
コード
```mermaid
---
title: DFDの使用例
---
flowchart TD
idProcess(プロセス)
idDataStore[(データストア)]
idEntity[外部実体]
idDataStore -- 入力 --> idProcess
idProcess -- 出力 --> idEntity
```
表示
