
DFD(データフロー図)とは何か?
DFDはデータフロー図の略で、システムの中で情報がどのように動いているかを示す図のことです。
例えば、スーパーで商品を買うとき、お客様の注文情報がシステムに入り、商品が準備され、お会計が行われる流れを視覚的に表します。
DFDの主な要素は、データの流れ(矢印)、処理(円や丸の図形)、データの保存場所(長方形や平行四辺形)、外部エンティティ(システムの外部にある人や他のシステム)です。
この図によって、システムの情報の流れを直感的に理解できるので、プログラムを作る前の設計や、問題点の発見に役立ちます。
つまり、DFDは「データがどのように動くか」を示す図なのです。
状態遷移図とは何か?
状態遷移図は、あるシステムや物の状態の変化を示す図です。
例えば、自動販売機のお金の投入から商品が出るまでの動きを考えたとき、最初は「お金が入っていない」状態、次に「お金が入った」状態、さらに「商品が選ばれた」状態と変わっていきます。これらの状態と、状態から次の状態に変わる条件(遷移)を記号で表したものが状態遷移図です。
図の中では状態は丸や長方形で描かれ、遷移は矢印で示されます。
状態遷移図は主に、システムがどのように変化するかを理解したり、設計したりするときに使われます。
つまり、状態遷移図は「状態の変化とそのきっかけ」を表す図です。
DFDと状態遷移図の違いを詳しく解説
ここからはDFDと状態遷移図の違いを具体的に見ていきましょう。
下の表で両者の特徴を比較します。
項目 | DFD(データフロー図) | 状態遷移図 |
---|---|---|
主な目的 | システム内のデータの流れを示す | システムや物の状態変化を示す |
表現内容 | データの流れ、処理、保存、外部との関係 | 状態、状態間の遷移(変化)、イベントや条件 |
使う場面 | システム設計の初期段階や業務フロー理解 | 動作の分析、対話型システムや機械の挙動設計 |
図の構成要素 | 処理(プロセス)、データフロー、データストア、外部エンティティ | 状態、遷移(矢印)、イベントや条件ラベル |
焦点 | 情報のやりとり、処理の流れ | 状態の変化、イベントによる動作 |
例えば、銀行のATMシステムを考えたときに、
・DFDは「お客様がカードを入れ、情報が銀行システムに届いて承認されるまでのデータの流れ」を表します。
・状態遷移図は「カード未挿入→カード挿入済み→暗証番号認証済み→取引中→取引終了」のようなATMの状態の変化を示します。
つまり、DFDは『情報の流れ』を、状態遷移図は『状態の変化』を中心に描いているのです。
まとめ
- DFDはシステム内のデータの流れを表す図で、情報のやりとりがわかる。
- 状態遷移図はシステムや物の状態変化とそのきっかけを示す図で、動きの仕組みがわかる。
- 両者は目的や表現する内容が違うため、使い分けが大切。
これらの図を上手に使えば、システムを分かりやすく理解しやすくなります。
次にシステム設計をするときには、ぜひDFDと状態遷移図を思い出してみてくださいね。
最後までお読みいただき、ありがとうございました!
状態遷移図の面白いところは、ただの図でありながら「何がきっかけで物事が変わるのか」をビジュアルで教えてくれる点です。
たとえば、ゲームのキャラクターが『待機中』から『攻撃中』に変わるときの条件や、信号機が『赤』から『青』へ変わる仕組みを簡単に理解できます。
実は状態遷移図は、単なる設計図以上の意味を持ち、私たちの日常生活の様々な「変わり目」を見える化しているんです。ちょっとした仕組みの秘密を覗くような楽しさがありますね。