基本情報技術者試験 2012年度 = 平成24年度・春期 午前 問50

 ソフトウェアのリバースエンジニアリングの説明はどれか。

ア CASEツールなどを用いて、設計情報からソースコードを自動生成する。
イ 外部から見たときの振舞いを変えずに、ソフトウェアの内部構造を変える。
ウ 既存のソフトウェアを解析し、その仕様や構造を明らかにする。
エ 既存のソフトウェアを分析し理解した上で、ソフトウェア全体を新しく構築し直す。

解答



解説

 リバースエンジニアリング(reverse engineering)は、既存のプログラムやファイルなどを解析して、その設計目的や仕様や構成技術などを明らかにすることです。

 CASEツールなどを用いて、設計情報からソースコードを自動生成することができます。リバースエンジニアリングとは無関係です。

 外部から見たときの振舞いを変えずにソフトウェアの内部構造を変えるのは、リファクタリング(refactoring)です。

 リバースエンジニアリング(reverse engineering)は、既存のプログラムやファイルなどを解析して、その設計目的や仕様や構成技術などを明らかにすることです。

 既存のソフトウェアを分析し理解した上で、ソフトウェア全体を新しく構築し直すのは、フォワードエンジニアリング(forward engineering)です。


BohYoh.comトップページへ