モジュール分割と凝集度・結合度の全体像

良いモジュール分割では、各モジュールの内部は一つの目的へまとまり、モジュール間の依存は小さい。つまり凝集度は高く、結合度は低い状態を目指す。

この単元で学ぶこと

  • モジュール分割の意味と役割を説明できる
  • 凝集度の意味と役割を説明できる
  • 結合度の意味と役割を説明できる
  • 凝集度と結合度の方向性からモジュール独立性を評価できる

本文解説

凝集度はモジュール内部の処理がどれだけ一つの責務へまとまっているか、結合度はモジュール同士がどれだけ強く依存しているかを見る。独立性が高いほど変更の影響を局所化しやすい。

モジュール分割 処理を責務ごとの単位へ分ける設計。 理解・テスト・保守・再利用をしやすくする。

凝集度 一つのモジュール内部の処理の関連の強さ。 高いほど一つの責務へまとまりやすい。

結合度 モジュール間の依存関係の強さ。 低いほど独立性が高い。

高凝集 関連する処理が同じ目的のもとに集まる状態。 変更理由が少なくなる。

疎結合 他モジュールの内部状態へ依存せず明確なインタフェースで連携する状態。 変更波及を小さくしやすい。

内部のまとまり=凝集度、外部依存=結合度。高凝集・低結合が基本。

一つのモジュールが印刷・認証・売上集計を全部担当すると凝集度が低くなりやすい。

図解

高凝集・低結合のモジュール設計
内部のまとまりとモジュール間依存を別軸で評価する。

重要ポイント

  • モジュール分割: 処理を責務ごとの単位へ分ける設計。
  • 凝集度: 一つのモジュール内部の処理の関連の強さ。
  • 結合度: モジュール間の依存関係の強さ。
  • 高凝集: 関連する処理が同じ目的のもとに集まる状態。
  • 凝集度は高いほど、結合度は低いほど一般に独立性が高い。

間違えやすい点

  • 凝集度と結合度の良い方向を逆にしない。
  • 機能数が多いことを高凝集とみなさない。
  • 共有グローバル変数依存を疎結合と考えない。

用語解説

モジュール分割
処理を責務ごとの単位へ分ける設計。
凝集度
一つのモジュール内部の処理の関連の強さ。
結合度
モジュール間の依存関係の強さ。
高凝集
関連する処理が同じ目的のもとに集まる状態。
疎結合
他モジュールの内部状態へ依存せず明確なインタフェースで連携する状態。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。