平成29年度 秋期 午前 問48
システム開発技術
モジュール結合度に関する問題
モジュール結合度が最も弱くなるものはどれか。
- ア一つのモジュールで,できるだけ多くの機能を実現する。
- イ二つのモジュール間で必要なデータ項目だけを引数として渡す。
- ウ他のモジュールとデータ項目を共有するためにグローバルな領域を使用する。
- エ他のモジュールを呼び出すときに,呼び出したモジュールの論理を制御するための引数を渡す。
答えと解説を見る
✓ これが正解イ二つのモジュール間で必要なデータ項目だけを引数として渡す。
解説
必要なデータ項目だけを引数で渡す形が、最も弱い結合です。
モジュール結合度は、部品どうしの結び付きの強さを表します。弱いほど、片方を直したときに他方へ響きにくくなりました。だから設計では、できるだけ弱くすることを目指します。最も弱いのは、必要なデータ項目だけを引数として渡す形です。データ結合と呼ばれ、やり取りが値だけで済みます。相手の中身を知らなくてよいので、入れ替えも楽になりました。一つの部品に多くの機能を詰め込む話は、結合度ではありません。まとまりの良さを表す強度のほうに関わる言い方でした。広い置き場を通して項目を分け合う形は、共通結合と呼ばれます。同じ場所を大勢で触るので、影響が追いにくくなります。呼ぶ相手の論理を操る引数を渡す形は、制御結合です。渡された側の動きを外から決めるため、強く縛りました。弱い順に並べれば、データ結合が先頭に来ます。
ほかの選択肢はなぜ違うのか
- ア一つのモジュールで,できるだけ多くの機能…:一つの部品に機能を詰め込む話です。これは中のまとまりについての言い方でした。結合度ではなく強度に関わります。しかも詰め込むほど、まとまりは悪くなります。弱い結び付きの話ではありません。物差しが別でした。まとまりの物差しです。
- ウ他のモジュールとデータ項目を共有するため…:広い置き場を通してデータ項目を分け合います。共通結合と呼ばれる、強い側の形でした。誰がいつ書き換えたかが追いにくくなります。直した影響が思わぬ所に出ました。弱いどころか避けたい形です。引数で渡すほうが安全でした。
- エ他のモジュールを呼び出すときに,呼び出し…:呼ばれた側の論理を操る引数を渡します。制御結合と呼ばれる形でした。渡す側が、相手の動き方まで決めています。中身を知っていなければ書けません。結び付きは強いほうに寄りました。値だけを渡す形より劣ります。強い側でした。
出典:平成29年度 秋期 基本情報技術者試験 午前 問48
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)