モジュール分割と凝集度・結合度の違いと使い分け
凝集度と結合度は「モジュール独立性」を別方向から見る指標である。凝集度は内部、結合度は外部関係を評価する。
この単元で学ぶこと
- 内部評価の意味と役割を説明できる
- 外部評価の意味と役割を説明できる
- 変更局所化の意味と役割を説明できる
- 設計例から凝集度と結合度のどちらの改善かを判断できる
本文解説
高凝集では変更理由がモジュール内でまとまり、低結合では他モジュールの変更を受けにくい。二つを同時に改善する設計が保守性・再利用性を高めやすい。
内部評価 凝集度でモジュール内部の処理関連を評価する。 責務が一つへまとまるほど良い。
外部評価 結合度でモジュール間依存を評価する。 必要最小限のインタフェースが望ましい。
変更局所化 一つの変更が少数モジュールに留まる性質。 高凝集・低結合で実現しやすい。
再利用性 他環境へ持ち出して使いやすい性質。 不要依存が少ない方が高い。
テスト容易性 単独で入力・出力を検証しやすい性質。 外部依存が少ないほど単体テストしやすい。
モジュール内の責務整理なら凝集度、モジュール間の受渡し整理なら結合度と分類する。
「認証と請求を別モジュールに分ける」は凝集度改善、「共有変数を引数へ変更」は結合度改善。
図解
重要ポイント
- 内部評価: 凝集度でモジュール内部の処理関連を評価する。
- 外部評価: 結合度でモジュール間依存を評価する。
- 変更局所化: 一つの変更が少数モジュールに留まる性質。
- 再利用性: 他環境へ持ち出して使いやすい性質。
- 高凝集と低結合はセットで考える。
間違えやすい点
- 凝集度を低くするのが良いと逆に覚えない。
- 結合度を高くして連携を強めるのが良いと考えない。
- 分割数を増やせば自動的に独立性が上がると考えない。
用語解説
- 内部評価
- 凝集度でモジュール内部の処理関連を評価する。
- 外部評価
- 結合度でモジュール間依存を評価する。
- 変更局所化
- 一つの変更が少数モジュールに留まる性質。
- 再利用性
- 他環境へ持ち出して使いやすい性質。
- テスト容易性
- 単独で入力・出力を検証しやすい性質。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。