平成22年度 プロジェクトマネージャ試験 午前II 問19
リバースエンジニアリングの説明はどれか。
- ア 既存のプログラムからそのプログラムの仕様を導き出すこと
- イ 既存のプログラムから導き出された仕様を修正してプログラムを開発すること
- ウ クラスライブラリ内の既存のクラスを利用してプログラムを開発すること
- エ 部品として開発されたプログラムを組み合わせてプログラムを開発すること
解答・解説を見る
正解:ア
AI解説
リバースエンジニアリングは,既存のプログラムを解析して,その仕様や設計情報を導き出す技術である。通常の開発(仕様→プログラム)とは逆方向の工程であることが名前の由来であり,アが正しい。導き出した仕様を基に新たな開発まで行う場合はリエンジニアリングと呼ばれる。 ア: 正解。既存プログラムからそのプログラムの仕様を導き出すことがリバースエンジニアリングの定義である。 イ: 導出した仕様を修正して新たにプログラムを開発するのは,フォワードエンジニアリングを含むリエンジニアリングの説明である。 ウ: クラスライブラリ内の既存クラスを利用した開発は,ソフトウェア再利用(ライブラリ利用)の説明である。 エ: 部品化されたプログラムを組み合わせて開発するのは,コンポーネントベース開発(部品再利用)の説明である。 💡 「解析して仕様を導く=リバース」「導いた仕様で作り直す=リエンジニアリング」。ライセンス上,他社ソフトのリバースエンジニアリング禁止条項が話題になる点も関連知識として押さえる。
出典:平成22年度 秋期 プロジェクトマネージャ試験 午前II 問19 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。