モジュール結合度とは?もじゅーるけつごうど
モジュール結合度とは、モジュールが互いにどれだけ踏み込んでいるかを段階で表す尺度。踏み込みが浅いほど独立性が高く、片方を直しても影響が閉じる。浅い側から、引数で必要な項目だけを受け渡すデータ結合、構造体ごと手渡すスタンプ結合、動作指定のフラグを渡す制御結合、外部結合、グローバル変数を共有する共通結合、相手の内部を直接のぞく内容結合、という6段階に整理される。
最終更新:2026-10-06
この語が出る過去問を解く →背景
1本のプログラムを複数人で分担し、後から一部だけ差し替えるには、変更が閉じる境界が要る。ところが分けたつもりでもグローバル変数を共有していれば修正の影響は全体へ広がり、分割した意味が消える。そこで依存の強さを段階として言語化し、設計レビューの場で良し悪しを議論できるようにしたのがこの尺度である。組込みではハードウェア依存部を薄い層へ押し込められるかどうかが、そのまま移植性の差になる。
具体例
AUTOSARのMCAL(マイクロコントローラ抽象化層)やArmのCMSIS-Driverは、周辺回路の操作を引数だけで完結させ、上位層が特定チップのレジスタを直接触らない構成にしている。逆に処理内容を切り替えるフラグを引数で渡す作りは制御結合で、呼出し側が相手の内部分岐を知っている状態になる。
試験での引っ掛け
この尺度は「低いほど良い」向きで、最も望ましいのはデータ結合。同じモジュール分割の評価でも凝集度は「高いほど良い」向き(機能的凝集が最良)なので、二つの向きを取り違えさせる選択肢が定番になる。構造体をまるごと渡すスタンプ結合は、使わない項目まで相手に見せているぶんデータ結合より弱く評価される点も押さえる。
関連用語
出た過去問
出典:令和2年度 10月試験 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問21(IPA)
モジュールの結合度が最も低い、データの受渡し方法はどれか。
正解:単一のデータ項目を引数で受け渡す。
要点:単一項目を引数で渡すデータ結合が最も結合度が低い
モジュール結合度は弱いほど独立性が高く、望ましい。大域的データを介したやり取りは共通結合となり結合度が高く、引数で受け渡す方が弱い結合になる。さらに引数の中でも、データ構造をまとめて渡すスタンプ結合より、必要な単一のデータ項目だけを渡すデータ結合のほうが結合度が低い。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。