正答4
解説
正解は4です。
リバースエンジニアリングで行う作業を選ぶ問題です。
リバースエンジニアリングとは、完成したソフトウェアやプログラムを解析し、その仕様や設計情報を明らかにすることです。
【選択肢別解説】
1:× 変更要求に柔軟に対応するために短い期間の開発を繰り返すのは、アジャイル開発の作業です。
リバースエンジニアリングではありません。
2:× 試作品を作成し、利用者の評価をフィードバックしながら開発するのは、プロトタイピングの作業です。
リバースエンジニアリングではありません。
3:× 上流工程から下流工程までを順番に実施するのは、ウォータフォールモデルの開発手順です。
リバースエンジニアリングではありません。
4:○ プログラムを解析してソフトウェアの仕様を調べ、設計情報を抽出するのは、リバースエンジニアリングの作業そのものです。
設計書が残っていない既存システムの保守や再構築の際などに行われます。
【ポイント】
通常の開発は設計からプログラムを作りますが、リバースエンジニアリングはプログラムから設計へと逆向き(reverse)にたどります。
なお、他社製品の解析は契約や法律に抵触しないかに注意が必要です。