ソフトウェアのリバースエンジニアリングの説明はどれか。
ア 開発支援ツールなどを用いて,設計情報からソースコードを自動生成する。
イ 外部から見たときの振る舞いを変えずに, ソフトウェアの内部構造を変える。
ウ 既存のソフトウェアを解析し,その仕様や構造を明らかにする。
エ 既存のソフトウェアを分析し理解した上で, ソフトウェア全体を新しく構築し直す。
解説を読む
正解:ウ
解説:
リバースエンジニアリングとは完成しているソフトウェアからその振る舞いなどを分析し仕様や構造を明らかにすることです。通常は仕様書(設計書)からソフトウェアが作成されますが、なんらかの理由で仕様書のないソフトウェアに変更を加える必要ができた場合などに通常とは逆に完成品から仕様書を作成するということでリバースエンジニアリングと呼ばれます。市販のソフトウェアの多くでは使用許諾契約の中でリバースエンジニアリングを禁止しています。
ア.自動生成ツールに関する記述です。
イ.リファクタリングに関する記述です。
ウ.正解です。上記解説もご参照ください。
エ.フォワードエンジニアリングに関する記述です。フォワードエンジニアリングではリバースエンジニアリングで解析した仕様を元に新しくシステムを構築し直します。
解説を閉じる
コメント