修了試験 2016-01-24実施分 基本情報技術者試験 問50
ソフトウェアのリバースエンジニアリングの説明はどれか。
正答3
解説
正解は3です。 リバースエンジニアリングは、既存のソフトウェアを解析し、その仕様や設計、構造を明らかにすることです。 ドキュメントが残っていないシステムの保守や、他のシステムとの互換性の調査などに使われます。 通常の開発(仕様から製品へ)とは逆向きの作業なので、「リバース」と呼ばれます。 【選択肢別解説】 1:× 開発支援ツールなどを使って設計情報からソースコードを自動生成するのは、フォワードエンジニアリングの説明です。 リバースエンジニアリングとは方向が逆です。 2:× 外部から見た振る舞いを変えずに内部構造を変えるのは、リファクタリングの説明です。 仕様や構造を明らかにする作業ではありません。 3:○ 既存のソフトウェアを解析し、その仕様や構造を明らかにすることが、リバースエンジニアリングの定義です。 そのため正しいです。 4:× 既存のソフトウェアを分析・理解した上で全体を新しく構築し直すのは、リエンジニアリングの説明です。 リバースエンジニアリングは、その前段の解析の部分に当たります。 【ポイント】 リバースエンジニアリングで仕様を復元し、フォワードエンジニアリングで作り直す一連の流れがリエンジニアリングです。 用語の違いを、作業の向きで整理しておきましょう。まとめて解く
修了試験 2016-01-24実施分を通しで解く(80問)→