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