問題は発生していないが,プログラムの仕様書と現状のソースコードとの不整合を解消するために,リバースエンジニアリングの手法を使って仕様書を作成し直す。
これはソフトウェア保守のどの分類に該当するか。
正答1
解説
正解は1です。
ソフトウェア保守の分類(JIS X 0161)を問う問題です。
保守は、是正保守、予防保守、適応保守、完全化保守に分けられます。
本問は、障害が起きていない状態で、仕様書とソースコードの不整合を解消するために仕様書を作り直すという、文書の改善に当たる作業です。
【選択肢別解説】
1:○ 完全化保守には、性能や保守性の向上に加え、プログラムの文書の改善も含まれます。
リバースエンジニアリングで仕様書を作り直して保守性を高める本問の作業は、完全化保守に当たります。
2:× 是正保守は、引渡し後に発見された問題を訂正するために行う受身の修正です。
本問では問題が発生していないので、是正保守には当たりません。
3:× 適応保守は、OSの変更や法令改正など、変化した環境でソフトウェアを使い続けるための修正です。
本問は環境の変化への対応ではないので、適応保守には当たりません。
4:× 予防保守は、潜在的な障害が運用中に故障として現れる前に、発見して修正する保守です。
本問は障害の予防ではなく、仕様書という文書を改善する作業なので、予防保守には当たりません。
【ポイント】
是正保守は「起きた問題の修正」、予防保守は「潜在的な障害の事前修正」、適応保守は「環境変化への対応」、完全化保守は「性能・保守性・文書の改善」と整理します。
リバースエンジニアリングは、既存のプログラムを解析して仕様や設計を明らかにする手法です。