エンベデッドシステムスペシャリスト 2011年 午前2 問20
問題文
図は、階層化されたDFDにおける、あるレベルのDFDの一部である。プロセス1を子プロセスに分割して詳細化したDFDのうち、適切なものはどれか。ここで、プロセス1の子プロセスは、プロセス1-1、1-2及び1-3と表す。


選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
DFDの階層化と整合性【午前2解説】
正解の理由
DFDのプロセスを子プロセスに分割するときは、分割前後で、対象プロセスの外部とのデータの入出力を一致させる必要があります。これをDFDの整合性といいます。
元のプロセス1には、外部から矢印が2本入り、プロセス2とプロセス3へ矢印が1本ずつ出ています。したがって、詳細化した図でも、外部からの入力が2本、外部への出力が2本必要です。
イでは、外部からの2本の入力がそれぞれプロセス1-1と1-2に入り、1-1からはプロセス2に対応する外部出力が、1-3からはプロセス3に対応する外部出力があります。内部のデータフローも含め、元のプロセス1の入出力を保っているため適切です。
解法ステップ
- 元のプロセス1に入る矢印と、プロセス1から出る矢印を数えます。
- 詳細化後の図で、子プロセスの外側と接続する矢印を数えます。
- 入力・出力の本数と方向が元のプロセスと一致するかを確認します。
- 子プロセス間の内部データフローも確認し、入力のないプロセスなどがないかを見ます。
選択肢別の誤答解説
- ア:外部から入る矢印が1本しかありません。元のプロセス1への入力は2本なので、入出力の対応が取れていません。
- イ:外部からの入力2本と外部への出力2本が保たれています。子プロセス間のデータフローもあり、適切です。
- ウ:外部からの入力は2本ですが、外部へ出る矢印は1本です。元のプロセス1からの出力は2本なので、出力が不足しています。
- エ:外部への出力は2本ありますが、プロセス1-2には外部からの入力がなく、内部からの入力もありません。入力のないプロセスからデータが出る形になっており、不適切です。
よくある誤解
- 子プロセスの数や配置を合わせればよいと思い込むことがあります。重要なのは、分割前後の外部入出力が一致していることです。
- 外部入出力の本数だけ見れば十分と考えるのも誤りです。各プロセスへの入力や、子プロセス間のデータの流れも確認します。
- 親プロセスの外側にあるデータストアや他のプロセスへの流れを、対象プロセスの入出力と混同しないようにします。
補足コラム
DFDでは、プロセスの詳細化によって内部の処理やデータの流れを具体化します。ただし、詳細化した部分をひとまとまりとして見たとき、外部とのデータの出入りは元のプロセスと同じでなければなりません。
この考え方により、階層ごとのDFDをつなげて読んでも、データの流れに食い違いが生じないようにできます。
FAQ
Q. 子プロセス間のデータフローは、親プロセスと同じ本数でなければなりませんか?
A. いいえ。子プロセス間の内部データフローは、詳細化によって追加・具体化されます。一致させる必要があるのは、対象プロセスと外部との入出力です。
A. いいえ。子プロセス間の内部データフローは、詳細化によって追加・具体化されます。一致させる必要があるのは、対象プロセスと外部との入出力です。
Q. 親プロセスへの入力を、複数の子プロセスに分けて渡してもよいですか?
A. データの流れとして矛盾がなければ可能です。親プロセスの境界をまたぐ入力・出力が保たれているかを確認します。
A. データの流れとして矛盾がなければ可能です。親プロセスの境界をまたぐ入力・出力が保たれているかを確認します。
Q. 入力がないのに出力するプロセスは、なぜ問題なのですか?
A. 入力データがないのに出力データが生成されるように見えるためです。プロセスの入出力やデータの由来が妥当かを確認する必要があります。
A. 入力データがないのに出力データが生成されるように見えるためです。プロセスの入出力やデータの由来が妥当かを確認する必要があります。
関連キーワード: DFD、プロセス分割、階層化、DFDの整合性、データフロー

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

