令和4年度 春期 システムアーキテクト試験 午前II 問6

モジュール間のデータの受渡し方法のうち,最も低いモジュール結合度となるものはどれか。

解答・解説

正解: イ. 単一のデータ項目を引数で受け渡す。

モジュール結合度とは、モジュール間の関連性の強さを表す指標であり、結合度が低いほどモジュールの独立性が高く、保守性や再利用性が高まるため望ましいとされています。

モジュール結合度は、結合度が低い(弱い)順に以下のように分類されます。

  1. データ結合: 必要な単一のデータ項目を引数として受け渡す
  2. スタンプ結合: 必要なデータ構造(レコードや配列など)を引数として受け渡す
  3. 制御結合: モジュールの制御要素(フラグなど)を引数として受け渡す
  4. 外部結合: 外部宣言された単一のデータ項目(大域的データ)を共有する
  5. 共通結合: 大域的なデータ構造(共通域)を共有する
  6. 内容結合: 他のモジュールの内部を直接参照・変更する

このうち、最も結合度が低いのはデータ結合であり、「単一のデータ項目を引数で受け渡す」方法です。

各選択肢の解説

  • ア: 単一のデータ項目を大域的データで受け渡す方式は、外部結合に該当します。大域的データを共有するため結合度が高くなります。
  • イ: 単一のデータ項目を引数で受け渡す方式は、データ結合に該当します。選択肢の中で最もモジュール結合度が低くなります。
  • ウ: データ構造を大域的データで受け渡す方式は、共通結合に該当します。大域的なデータ構造を共有するため結合度が非常に高くなります。
  • エ: データ構造を引数で受け渡す方式は、スタンプ結合に該当します。引数を用いるため大域的データよりは結合度が低いですが、データ結合に比べると不要なデータまで渡す可能性があるため結合度が高くなります。

Spineチーム