平成15年春期試験問題 午前問50

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
あるプログラム言語の解説書の中に次の記述がある。この記述中の"良いプログラム"がもっている特徴として,適切なものはどれか。

このプログラム言語では,関数を呼び出すときに引数を保持するためにスタックが使用される。引数で受け渡すデータを,多くの関数から参照できる共通域に移せば,スタックの使用量を減らすことができるが,"良いプログラム"からは外れることもある。

  • 実行するときのメモリの使用量が,一定以下に必ず収まる。
  • 実行速度について,最適化が行われている。
  • プログラムの一部を変更しても,残りの部分への影響が少ない。
  • プログラムのステップ数が少なく,分かりやすい。
正解 問題へ
分野:テクノロジ系
中分類:システム開発技術
小分類:ソフトウェア方式設計・詳細設計
解説
モジュール結合度は、モジュール同士の関連性の強さを表し、モジュール結合度が弱いほど関連するモジュールに変更があった場合の影響を受けにくくなるので、モジュールの独立性が高まり保守性が向上します。

モジュール結合度の強弱は、モジュール間のデータの受渡し方法などにより6段階のレベルに分類されています。
データ結合(弱い↑)
処理に必要なデータだけを単一のパラメータとして受け渡している
スタンプ結合
処理に必要なデータだけをレコードや構造体などのデータ構造として受け渡している
制御結合
モジュールの動作を制御するための要素を受け渡している
外部結合
大域宣言された単一のデータを、複数のモジュールが参照している
共通結合
大域宣言されたレコードや構造体などのデータ構造を、複数のモジュールが参照している
内容結合(強い↓)
モジュールの内部を直接参照・使用している
問題文中に「引数で受け渡すデータを、多くの関数から参照できる共通域に移せば」とあります。共通域にデータを移せば外部結合や共通結合となり、従前よりモジュール結合度は高くなります。モジュール結合度が強くなるということは、関連するモジュールに変更があった場合の影響を受けやすく、またモジュールを変更したときに他のモジュールに与える影響が大きくなることを示します。変更を行った際に影響の大きさは保守性の悪化を招くため、設問の記述ではこれを指して「良いプログラムからは外れる」と述べています。すなわち、設問の記述における"良いプログラム"とは、変更をしても他のプログラムへの影響が少ないプログラムであると判断できます

したがって「ウ」が適切です。

この問題の出題歴


Pagetop