令和5年度 春期 応用情報技術者試験 午前 問46

モジュールの独立性を高めるには,モジュール結合度を低くする必要がある。モジュール間の情報の受渡し方法のうち,モジュール結合度が最も低いものはどれか。

解答・解説

正解: ウ. 入出力に必要なデータ項目だけをモジュール間の引数として渡す。

モジュールの独立性を高め、保守性や再利用性を向上させるためには、モジュール結合度を低く(弱く)する必要があります。モジュール結合度とは、モジュール同士の結びつきの強さを表す指標です。

結合度の強さは、弱い(独立性が高い)順に以下のようになります。

  1. データ結合: 必要なデータ項目(単一の変数)だけを引数として渡す。

  2. スタンプ結合: データ構造(レコードや配列など)を引数として渡す。

  3. 制御結合: 制御用のパラメータ(フラグなど)を渡し、相手の実行順序や処理を制御する。

  4. 外部結合: 外部宣言された単一のデータを複数のモジュールで共有する。

  5. 共通結合: 共通域(グローバル領域など)に定義されたデータ構造を複数のモジュールで共有する。

  6. 内容結合: 他のモジュールの内部状態を直接参照・変更する。

本設問では、この中で最も結合度が低い(弱い)ものを選択します。

各選択肢の解説

  • ア:誤り。「共通域に定義したデータを関係するモジュールが参照する」は共通結合に該当し、結合度は高い(強い)です。

  • イ:誤り。「制御パラメータを引数として渡し,モジュールの実行順序を制御する」は制御結合に該当します。

  • ウ:正解。「入出力に必要なデータ項目だけをモジュール間の引数として渡す」はデータ結合に該当し、選択肢の中で最も結合度が低い(独立性が高い)です。

  • エ:誤り。「必要なデータを外部宣言して共有する」は外部結合に該当します。

Spineチーム