正答3
解説
正解は3です。
既存のソフトウェアを分析・再構築する手法の名称を問う問題です。
ソースコードなどから仕様や設計の情報を取り出す手法が問われています。
【選択肢別解説】
1:× リエンジニアリングは、既存のソフトウェアを解析して得た仕様を基に、ソフトウェアを作り直すことです。
情報を取り出すだけでなく、再構築までを含む点が異なります。
2:× リストラクチャリングは、ソフトウェアの機能を変えずに、プログラムの構造を整理し直すことです。
仕様や設計の情報を取り出す手法ではありません。
3:○ リバースエンジニアリングは、ソースコードやオブジェクトコードを解析し、プログラムの仕様や設計の情報を取り出す手法です。
通常の開発(仕様から設計、プログラムへ)とは逆の方向に進むので、リバース(逆)と呼ばれます。
4:× リファクタリングは、外部から見た動作を変えずに、プログラムの内部構造を分かりやすく改善することです。
仕様や設計の情報を取り出す手法ではありません。
【ポイント】
リバースエンジニアリングで仕様を取り出し、それを基に作り直す(フォワードエンジニアリング)ことを合わせてリエンジニアリングと呼びます。
リファクタリングはアジャイル開発でよく行われる改善手法です。