過去問解きまくり研究所 ホーム

令和元年度 秋期 午前Ⅱ 問5

設計

結合度に関する問題

あるプログラム言語によるプログラミングの解説書の中に次の記述がある。この記述中の“良いプログラム”がもっている特性はどれか。

このプログラム言語では,関数を呼び出すときに引数を保持するためにスタックが使用される。オプションの指定によって,引数で受け渡すデータをどの関数からでも参照できる共通域に移して,スタックの使用量を減らすことは可能だが,“良いプログラム”とは見なされないこともある。

答えと解説を見る

✓ これが正解ウプログラムの一部(関数)を変更しても,他の関数への影響が少ない。

解説

共通域に頼らないので、関数を変えても他の関数に影響しにくい特性です。

記述の要点は、引数をスタックで受け渡すのをやめ、どの関数からでも参照できる共通域にデータを移すと、良いプログラムと見なされないことがある、という点です。共通域を通じてデータをやり取りすると、そのデータを使う関数どうしが見えないところで結び付き、モジュールの結合度が強くなります。すると、ある関数でデータの扱いを変えたとき、同じ共通域を参照する別の関数にも影響が広がります。逆に、必要なデータを引数で受け渡すプログラムは関数どうしの独立性が高く、一部を変更しても他への影響が小さくて済みます。共通域を使うと何が悪くなるかを考え、結合度が弱いほど変更に強いと覚えておくと、この種の事例問題を読み解けます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和元年度 秋期 システムアーキテクト試験 午前Ⅱ 問5

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)