ITパスポート 2018年 春期 問05
問題文
DFDの記述例として、適切なものはどれか。

選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
DFDの記述例【ITパスポート 解説】
正解の理由
DFD(Data Flow Diagram:データの流れを表す図)は、システム内で「どの処理が」「どのデータを受け取り」「どこへ出すか」を示す図です。DFDで使う主な要素は、処理(process:データを変換する作業)、データフロー(data flow:データの流れを示す矢印)、データストア(data store:データを保存する場所、二重線で表すことが多い)、外部エンティティ(外部の主体、四角で表現されることが多い)です。
選択肢のうち、イは上記の要素がそろっています。丸い円に「処理1」「処理2」と書かれているのが処理を示し、矢印に「データ A」「データ B」「データ C」とラベルがあり、二重線の「データファイル1」がデータストアを表しています。データの入出力と保存が矢印で明確に示されているため、DFDの記述例として適切です。
解法ステップ
- 問題文の図を見て「何を表しているか」を要素別に分ける。
- 円や丸 → 処理(process)か状態か?
- 矢印 → データの流れか、イベント・制御の流れか?
- 二重線の長方形 → データストアか?
- 菱形(ダイヤ) → 判断(フローチャートの決定)か?
- 長方形の実体 → データモデルの実体(ER図)か?
- DFDの特徴をチェックする。
- データの流れ(ラベル付き矢印)があるか?
- 処理(データを変換する要素)があるか?
- データストア(二重線)があるか?
- 判断(条件分岐のダイヤ)や「状態遷移(state)」を表す記号はないか?
- 各選択肢に当てはめる。
- DFDの要素が一式そろっているものを選ぶ。以上の観点からイが該当する。
選択肢別の誤答解説
-
ア:
- これは状態遷移図(state transition diagram:システムや機器・処理の「状態」と「その状態間の遷移」を表す図)です。丸が状態(状態1、状態2)を示し、矢印は事象(イベント)による遷移を示します。DFDが「データの流れ」を扱うのに対し、状態遷移図は「状態変化」を扱うため不適切です。
-
イ:
- DFDの基本要素(処理、データフロー、データストア)が揃っています。処理はデータを受けて別のデータを出すことに注目してください。したがってDFDの記述例として正しいです。
-
ウ:
- これはER図(Entity-Relationship diagram:実体と実体の関係を表す図)です。実体(実体1、実体2)と関係(菱形)および1対Nなどの多重度(カードinality)を示しています。データ構造やテーブル設計によく使いますが、データの流れを示すDFDではありません。
-
エ:
- これはフローチャート(flowchart:処理の流れや制御の分岐を表す図)です。菱形が判断(分岐条件)を示し、矢印は処理の順序(制御フロー)を表します。フローチャートは手順やロジックを示すのに適していますが、DFDの目的である「データの流れと保存」を示す図ではないため誤りです。
よくある誤解
-
「矢印がある=DFD」と考えるミス
- 矢印はフローチャートや状態遷移図でも使います。DFDでは「矢印がデータを表しているか(データ名のラベルがつく)」を確認してください。ラベルが付かない矢印は制御や遷移を表す場合があります。
-
「丸=必ずプロセス」と思い込む誤り
- 丸や円形は記法により意味が変わります。Yourdon/DeMarco記法では円がプロセスを表すこともありますが、別の図(状態図)でも円が状態を表します。周囲の要素(データストア、データフローのラベル)で判断しましょう。
-
「判断(分岐)があるからDFDではない」と早合点すること
- DFDは本来、条件判断(if文)の可視化が目的ではありませんが、条件によりデータの流れが変わることを矢印の分岐で表すことはあります。重要なのは「何を表したいか(データの流れか制御の流れか)」です。
補足コラム
- DFDの主な利点:
- ソフトウェアや業務システムで「どのデータがどこを通るか」が一目で分かります。これにより要件定義やデータ保護、業務改善がしやすくなります。
- 表記の違い:
- DFDには複数の記法(Yourdon、Gane & Sarson など)があります。Yourdonではプロセスが丸、Gane & Sarsonでは丸めの長方形(ラウンドされた矩形)を使うことが多いです。図を読むときは「その図でどの記号が何を意味するか」をまず確認しましょう。
- 小さな実務例:
- 例:顧客が注文(データ)→ 注文処理(処理)→ 注文データを注文DB(データストア)に保存 → 出荷処理がDBからデータを受ける。これがDFDの典型的な流れです。
FAQ
Q1. DFDとフローチャートの違いは何ですか?
A1. DFDは「データの流れと保存場所」を可視化します。フローチャートは「処理の手順や制御の流れ(判断やループ)」を示します。目的が違うため、同じ場面でも片方が適切な場合とそうでない場合があります。
A1. DFDは「データの流れと保存場所」を可視化します。フローチャートは「処理の手順や制御の流れ(判断やループ)」を示します。目的が違うため、同じ場面でも片方が適切な場合とそうでない場合があります。
Q2. DFDに判断(if文)は書けますか?
A2. 判断そのもの(条件の詳細)をDFDで示すのは一般的ではありません。判断によってデータの流れが分岐することは矢印の分岐で示せますが、判断ロジックは別にフローチャートや仕様書で表現します。
A2. 判断そのもの(条件の詳細)をDFDで示すのは一般的ではありません。判断によってデータの流れが分岐することは矢印の分岐で示せますが、判断ロジックは別にフローチャートや仕様書で表現します。
Q3. データストアへの矢印の向きは重要ですか?
A3. はい。矢印はデータの流れる方向を示します。データストアから処理へ向く矢印は「保存されたデータを処理が読み取る」ことを意味します。逆向きは「処理がデータを保存する」ことを意味します。
A3. はい。矢印はデータの流れる方向を示します。データストアから処理へ向く矢印は「保存されたデータを処理が読み取る」ことを意味します。逆向きは「処理がデータを保存する」ことを意味します。
関連キーワード: DFD、データフロー図、データストア、プロセス図、データフロー、フローチャート、状態遷移図、ER図、記法の違い、図解設計

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

