Mike Gancarz 「正しく」やっている時間などない
モジュールの独立性を高めるには, モジュール結合度を低くする必要がある。モジュール間の情報の受渡し方法のうち, モジュール結合度が最も低いものはどれか。
選択肢 | |
---|---|
ア | 共通域に定義したデータを関係するモジュールが参照する。 |
イ | 制御パラメタを引数として渡し, モジュールの実行順序を制御する。 |
ウ | データ項目だけをモジュール間の引数として渡す。 |
エ | 必要なデータを外部宣言して共有する。 |
モジュール結合度(Cohesion)は、ソフトウェアモジュール内の要素が互いにどれだけ関連しているかを示す概念です。
結合度が低いほど、モジュールは単一の明確な役割を果たし、独立性が高まります。
以下に、提供された情報に基づいて各アプローチを説明し、結合度の低い順に並べます。
ウ (Data Coupling - データ結合度)
データ項目だけをモジュール間の引数として渡す方法です。このアプローチでは、モジュールは他のモジュールにデータを提供し、他のモジュールはそのデータを使用します。結合度が比較的低い方法であり、モジュールはデータを共有するだけで、内部のロジックや制御には直接的な影響を与えません。
エ (External Coupling - 外部結合度)
必要なデータを外部宣言して共有する方法です。モジュールが外部で宣言されたデータを共有し、他のモジュールがそれにアクセスします。これも結合度が低い方法であり、モジュールは共有データにアクセスするだけで、内部のロジックや制御には直接的な影響を与えません。
イ (Control Coupling - 制御結合度)
制御パラメタを引数として渡し、モジュールの実行順序を制御する方法です。このアプローチでは、モジュール間で制御情報が共有され、一つのモジュールが他のモジュールの動作を直接制御します。結合度は中程度で、制御情報の共有により、モジュール間の依存性が存在します。
ア (Common Coupling - 共通結合度)
共通域に定義したデータを関係するモジュールが参照する方法です。このアプローチでは、共通のデータ領域を使用し、複数のモジュールがそのデータを読み書きします。結合度が高く、モジュールは共有データに依存しており、他のモジュールと強く結びついています。
結合度の低い順に並べると、次のようになります。
ウ (Data Coupling - データ結合度)
エ (External Coupling - 外部結合度)
イ (Control Coupling - 制御結合度)
ア (Common Coupling - 共通結合度)
データ結合度と外部結合度は結合度が低く、モジュールの独立性を高めます。
制御結合度は中程度の結合度であり、共通結合度は結合度が高く、モジュールの独立性が低い傾向があります。
関連資料: