令和元年度 秋期 午前 問46
システム開発技術
モジュール結合度に関する問題
モジュール結合度が最も弱くなるものはどれか。
- ア一つのモジュールで,できるだけ多くの機能を実現する。
- イ二つのモジュール間で必要なデータ項目だけを引数として渡す。
- ウ他のモジュールとデータ項目を共有するためにグローバルな領域を使用する。
- エ他のモジュールを呼び出すときに,呼び出したモジュールの論理を制御するための引数を渡す。
答えと解説を見る
✓ これが正解イ二つのモジュール間で必要なデータ項目だけを引数として渡す。
解説
必要なデータ項目だけを引数で渡す形が、最も弱くなります。
部品どうしのつながりの強さを、モジュール結合度と呼びます。弱いほど、片方を直したときにもう片方へ影響が及びにくくなります。最も弱いのは、必要なデータだけを引数として受け渡す形です。渡すものが決まっているので、外から見て何をやり取りするか分かります。引数で渡す形は、部品を別のものに取り替えるときも楽になります。渡す中身は、必要なものだけに絞ります。逆に強くなるのは、共通の置き場を通してやり取りする形です。どこから書き換えられるか分からず、影響の範囲を追えなくなります。相手の中の動きを決める値を渡す形も、強いつながりを作ります。呼ぶ側が呼ばれる側の作りを知っていることになるからです。一つの部品に機能を詰め込む話は、まとまりの強さという別の物差しです。何を渡すかで弱さが決まる、と押さえておきます。
ほかの選択肢はなぜ違うのか
- ア一つのモジュールで,できるだけ多くの機能…:一つの部品に機能を詰め込む話で、つながりの強さとは別の物差しです。部品の中のまとまり具合を指す言葉が別に用意されています。強度が高いほど良い部品とされ、結合度とは逆向きの読み方をします。強度と結合度は、別々に測ります。
- ウ他のモジュールとデータ項目を共有するため…:共通の置き場を通してやり取りする形です。どこから書き換えられるか追えないので、つながりは強くなります。置き場を使う部品が増えるほど、直す前に読む範囲が広がります。置き場の名前を変えるだけで、使う側すべてに手直しが必要です。
- エ他のモジュールを呼び出すときに,呼び出し…:相手の中の動きを決める値を渡す形です。呼ぶ側が相手の作りを知っていることになるので、強いつながりです。渡す値の種類が増えるたびに、呼ぶ側も直すことになります。値の意味を呼ぶ側が知っている必要があり、独立して直せません。
出典:令和元年度 秋期 基本情報技術者試験 午前 問46
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)