応用情報技術者令和6年春期 午前問46

問46

モジュール結合度に関する記述のうち,適切なものはどれか。
  • あるモジュールがCALL命令を使用せずにJUMP命令でほかのモジュールを呼び出すとき,このモジュール間の関係は,外部結合である。
  • 実行する機能や論理を決定するために引数を受け渡すとき,このモジュール間の関係は,内部結合である。
  • 大域的な単一のデータ項目を参照するモジュール間の関係は,制御結合である。
  • 大域的なデータを参照するモジュール間の関係は,共通結合である。
  • [出題歴]
  • ソフトウェア開発技術者 H20秋期 問45

分類

テクノロジ系 » システム開発技術 » ソフトウェア方式設計・詳細設計

正解

解説

モジュール結合度は、モジュール同士の関連性の強さを示す概念です。モジュール同士の結合度合いが強ければ、関連するモジュールに変更があった場合の影響は大きく、反対に結合度が弱ければ影響を受けにくくなります。独立性と保守性の観点から、モジュール分割の際にはモジュール結合度が低くなるように設計することが望まれます。

モジュール結合度の強弱は、モジュール間のデータの受渡し方法などにより6段階のレベルに分類されています。
データ結合(弱い↑)
処理に必要なデータだけを単一のパラメータとして受け渡している
スタンプ結合
処理に必要なデータだけをレコードや構造体などのデータ構造として受け渡している
制御結合
モジュールの動作を制御するための要素を受け渡している
外部結合
大域宣言された単一のデータを、複数のモジュールが参照している
共通結合
大域宣言されたレコードや構造体などのデータ構造を、複数のモジュールが参照している
内容結合(強い↓)
モジュールの内部を直接参照・使用している
  • アセンブラレベルの話になりますが、CALL命令は呼出し元の戻りアドレスや変数をスタックに退避してから指定のラベルまで移動するのに対し、JUMP命令は単に指定のラベルまで移動するだけです。JUMP命令でのモジュール呼出しは、呼出し元が別のモジュールの内部コードを直接使用することに相当し、また呼出し先のモジュールは、呼出し元の変数をそのまま使って処理を行うことになるので内部結合に当たります。
  • モジュールの動作を制御するための要素を受け渡しているので、制御結合に当たります。
  • 大域的な単一のデータ(いわゆるグローバル変数)を参照しているので、外部結合に当たります。
  • 正しい。大域的なデータを参照していて、そのデータが単一ではない場合、共通結合に当たります。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop