モジュール結合度|科目A-1(応用情報技術者) 令和6年 春期午前試験 問46

出典:令和6年春期 午前 問46 分野:システム開発技術 / 設計
モジュール結合度に関する記述のうち,適切なものはどれか。
  • ア:あるモジュールがCALL命令を使用せずにJUMP命令でほかのモジュールを呼び出すとき,このモジュール間の関係は,外部結合である。
  • イ:実行する機能や論理を決定するために引数を受け渡すとき,このモジュール間の関係は,内容結合である。
  • ウ:大域的な単一のデータ項目を参照するモジュール間の関係は,制御結合である。
  • エ:大域的なデータを参照するモジュール間の関係は,共通結合である。
解説

モジュール結合度とは、モジュール同士がどの程度強く依存しているかを表すものです。一般に、結合度が弱いほどモジュールの独立性が高く、変更や保守がしやすくなります。

モジュール結合度は、弱いものから強いものへ、次のように分類できます。

  • データ結合(弱い↑):処理に必要なデータだけを、単一のパラメータとして受け渡します。
  • スタンプ結合:処理に必要なデータを、レコードや構造体などのデータ構造として受け渡します。
  • 制御結合:モジュールの動作を制御するためのフラグや制御情報を受け渡します。
  • 外部結合:大域宣言された単一のデータ項目を、複数のモジュールが参照します。
  • 共通結合:大域宣言されたレコードや構造体などのデータ構造を、複数のモジュールが参照します。
  • 内容結合(強い↓):あるモジュールが、別のモジュールの内部処理や内部データを直接参照・使用します。

選択肢エの「大域的なデータを参照するモジュール間の関係」は、共通領域に置かれたデータを複数モジュールで共有する関係を表しているため、共通結合に該当します。

したがって、エが適切です。

❌他選択肢が誤りの理由
ア:あるモジュールがCALL命令を使用せずにJUMP命令でほかのモジュールを呼び出すとき,このモジュール間の関係は,外部結合である。
⇒他モジュールの内部へJUMP命令で直接入り込むような関係は、内容結合に該当します。外部結合は、大域宣言された単一のデータ項目を複数のモジュールが参照する関係です。
イ:実行する機能や論理を決定するために引数を受け渡すとき,このモジュール間の関係は,内容結合である。
⇒実行する処理を決めるためのフラグや制御情報を引数として渡す関係は、制御結合です。内容結合は、他モジュールの内部処理や内部データを直接参照する、より強い結合です。
ウ:大域的な単一のデータ項目を参照するモジュール間の関係は,制御結合である。
⇒大域宣言された単一のデータ項目を複数のモジュールが参照する関係は、外部結合です。制御結合は、モジュールの動作を決めるための制御情報を受け渡す関係です。
TSUNAGARU-ADVICE

まず押さえたいこと

モジュール結合度は、モジュール同士がどのような情報や制御を共有しているかによって分類します。大域的なデータを複数のモジュールが共有して参照・利用する関係は、共通結合と呼ばれます。

迷ったときの判断軸

実行する処理を決めるための制御情報を引数で渡すのは制御結合、ほかのモジュール内部へ直接入り込むような関係は内容結合です。「複数モジュールが大域データを共有する」なら共通結合と整理しましょう。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、モジュール結合度を変更影響の広がりや保守性と結び付けて理解しましょう。一般に結合度が低いほど、モジュール間の依存が小さくなり、変更やテストがしやすい設計につながります。