独立性 |
凝集度 |
種類 |
説明 |
低 | 弱 | 暗号的凝集度 | プログラムを単純に分割しただけで、モジュールの機能を定義できない。または、複数の機能をあわせもつが、機能間にまったく関連はない。 |
論理的凝集度 | 関連した複数の機能をもち、モジュールが呼び出されるときの引数(機能コード)で、モジュール内の1つの機能が選択、実行される。 | ||
時間的凝集度 | 初期設定や終了設定モジュールのように、特定の時期に実行する機能をまとめたモジュール。モジュール内の機能間にあまり関連はない。 | ||
手順的凝集度 | 複数の逐次的に実行する機能をまとめたモジュール。 | ||
連絡的凝集度 | 手順的凝集度のうち、モジュール内の機能間にデータの関連性があるモジュール。 | ||
情報的凝集度 | 同一のデータ構造や資源を扱う機能を1つにまとめ、機能ごとに入口点と出口点をもつモジュール。 | ||
高 | 強 | 機能的凝集度 | 1つの機能だけからなるモジュール。 |
独立性 |
結合度 |
種類 |
説明 |
低 | 強 | 内容結合 | 絶対番地を用いて直接相手モジュールを参照したり、相手モジュールに直接分岐する。 |
共有結合 | 共通領域(グローバル領域)に定義されたデータを参照する。 | ||
外部結合 | 必要なデータだけを外部宣言し、ほかのモジュールから参照を許可し共有する。 | ||
制御結合 | 機能コードなど、モジュールを制御する要素を引数として相手モジュールに渡し、モジュールの機能や実行を制御する。モジュール凝集度の論理的凝集度がこれに相当する。 | ||
スタンプ結合 | 相手モジュールで、構造体データ(レコード)の一部を使用する場合でも、構造体データすべてを引数として相手モジュールに渡す。 | ||
高 | 弱 | データ結合 | 相手モジュールをブラックボックスとして扱い、必要なデータだけを引数として渡す。 |
番号 |
リンク先の名称 |
リンク先の説明 |
リンクした日 |
1 |
設計におけるオブジェクトの責務分配に有効なものさし -凝集度と結合度- | 株式会社オージス総研のオブジェクトの広場の中のページです。 結構いろいろ書いてあります。 まずはここを見て。 |
2007/4/28 |
2 |
凝集度 - Wikipedia | モジュールの凝集度についての説明と、ソフトウエアを設計する際にどのような凝集度が良いのかが書かれています。 | 2007/4/28 |
3 |
凝集度と結合度 | モジュールの凝集度とモジュールの結合度の説明があります。 | 2007/4/28 |
4 |
ソフトウェア品質特性 | ソフトウェア品質特性(ISO/IEC9126)の解説が書かれています。 | 2007/8/18 |
5 |
【中級】基礎からのオブジェクト指向 第5部 「GRASPパターン」を理解する(前編):ITpro | GRASPパターンについての簡単な説明と、その基本となる概念である結合度と凝集度について説明しています。 | 2008/3/16 |