令和5年度 春期 応用情報技術者試験 午前 問46
モジュールの独立性を高めるには,モジュール結合度を低くする必要がある。モジュール間の情報の受渡し方法のうち,モジュール結合度が最も低いものはどれか。
解答・解説
正解: ウ. 入出力に必要なデータ項目だけをモジュール間の引数として渡す。
モジュールの独立性を高め、保守性や再利用性を向上させるためには、モジュール結合度を低く(弱く)する必要があります。モジュール結合度とは、モジュール同士の結びつきの強さを表す指標です。
結合度の強さは、弱い(独立性が高い)順に以下のようになります。
データ結合: 必要なデータ項目(単一の変数)だけを引数として渡す。
スタンプ結合: データ構造(レコードや配列など)を引数として渡す。
制御結合: 制御用のパラメータ(フラグなど)を渡し、相手の実行順序や処理を制御する。
外部結合: 外部宣言された単一のデータを複数のモジュールで共有する。
共通結合: 共通域(グローバル領域など)に定義されたデータ構造を複数のモジュールで共有する。
内容結合: 他のモジュールの内部状態を直接参照・変更する。
本設問では、この中で最も結合度が低い(弱い)ものを選択します。
各選択肢の解説
ア:誤り。「共通域に定義したデータを関係するモジュールが参照する」は共通結合に該当し、結合度は高い(強い)です。
イ:誤り。「制御パラメータを引数として渡し,モジュールの実行順序を制御する」は制御結合に該当します。
ウ:正解。「入出力に必要なデータ項目だけをモジュール間の引数として渡す」はデータ結合に該当し、選択肢の中で最も結合度が低い(独立性が高い)です。
エ:誤り。「必要なデータを外部宣言して共有する」は外部結合に該当します。