令和4年度 春期 システムアーキテクト試験 午前II 問6
モジュール間のデータの受渡し方法のうち,最も低いモジュール結合度となるものはどれか。
解答・解説
正解: イ. 単一のデータ項目を引数で受け渡す。
モジュール結合度とは、モジュール間の関連性の強さを表す指標であり、結合度が低いほどモジュールの独立性が高く、保守性や再利用性が高まるため望ましいとされています。
モジュール結合度は、結合度が低い(弱い)順に以下のように分類されます。
- データ結合: 必要な単一のデータ項目を引数として受け渡す
- スタンプ結合: 必要なデータ構造(レコードや配列など)を引数として受け渡す
- 制御結合: モジュールの制御要素(フラグなど)を引数として受け渡す
- 外部結合: 外部宣言された単一のデータ項目(大域的データ)を共有する
- 共通結合: 大域的なデータ構造(共通域)を共有する
- 内容結合: 他のモジュールの内部を直接参照・変更する
このうち、最も結合度が低いのはデータ結合であり、「単一のデータ項目を引数で受け渡す」方法です。
各選択肢の解説
- ア: 単一のデータ項目を大域的データで受け渡す方式は、外部結合に該当します。大域的データを共有するため結合度が高くなります。
- イ: 単一のデータ項目を引数で受け渡す方式は、データ結合に該当します。選択肢の中で最もモジュール結合度が低くなります。
- ウ: データ構造を大域的データで受け渡す方式は、共通結合に該当します。大域的なデータ構造を共有するため結合度が非常に高くなります。
- エ: データ構造を引数で受け渡す方式は、スタンプ結合に該当します。引数を用いるため大域的データよりは結合度が低いですが、データ結合に比べると不要なデータまで渡す可能性があるため結合度が高くなります。