AUシステム監査技術者試験 午前Ⅰ
平成28年度春期 システム監査技術者 午前Ⅰ 問17
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア単一のデータ項目を大域的データで受け渡す。
- イ単一のデータ項目を引数で受け渡す。
- ウデータ構造を大域的データで受け渡す。
- エデータ構造を引数で受け渡す。
解き方のヒントを見る
結合度と受渡しを考える視点
モジュール間の関係を考えるときは、情報の受け渡し方だけに注目せず、各部品の役割や依存の広がりを同じ基準で見比べ、設計上のまとまりと変更時の影響を丁寧に整理します。
この問題で問われていること
この問題では、受け渡される情報の扱いとモジュール同士の依存関係が、全体の理解しやすさや変更の影響範囲とどう関係するかという一点に絞って確認します。周辺の用語や個別の選択肢は別の観点として扱います。
視点
モジュール結合度を整理するときは、個々の用語を暗記するより、どの情報が境界を越え、どの範囲の責任や依存が共有されているかを観察します。受渡しの形と設計上のまとまりを同じ観点で比較し、変更時の影響を考えると整理しやすくなります。
確認ポイント
- 各モジュールの責任範囲と、境界を越えて扱われる情報を対応づける。
- 情報の受渡しが、どの範囲の依存関係を生じさせるかを確認する。
- 変更や再利用のしやすさを、モジュール間の関係の広がりから考える。
正解と解説を見る
正解
イ
解説
モジュールの結合度が最も低いのは、必要な単一のデータ項目だけを引数として受け渡す方法です。大域的データの共有やデータ構造全体の受渡しは、依存関係を強めます。
理由
単一のデータ項目を引数で渡す方法は、モジュール間で共有する情報を必要最小限に限定できます。そのため、相手モジュールの内部状態や不要なデータ構造への依存が少なく、結合度が最も低くなります。
比較
大域的データを使うと複数のモジュールが同じ領域に依存します。また、データ構造を渡すと構造全体やその変更にも影響を受けます。したがって、共有範囲が広い方法や受渡し情報が多い方法ほど結合度は高くなります。
選択肢ア
これは不正解だよ。単一のデータ項目であっても、大域的データとして共有すると、モジュールが共通のデータ領域に依存します。値の変更や利用状況が他のモジュールにも影響しやすく、引数で限定的に渡す方法より結合度が高くなります。
選択肢イ(正解)
これは正解だよ。単一のデータ項目を引数で受け渡すと、モジュール間で共有する情報を必要な値だけに限定できます。大域的な共有領域やデータ構造全体への依存がないため、提示された方法の中で結合度が最も低くなります。
選択肢ウ
これは不正解だよ。データ構造を大域的データで受け渡す方法は、共通のデータ領域と構造全体の両方に依存します。利用しない項目まで影響を受ける可能性があり、単一項目を限定的に渡す方法より結合度が高くなります。
選択肢エ
これは不正解だよ。データ構造を引数で受け渡すため、大域的データを共有する方法より依存範囲は限定されます。しかし、構造全体や複数の項目に依存するので、単一のデータ項目だけを引数で渡す方法より結合度が高くなります。
学習のポイント
データ結合、スタンプ結合、共通結合の違いを、受渡し範囲とデータ量で整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成28年度春期 システム監査技術者試験 午前Ⅰ 問17(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針