モジュール結合度とは?
モジュール間の依存度の強さを示す指標。結合度が低いほど独立性が高く保守性・再利用性に優れる
詳細解説
モジュール結合度(Module Coupling)は、ソフトウェアを構成するモジュール(機能単位)同士がどれほど互いに依存しているかを示す指標で、「低結合(疎結合)」が設計の理想とされます。結合度が高い(密結合)とあるモジュールの変更が別のモジュールに波及しやすく、保守・テスト・再利用が困難になります。ConstantineとYourdonが定義した結合度の強さは次の6段階で、上が最も強い(悪い)・下が最も弱い(良い)結合です。内部結合(Content Coupling):別モジュールの内部データ・制御フローに直接アクセス。最も強い悪い結合。共通結合(Common Coupling):複数モジュールがグローバル変数・共有データ領域を参照。外部結合(External Coupling):外部インターフェース(ファイル・デバイス形式)を共有。制御結合(Control Coupling):制御フラグをモジュール間でやり取りする。スタンプ結合(Stamp Coupling):複合データ構造(構造体・オブジェクト)の一部のみを使う形で渡す。データ結合(Data Coupling):必要なデータのみをパラメータとして渡す。最も弱い良い結合。低結合の設計は保守性向上(変更の影響範囲が限定される)・テスト容易性(モジュールを独立してテストできる)・再利用性(他システムへの流用が容易)につながります。結合度と対になる指標が「凝集度(Cohesion)」で、モジュール内部の機能の一体性を表します。高凝集+低結合が良い設計の基本原則です。ITパスポートでは「結合度の定義」「データ結合が最も弱い」「低結合・高凝集の意味」が出題されます。
ITパスポートでの出題ポイント
- 1結合度が低い(疎結合)ほど保守性・再利用性が高い設計
- 2データ結合(必要データのみパラメータ渡し)が最も弱く理想的
- 3内部結合(他モジュールの内部に直接アクセス)が最も強く最悪
- 4高凝集(モジュール内機能の一体性)+低結合がソフトウェア設計の基本原則