モジュール強度とは?ソフトウェア設計における結合度との違いも解説
モジュール強度とは、1つのモジュール(部品)がどれだけ単一の目的に集中しているかを表す指標です。ソフトウェア設計においては、「高いモジュール強度=良い設計」とされ、保守性や再利用性の向上に直結します。
情報処理技術者試験でも頻出のテーマであり、「結合度」とあわせて理解することが重要です。
目次
モジュール強度の基本概念
モジュール強度は、英語でCohesion(コヒージョン)と呼ばれます。1つのモジュール内の要素がどれだけ密接に関連しているかを示します。
理想は「1つの明確な機能だけを持つモジュール」です。役割が明確であればあるほど、モジュール強度は高いと評価されます。
モジュール強度の種類(弱い順)
一般的に、以下の順番で強度が高くなります。
- 暗号的強度:無関係な処理の集合
- 論理的強度:似た種類の処理をまとめたもの
- 時間的強度:同じタイミングで実行される処理の集合
- 手順的強度:順番に実行される処理の集合
- 連絡的強度:同じデータを扱う処理の集合
- 情報的強度:同一データ構造に関連する複数の独立機能
- 機能的強度:単一の明確な機能のみを持つ(最も強い)
最も望ましいのは機能的強度です。
結合度との違い
モジュール強度と対になる概念が結合度(Coupling)です。
- モジュール強度:モジュール内部のまとまり具合(高いほど良い)
- 結合度:モジュール間の依存の強さ(低いほど良い)
理想的な設計は「高凝集・低結合」と表現されます。
なぜ重要なのか?
モジュール強度が高いと、次のようなメリットがあります。
- 修正の影響範囲が限定される
- 再利用しやすい
- テストが容易になる
- 可読性が向上する
逆に強度が低いと、仕様変更時にバグが発生しやすくなります。
まとめ
モジュール強度とは、モジュール内部の機能のまとまりの度合いを示す指標です。最も理想的なのは「機能的強度」であり、結合度を低く保つ設計とあわせて意識することが重要です。
基本情報技術者試験・応用情報技術者試験対策としても必須の知識ですので、種類と特徴を整理して理解しておきましょう。
コメント