マナビング基本情報技術者

モジュール結合度は受け渡す情報でどう判断するか

基本情報技術者試験 平成30年度秋期 午前 問48 / システム開発技術 › ソフトウェア方式設計・詳細設計

過去問にチャレンジ

平成30年度秋期 午前 問48

モジュール間の情報の受渡しがパラメータだけで行われる,結合度が最も弱いモジュール結合はどれか。

  1. ア

    共通結合

  2. イ

    制御結合

  3. ウ

    データ結合

  4. エ

    内容結合

会話形式の解説

講師講師
結合度は、モジュール同士の依存の強さです。この問題では、情報を何で渡すかに加えて、何を渡すかに注目します。
受験者受験者
パラメータで渡すなら、どれも同じくらい結び付きが弱いと思いました。
講師講師
パラメータの中身を確かめましょう。処理に必要なデータを渡す場合と、相手の処理を指示する場合は、依存の強さが違います。
受験者受験者
処理に必要なデータだけを渡すのが、データ結合ですか。
講師講師
そうです。データ結合は必要なデータ項目をパラメータで渡します。設問の条件に合い、選択肢の中で結合度が最も弱いので、正解はウです。
受験者受験者
制御結合もパラメータを使うなら、どこで区別しますか。
講師講師
相手の処理を指定する情報かどうかです。制御結合では、必要なデータだけを渡す場合より相手の処理に依存します。
受験者受験者
パラメータを使っていても、処理の指示なら制御結合になるのですね。共通結合はどうですか。
講師講師
共通結合では、複数のモジュールが同じデータ領域を利用します。パラメータだけで受渡しが完結する関係ではありません。
受験者受験者
内容結合は、相手の内部に関わるのでしょうか。
講師講師
はい。内容結合では別のモジュールの内部を直接参照します。相手の内部に依存するため、設問の条件に合いません。
受験者受験者
必要なデータをパラメータで渡すか、処理を指示するか、共有領域や内部を使うかで判断します。
講師講師
その見方で整理できます。結合度が弱いほど、一方の変更が他方に影響しにくくなります。

まとめ

モジュール結合度は、モジュール間の依存の強さを表します。データ結合は処理に必要なデータ項目をパラメータで渡すため、この選択肢の中で結合度が最も弱く、正解はウです。制御結合は相手の処理を指定する情報を渡し、共通結合は同じデータ領域を利用します。内容結合は相手の内部を直接参照します。

解答・解説

正解はウです

この問題のテーマ

モジュール間で何を受け渡すかから、結合度が最も弱い結合を選ぶ問題です。

解き方の考え方

受渡しの手段だけでなく、渡す情報の役割に注目します。処理に必要なデータをパラメータで渡すものと、相手の処理方法まで指定するものを区別します。そのうえで、共有領域の利用や相手の内部への直接参照があるかを確かめます。

選択肢ごとの解説

  1. ×ア  共通結合
    共通結合では、複数のモジュールが同じデータ領域を利用します。情報の受渡しがパラメータだけで完結する関係には当たりません。
  2. ×イ  制御結合
    制御結合では、相手の処理を指定する情報を渡します。パラメータを使っていても、必要なデータだけを渡す場合より相手の処理に依存します。
  3. ○ウ  データ結合
    データ結合では、処理に必要なデータ項目をパラメータとして渡します。設問の受渡し方に合い、選択肢の中で結合度が最も弱いため、正解はウです。
  4. ×エ  内容結合
    内容結合では、あるモジュールが別のモジュールの内部を直接参照します。相手の内部に依存するため、設問の条件とは合いません。

POINT

  • 結合度は、モジュール間の依存の強さを表します。
  • 「パラメータで渡す」という点だけで判断せず、その中身がデータか処理の指示かを見分けます。
  • 結合度が弱いほど、一方の変更が他方に影響しにくくなります。

※出典:平成30年度秋期 基本情報技術者試験 午前 問48