モジュール分割と凝集度・結合度の全体像
良いモジュール分割では、各モジュールの内部は一つの目的へまとまり、モジュール間の依存は小さい。つまり凝集度は高く、結合度は低い状態を目指す。
この単元で学ぶこと
- モジュール分割の意味と役割を説明できる
- 凝集度の意味と役割を説明できる
- 結合度の意味と役割を説明できる
- 凝集度と結合度の方向性からモジュール独立性を評価できる
本文解説
凝集度はモジュール内部の処理がどれだけ一つの責務へまとまっているか、結合度はモジュール同士がどれだけ強く依存しているかを見る。独立性が高いほど変更の影響を局所化しやすい。
モジュール分割 処理を責務ごとの単位へ分ける設計。 理解・テスト・保守・再利用をしやすくする。
凝集度 一つのモジュール内部の処理の関連の強さ。 高いほど一つの責務へまとまりやすい。
結合度 モジュール間の依存関係の強さ。 低いほど独立性が高い。
高凝集 関連する処理が同じ目的のもとに集まる状態。 変更理由が少なくなる。
疎結合 他モジュールの内部状態へ依存せず明確なインタフェースで連携する状態。 変更波及を小さくしやすい。
内部のまとまり=凝集度、外部依存=結合度。高凝集・低結合が基本。
一つのモジュールが印刷・認証・売上集計を全部担当すると凝集度が低くなりやすい。
図解
重要ポイント
- モジュール分割: 処理を責務ごとの単位へ分ける設計。
- 凝集度: 一つのモジュール内部の処理の関連の強さ。
- 結合度: モジュール間の依存関係の強さ。
- 高凝集: 関連する処理が同じ目的のもとに集まる状態。
- 凝集度は高いほど、結合度は低いほど一般に独立性が高い。
間違えやすい点
- 凝集度と結合度の良い方向を逆にしない。
- 機能数が多いことを高凝集とみなさない。
- 共有グローバル変数依存を疎結合と考えない。
用語解説
- モジュール分割
- 処理を責務ごとの単位へ分ける設計。
- 凝集度
- 一つのモジュール内部の処理の関連の強さ。
- 結合度
- モジュール間の依存関係の強さ。
- 高凝集
- 関連する処理が同じ目的のもとに集まる状態。
- 疎結合
- 他モジュールの内部状態へ依存せず明確なインタフェースで連携する状態。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。