令和4年度 春期 応用情報技術者試験 午前 問題 問48

問題は発生していないが,プログラムの仕様書と現状のソースコードとの不整合を解消するために,リバースエンジニアリングの手法を使って仕様書を作成し直す。これはソフトウェア保守のどの分類に該当するか。

解答・解説

正解: ア. 完全化保守

JIS X 0161で規定されているソフトウェア保守の分類に関する問題です。ソフトウェア保守は大きく以下の4つに分類されます。

  1. 完全化保守:性能や保守性を向上させるための保守
  2. 是正保守:発見された問題を訂正するための保守
  3. 適応保守:環境の変化に合わせてソフトウェアを使用できるように保つための保守
  4. 予防保守:潜在的な障害が表面化する前に発見して訂正するための保守

問題文の「プログラムの仕様書と現状のソースコードとの不整合を解消するために,リバースエンジニアリングの手法を使って仕様書を作成し直す」という作業は、ソフトウェアの機能や動作を変更せず、将来のメンテナンス作業を容易にする(保守性を向上させる)ための活動です。したがって、完全化保守に該当します。

各選択肢の解説

  • ア:完全化保守
    正解です。性能や保守性の向上を目的とした保守であり、仕様書とソースコードの不整合を解消する作業はこれに該当します。
  • イ:是正保守
    誤りです。システム稼働後に発見されたバグや不具合を修正するための保守を指します。本問では「問題は発生していない」とあるため該当しません。
  • ウ:適応保守
    誤りです。OSのバージョンアップや法改正など、運用環境の変化に合わせてソフトウェアを修正するための保守を指します。
  • エ:予防保守
    誤りです。将来発生しうる潜在的な障害(隠れたバグなど)を未然に防ぐために、あらかじめ修正を行う保守を指します。

Spineチーム