平成26年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問25
テクノロジ/開発技術ソフトウェアのリバースエンジニアリングの説明はどれか。
出典:平成26年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問25
- ア開発支援ツールなどを用いて,設計情報からソースコードを自動生成する。
- イ外部から見たときの振る舞いを変えずに,ソフトウェアの内部構造を変える。
- ウ既存のソフトウェアを解析し,その仕様や構造を明らかにする。
- エ既存のソフトウェアを分析し理解した上で,ソフトウェア全体を新しく構築し直す。
正解:ウ
解説
リバースエンジニアリングは,既存のソフトウェア(ソースコードやバイナリ)を解析することによって,その仕様や内部構造を明らかにする技術・工程です。設計情報の失われた既存システムの保守や,他社製品の解析などに利用されます。
選択肢ごとの解説
- ア誤り。設計情報からソースコードを自動生成するのは,フォワードエンジニアリング(順方向の開発,コードジェネレータの利用)の説明です。
- イ誤り。外部から見た振る舞いを変えずに内部構造を変えるのは,リファクタリングの説明です。
- ウ正しい。リバースエンジニアリングは,既存のソフトウェアを解析して仕様や構造を明らかにする工程です。
- エ誤り。既存のソフトウェアを分析した上で全体を新しく構築し直すのは,リエンジニアリング(マイグレーションを含む再構築)の説明です。