SAシステムアーキテクト試験 午前Ⅰ
令和5年度春期 システムアーキテクト 午前Ⅰ 問16
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア共通域に定義したデータを関係するモジュールが参照する。
- イ制御パラメータを引数として渡し、モジュールの実行順序を制御する。
- ウ入出力に必要なデータ項目だけをモジュール間の引数として渡す。
- エ必要なデータを外部宣言して共有する。
解き方のヒントを見る
結合度と受渡し方式の見直し方
モジュール間の関係を考えるときは、受け渡される情報だけでなく、どの範囲に依存が広がり、変更時の確認対象がどう増減するかを軸に整理します。用語の印象だけで判断せず、境界と影響範囲を順に確認しましょう。
この問題で問われていること
各方式を個別に暗記するのではなく、情報の受け渡しがモジュール間の依存関係と変更の波及範囲にどのような違いを生むか、という一つの観点から比較し、関係を整理してください。
視点
結合度を評価するときは、モジュール同士が何に依存しているか、受け渡しの境界がどこにあるか、片方の変更が他方へ及ぼす影響を順に確認します。名称の連想ではなく、依存の広がりと保守時の確認範囲を同じ基準で見比べることが大切です。
確認ポイント
- 依存関係がどの対象に及んでいるかを確認する
- 受け渡しの境界が明確かを確認する
- 変更時に影響を確認する範囲を確認する
正解と解説を見る
正解
ウ
解説
モジュール結合度を最も低くできるのは、モジュールの入出力に必要なデータ項目だけを引数として明示的に渡す方法です。余分な共有や制御情報への依存がなく、変更の影響を局所化しやすい。
理由
必要なデータ項目だけを引数で渡す方法は、呼び出し側と呼び出される側の関係を入出力データに限定する。このようなデータ結合は、相手の内部構造や実行順序に依存しにくく、モジュールの独立性を高める。
比較
共通域や外部宣言による共有は、複数モジュールが同じデータ領域の構造や内容に依存するため結合度が高くなる。また、制御パラメータを渡す方法は、受け取った値によって相手の処理手順を左右するため、単なるデータ受渡しより依存関係が強い。
選択肢ア
これは不正解だよ。共通域に定義したデータを関係するモジュールが参照すると、複数のモジュールが共有データの存在や構造、内容に依存する。データ定義を変更した場合に参照側へ影響が及びやすく、必要な情報だけを引数で渡す方法より結合度が高い。
選択肢イ
これは不正解だよ。制御パラメータを引数として渡す方法は、単に処理対象のデータを受け渡すだけでなく、受け取った値によってモジュールの実行順序や処理経路を制御する。呼出し側が相手の制御方法に依存するため、結合度は最も低くならない。
選択肢ウ(正解)
これは正解だよ。入出力に必要なデータ項目だけを引数として渡す方法は、モジュール間の関係を必要最小限のデータ受渡しに限定できる。共通域や制御情報への依存がなく、変更の影響範囲も抑えやすいため、モジュール結合度が最も低い。
選択肢エ
これは不正解だよ。必要なデータを外部宣言して共有すると、複数モジュールが外部データの定義や記憶領域に依存することになる。共有データの形式や値を変更した際に各モジュールの修正が必要になりやすく、独立性を高める方法とはいえない。
学習のポイント
データ結合と、共有データ結合・制御結合の違いを整理する。
出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 システムアーキテクト試験 午前Ⅰ 問16(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針