平成22年度春期 プロジェクトマネージャ試験 午前II 問19
【問題19】
リバースエンジニアリングの説明はどれか。
既存のプログラムからそのプログラムの仕様を導き出すこと
既存のプログラムから導き出された仕様を修正してプログラムを開発すること
クラスライブラリ内の既存のクラスを利用してプログラムを開発すること
部品として開発されたプログラムを組み合わせてプログラムを開発すること
【解説】
ア: 既存のプログラムからそのプログラムの仕様を導き出すこと
正しい。リバースエンジニアリングは、既存のシステムやプログラムを解析して、設計や仕様を明確にするプロセスを指します。主にドキュメント化されていないシステムの仕様を把握する際に用いられます。
イ: 既存のプログラムから導き出された仕様を修正してプログラムを開発すること
誤り。これはリバースエンジニアリングではなく、リファクタリングや仕様変更を伴うソフトウェア開発の一環といえます。
ウ: クラスライブラリ内の既存のクラスを利用してプログラムを開発すること
誤り。これはリバースエンジニアリングではなく、ライブラリの再利用やモジュール設計の話です。
エ: 部品として開発されたプログラムを組み合わせてプログラムを開発すること
誤り。これはコンポーネントベースの開発であり、リバースエンジニアリングとは異なります。
【答え】
ア: 既存のプログラムからそのプログラムの仕様を導き出すこと
出典:平成22年度 春期 プロジェクトマネージャ試験 午前II 問19