平成26年度 春期 午前 問46
開発技術
モジュール結合度に関する問題
モジュール分割の良否を,モジュール結合度の視点から評価する場合,最も適切な記述はどれか。
- ア共通データ領域は,全てのモジュールからアクセスできるようになっていることが望ましい。
- イソフトウェア全体のモジュール分割の良否は,モジュール間の結合度のうちで最も強いものがどのように分布しているかで判断するのが望ましい。
- ウ直接の呼出し関係になっていないモジュール間で情報を交換するには,共通データ領域を用いるのが最も望ましい。
- エ呼び出す側と呼び出される側のモジュール間のデータの受渡しは,引数としてデータ項目を列挙するのが最も望ましい。
答えと解説を見る
✓ これが正解エ呼び出す側と呼び出される側のモジュール間のデータの受渡しは,引数としてデータ項目を列挙するのが最も望ましい。
解説
結合度は弱いほど良い、を先に置く物差しにします。
設問は、モジュール分割の良否をモジュール結合度の視点から評価するとき、最も適切な記述を選ばせています。先に紙へ書いておくべき一行があります。結合度は弱いほど良い、です。向きを取り違えると、もっともらしく見える肢が三つ残ってしまいます。適切な肢は、呼び出す側と呼び出される側の受渡しを、引数としてデータ項目を列挙する形にするというものです。これはデータ結合と呼ばれ、段階の中で最も弱い、つまり最も望ましい形にあたります。なぜ良いのかも言葉にできます。渡すものが呼出しの並びにすべて書いてあるので、片方を直したときに影響が及ぶ先が、引数の一覧を見るだけで分かります。相手の中身を読まずに済むので、独立して直せますし、独立して試せます。逆に、共有の記憶域を通して受け渡す形は、誰がいつ書き換えたのかを追えなくします。判断に迷ったら、一か所を直すために何本のモジュールを読まされるかを数えてみてください。弱い結合ほど、読む本数は少なくなります。
ほかの選択肢はなぜ違うのか
- ア共通データ領域は,全てのモジュールからア…:すべてのモジュールから同じ記憶域に手が届く状態は、誰がいつ値を変えたのかを追えなくします。これは強い側の結び付きにあたり、望ましい形とはむしろ逆になります。
- イソフトウェア全体のモジュール分割の良否は…:全体の良否を測るのに、いちばん強い結び付きがどう散らばっているかを眺めるだけでは足りません。見るべきなのは、それがどれだけ残っていて、弱い側へ置き換えられるかです。
- ウ直接の呼出し関係になっていないモジュール…:呼出しの関係が無い相手との受渡しに共有の記憶域を持ち出すと、追跡しにくい結び付きを新たに作ってしまいます。必要であれば仲介する側を立てて、引数で渡す形にします。
出典:平成26年度 春期 応用情報技術者試験 午前 問46
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)