目次
1. モジュールの独立性
定義: ソフトウェア システム内の各モジュールは、ソフトウェアが必要とする特定のサブ機能のみを含み、ソフトウェア システム内の他のモジュールとのインターフェイスは単純であることを意味します。
モジュールの独立性に関する指標:モジュール間の結合とモジュール間の結束
カップリング: モジュール間の相互接続の堅さの尺度です。(モジュール間の接続が近いほど、接続が多くなり、結合が高くなり、モジュールの独立性が弱くなります)
結束: モジュールの機能強度 (モジュール内の要素が互いに結合されている度合い) の尺度です。(モジュール内のさまざまな要素間の接続が緊密であるほど、その凝集性が高くなり、相対的に他のモジュールとの結合が低くなり、モジュールの独立性が強くなります)
モジュールの独立性が高いモジュールは、凝集度が高く、結合度が低いモジュールである必要があります。
2.カップリング
カップリングは、プログラムの構造内でモジュールが互いにどのように関連しているかの尺度であり、モジュール間のインターフェースの複雑さ、モジュールの呼び出し方法、およびインターフェースを通過する情報のタイプに依存します。
(1)間接結合: 2 つのモジュール間に直接的な関係はなく、それらの間の接続は、メイン モジュールの制御と呼び出しによって完全に実現されます。間接結合モジュールは最も独立性が高い
(2)データ結合:モジュールが別のモジュールにアクセスするとき、単純なデータ パラメーター (制御パラメーター、公開データ構造、または外部変数ではない) を介して相互に入力および出力情報を交換します。
(3)マーカー結合:モジュールのグループは、パラメーター テーブルを介してレコード情報を転送します。これがマーカー結合です。
(4) 制御結合:あるモジュールから別のモジュールに渡されるパラメーターに、受け入れ側モジュールの実行ロジックを制御するために使用される制御情報が含まれている場合、それらの間の結合は制御結合と呼ばれます。
(5)外部結合:モジュールのグループがすべて、同じグローバル データ構造ではなく、同じグローバル単純変数にアクセスし、グローバル変数の情報がパラメーター テーブルを介して渡されない場合。
(6)公開結合: モジュールのグループがすべて同じ共通データ環境にアクセスする場合、それらの間の結合は公開結合と呼ばれます。共通データ環境は、グローバル データ構造、共有通信領域、メモリの共通カバレッジ領域などです。
(7)コンテンツカップリング:
1) あるモジュールが別のモジュールの内部データに直接アクセスします。
2) 1 つのモジュールが通常のエントリでは別のモジュール内に入らない。
3) 2 つのモジュールの一部のプログラム コードが重複しています。(アセンブリ言語でのみ可能)。
4) モジュールには複数のエントリがあります。
この結合は、モジュールの独立性の中で最も弱いものです。
3.結束
凝集度は、モジュールの要素が互いにどの程度緊密に結合されているかの尺度です。
(1) 偶発的凝集: モジュール内のさまざまな部分の間に接続がない場合、または接続があっても接続が非常に緩い場合、このモジュールは偶発的凝集モジュールと呼ばれ、最も低いモジュールです。凝集度。
(2)論理的結合:いくつかの関連する関数を結合し、呼び出されるたびに、モジュールに送信される判断パラメーターによって、モジュールが実行する関数が決定されます。
( 3) 時間集計: ほとんどの時間集計モジュールは多機能モジュールですが、モジュールの各機能の実行は時間に関連しており、通常、すべての機能を同じ時間内に実行する必要があります。例: モジュールの初期化とモジュールの終了
(4)プロセスの凝集性: モジュール内の処理が関連し、特定の順序で実行する必要がある場合、それはプロセスの凝集性です。
(5 ) 通信凝集性: モジュール内の各機能部分が同じ入力データを使用したり、同じ出力データを生成したりする場合、それは通信凝集性モジュールと呼ばれます。
(6)情報結合:このモジュールは複数の機能を完了し, 各機能は同じデータ構造で動作します. 各機能には一意のエントリポイントがあります. このモジュールは、さまざまな要件に従って実行する機能を決定します.
(7)機能的結束: モジュールの各部分は、特定の機能を完了するために不可欠な部分です。または、モジュールのすべての部分が連携して特定の機能を完了し、密接に接続され、切り離すことはできません。モジュールは、機能的凝集モジュールと呼ばれます。機能的にまとまったモジュールは、最高のまとまりを持っています。