モジュール結合

ソフトウェア工学では、結合はソフトウェアモジュール間の相互依存の度合いです。 密に結合された2つのモジュールは、互いに強く依存し合っている。 しかし、疎結合である2つのモジュールは、互いに依存しない。

カップリング技術のさまざまなタイプを図に示す。

良い設計とは、カップリングが低いものである。 結合は、モジュール間の関係の数によって測定される。 すなわち、モジュール間の呼び出し回数が増えたり、共有データの量が多くなると結合度は高くなる。 したがって、カップリングが高い設計はエラーが多くなるといえる。

モジュール結合の種類

1. 直接結合なし。

この場合、モジュールは異なるモジュールの下位に位置することになります。 従って、直接結合はない。

2. データ結合。 あるモジュールのデータを別のモジュールに渡すことをデータ結合という。

3. スタンプ結合。 2つのモジュールが構造体、オブジェクトなどの複合データ項目を使用して通信する場合、スタンプ結合となる。 モジュールが非グローバルデータ構造あるいは構造体全体を他のモジュールに渡す場合、スタンプ結合と言われる。 例えば、C言語の構造体変数やC++言語のオブジェクトをモジュールに渡すこと。

4. コントロールカップリング あるモジュールのデータが、別のモジュールの命令実行の構造を指示するために使用される場合、2つのモジュール間に制御結合が存在する。 外部結合。 外部結合:2つのモジュールが外部からのデータ形式、通信プロトコル、またはデバイス・インターフェイスを共有する場合に発生します。 これは、外部のツールやデバイスとの通信に関連するものである。 2つのモジュールがいくつかのグローバルデータ項目を通じて情報を共有する場合、共通結合となる。

7. コンテンツ結合

Module Cohesion

コンピュータプログラミングでは、結束はモジュールの要素が一緒に属している程度に定義されます。 従って、凝集性は与えられたモジュール内の機能の断片間の関係の強さを測定する。 たとえば、凝集性の高いシステムでは、機能は強く関連しています。

凝集性は測定の序数タイプで、一般に「高い凝集性」または「低い凝集性」として記述されます。

Types of Modules Cohesion

  1. Functional Cohesion。 モジュールの異なる要素が協力して1つの機能を達成する場合、機能的な結合が存在すると言われる。 モジュールの要素がシーケンスのコンポーネントを形成し、シーケンスの1つのコンポーネントからの出力が次のコンポーネントへの入力である場合、モジュールはシーケンシャルな結合を有すると言われる。 モジュールのすべてのタスクが同じデータ構造、例えば配列やスタックに定義された関数の集合を参照または更新する場合、モジュールは通信的結合を持つとされる。 モジュールの目的の集合が、例えばメッセージを解読するアルゴリズムのように、ある目的を達成するために特定のステップのシーケンスを実行しなければならない手順のすべての部分である場合、モジュールは手続き的結合であると言われる。 モジュールが、すべてのメソッドが同時に実行されなければならないという事実によって関連付けられた機能を含むとき、そのモジュールは時間的凝集性を示すと言われる。 モジュールのすべての要素が同様の操作を行う場合、モジュールは論理的凝集性を持つという。 例えば、エラー処理、データ入力とデータ出力など。
  2. Coincidental Cohesion (偶然の結合) (偶然の結合)。 モジュールは、もしそうであったとしても、互いに非常に緩やかに関連する一連のタスクを実行する場合、偶然的な結合を持つと言われる。

Differentiate between Coupling and Cohesion

Coupling Cohesion
Coupling is also called Inter-Module Binding. Cohesion is also called Intra-Module Binding.これは結合と呼ばれ、モジュール間結合を意味します。
結合はモジュール間の関係を示します。 結合はモジュール内の関係を示します。
結合では、モジュールは他のモジュールにリンクされている。 結合では、モジュールは単一のことに焦点を当てている。

コメントを残す

メールアドレスが公開されることはありません。