SAシステムアーキテクト試験 午前Ⅱ
令和5年度春期 システムアーキテクト 午前Ⅱ 問2
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題





選択肢
- ア(問題の図表を参照)
- イ(問題の図表を参照)
- ウ(問題の図表を参照)
- エ(問題の図表を参照)
解き方のヒントを見る
親図と子図の対応を照らし合わせる
階層化されたDFDでは、上位の一つのプロセスが下位の図で複数のプロセスへ展開されます。妥当性を考える際は、個々の記号の描き方よりも、上位と下位の図が互いにどう対応しているかという一つの観点に絞って照合すると整理しやすくなります。
この問題で問われていること
問われているのは、詳細化の前後で図全体としての意味が保たれているかどうかです。上位図でそのプロセスに出入りしていたものが、下位図の側でどのように受け止められているかを、自分で一つずつ対応づけて確かめる姿勢が求められます。
視点
DFDの階層化は、複雑な処理を段階的に分解して理解しやすくするための手法です。分解した結果の図は、単独で見て自然かどうかだけでは評価できません。元になった上位の図と並べたときに、矛盾なく読めるかが重要になります。データの流れ・蓄積・外部とのやり取りといった要素が、上位と下位でそれぞれ何に当たるのかを、自分の言葉で説明できるか試してみてください。
確認ポイント
- 上位図で対象プロセスに接続されていた要素を、漏れなく書き出してみたか
- 書き出した各要素が、下位図のどこに対応するのかを一つずつ突き合わせたか
- 下位図だけで判断せず、上位図と並べて読んだときに説明が通るかを確かめたか
正解と解説を見る
正解
イ
解説
正しい詳細化は、プロセス1の外部入力二つと外部出力二つを保ちながら、三つの子プロセス間に適切な内部データフローを設定しています。
理由
プロセス1には左側から二つの入力が入り、右側ではプロセス2とプロセス3へそれぞれデータが流れています。子プロセスへ分割する場合も、この外部とのデータフローを同じ意味で再現する必要があります。
比較
イは二つの入力を子プロセスへ取り込み、子プロセス間で処理を連携させた上で、元の二つの出力につなげています。他の選択肢は入力の欠落、出力の欠落、または入力を持たない子プロセスが生じ、親プロセスとの入出力対応が崩れています。
選択肢ア
これは不正解だよ。図ではプロセス1に入っていた二つの入力のうち、一つしか子プロセス側へ引き継がれていません。親プロセスの外部入力を詳細化後も保つというDFDの整合性を満たさず、分割前のデータフローを完全には再現できません。
選択肢イ(正解)
これは正解だよ。プロセス1に入る二つの入力を子プロセスへ取り込み、子プロセス間で処理を受け渡しています。その結果、元のDFDにあったプロセス2およびプロセス3への二つの出力も保たれており、親プロセスと子プロセスの入出力が整合しています。
選択肢ウ
これは不正解だよ。二つの入力は子プロセス側へ渡されていますが、1-2は入力を受けた後の出力先がなく、処理の流れがそこで途切れています。子プロセスを含むDFDとしてデータの受渡しが完結せず、元のプロセス1の出力構造にも対応しません。
選択肢エ
これは不正解だよ。二つの入力は1-1へ入りますが、1-2には入力データフローがなく、1-2がどのデータを処理するのか示されていません。さらに、子プロセスの構成が親プロセスの入出力関係を自然に分解した形になっておらず、DFDの詳細化として不適切です。
学習のポイント
DFDの詳細化では、親子間の入出力の整合性を保つことが重要です。
出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 システムアーキテクト試験 午前Ⅱ 問2(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針