平成29年度 秋期 基本情報技術者試験 午前 問50
テクノロジ/開発技術ソフトウェアのリバースエンジニアリングの説明はどれか。
出典:平成29年度 秋期 基本情報技術者試験 午前 問50
- ア開発支援ツールなどを用いて,設計情報からソースコードを自動生成する。
- イ外部から見たときの振る舞いを変えずに,ソフトウェアの内部構造を変える。
- ウ既存のソフトウェアを解析し,その仕様や構造を明らかにする。
- エ既存のソフトウェアを分析し理解した上で,ソフトウェア全体を新しく構築し直す。
正解:ウ
解説
リバースエンジニアリングとは,既に存在するソフトウェアを解析することによって,その仕様や内部構造を明らかにする手法のことです。設計書からソースコードを生成するフォワードエンジニアリングとは逆方向のアプローチにあたります。
選択肢ごとの解説
- ア誤り。設計情報からソースコードを自動生成する手法は,フォワードエンジニアリングの説明です。
- イ誤り。外部から見た振る舞いを変えずにソフトウェアの内部構造を変える手法は,リファクタリングの説明です。
- ウ正しい。既存のソフトウェアを解析し,その仕様や構造を明らかにするのが,リバースエンジニアリングです。
- エ誤り。既存のソフトウェアを分析・理解した上で全体を新しく構築し直す手法は,リエンジニアリングの説明です。