Mike Gancarz 「正しく」やっている時間などない

blog image
令和5年 春期 AM1 問16

モジュールの独立性を高めるには, モジュール結合度を低くする必要がある。モジュール間の情報の受渡し方法のうち, モジュール結合度が最も低いものはどれか。

選択肢
共通域に定義したデータを関係するモジュールが参照する。
制御パラメタを引数として渡し, モジュールの実行順序を制御する。
データ項目だけをモジュール間の引数として渡す。
必要なデータを外部宣言して共有する。


解答:



ポイント:

モジュール結合度(Cohesion)は、ソフトウェアモジュール内の要素が互いにどれだけ関連しているかを示す概念です。

結合度が低いほど、モジュールは単一の明確な役割を果たし、独立性が高まります。

以下に、提供された情報に基づいて各アプローチを説明し、結合度の低い順に並べます。

  1. ウ (Data Coupling - データ結合度)
    データ項目だけをモジュール間の引数として渡す方法です。このアプローチでは、モジュールは他のモジュールにデータを提供し、他のモジュールはそのデータを使用します。結合度が比較的低い方法であり、モジュールはデータを共有するだけで、内部のロジックや制御には直接的な影響を与えません。

  2. エ (External Coupling - 外部結合度)
    必要なデータを外部宣言して共有する方法です。モジュールが外部で宣言されたデータを共有し、他のモジュールがそれにアクセスします。これも結合度が低い方法であり、モジュールは共有データにアクセスするだけで、内部のロジックや制御には直接的な影響を与えません。

  3. イ (Control Coupling - 制御結合度)
    制御パラメタを引数として渡し、モジュールの実行順序を制御する方法です。このアプローチでは、モジュール間で制御情報が共有され、一つのモジュールが他のモジュールの動作を直接制御します。結合度は中程度で、制御情報の共有により、モジュール間の依存性が存在します。

  4. ア (Common Coupling - 共通結合度)
    共通域に定義したデータを関係するモジュールが参照する方法です。このアプローチでは、共通のデータ領域を使用し、複数のモジュールがそのデータを読み書きします。結合度が高く、モジュールは共有データに依存しており、他のモジュールと強く結びついています。

    結合度の低い順に並べると、次のようになります。

  5. ウ (Data Coupling - データ結合度)

  6. エ (External Coupling - 外部結合度)

  7. イ (Control Coupling - 制御結合度)

  8. ア (Common Coupling - 共通結合度)

データ結合度と外部結合度は結合度が低く、モジュールの独立性を高めます。

制御結合度は中程度の結合度であり、共通結合度は結合度が高く、モジュールの独立性が低い傾向があります。



関連資料:


更新日:2023-09-08