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