ITの基礎知識|ITパスポート・基本情報

基本情報技術者 平成21年春 午後 問2

2026.05.19

午後問題に共通する注意事項(表記ルールなど)については、下記のリンク先を参照してください。

基本情報技術者 平成21年春 午後問題の注意事項


問題

ソフトウェア製品の品質特性に関する次の記述を読んで,設問に答えよ。

JIS X 0129-1では,ソフトウェア製品の品質について,表1に示す六つの品質特性を定めている。

表1 六つの品質特性(JIS X 0129-1)

これらの品質特性のうち,コーディングの段階では,信頼性,効率性,保守性,移植性を考慮することが大切である。

あるソフトウェア開発会社では,開発するソフトウェア製品の品質向上を図るため,品質特性を考慮したプログラム開発の社内標準を制定し,作成したプログラムのコードレビュー体制を確立した。表2は,最近のコードレビューで新人のプログラム開発担当者が受けた指摘の例である。

表2 新人のプログラム開発担当者が受けた指摘の例


設問

表2中の空欄に入れる正しい答えを,解答群の中から選べ。

a, eに関する解答群

ア:移植性(環境適応性)

イ:効率性(資源効率性)

ウ:信頼性(成熟性)

エ:保守性(解析性)

オ:保守性(変更性)

bに関する解答群

cに関する解答群

ア:更新した時点で障害と分かるが,ログを記録する機能のあるOSは少ない

イ:更新した時点で障害と分かるが,ログを記録する機能のあるハードウェアは少ない

ウ:更新内容を後で参照したときに障害となることが多く,原因箇所の特定が困難である

エ:取得可能な主記憶域が残っている間は,障害を検知できない

dに関する解答群

ア:指定できる変数や関数の個数

イ:変数や関数の型宣言で省略した場合のビット数

ウ:リンカで扱える関数のビット数

エ:ローダで扱える関数の個数

Show answer

解答

  • a:ウ(信頼性・成熟性)
  • b:イ
  • c:ウ
  • d:イ
  • e:ア(移植性・環境適応性)

解説

a(品質特性の特定)

“Ave ← Total ÷ Count” は Count=0 のとき0除算エラーが起きる。
0除算を防ぐための条件チェックを追加することは、「指定された条件で達成水準を維持する」信頼性(成熟性:障害発生を防ぐ)の改善。

b(ループの最適化)

“Sub(r)” は計算コストが高いが、返却値は引数 r だけに依存する(c には依存しない)。
したがって Sub(r) の呼び出しを内側ループ外(rのループ内、cのループ外)に移動するのが正しい最適化。→ イ

c(動的メモリ管理の障害)

動的メモリの範囲外書き込みは、書き込んだ時点では問題なく、後でその領域を読み出したときに初めて障害として現れることが多い。→ ウ

d(移植性の問題原因)

整数型を単に「整数型」と宣言すると、機種によって省略時のビット数(16ビット・32ビットなど)が異なる。→ イ

e(品質特性の特定)

機種依存問題(ビット数の違い)に対処し、どの環境でも正しく動くようにする → 移植性(環境適応性) = ア