平成24年度春期 応用情報技術者試験 午前 問50
リバースエンジニアリングの説明はどれか。
- ア 既存のプログラムからそのプログラムの仕様を導き出すこと
- イ 既存のプログラムから導き出された仕様を修正してプログラムを開発すること
- ウ クラスライブラリ内の既存のクラスを利用してプログラムを開発すること
- エ 部品として開発されたプログラムを組み合わせてプログラムを開発すること
解答・解説を見る
正解:ア
AI解説
リバースエンジニアリングは,既存のプログラムやシステムを解析して,その仕様や設計情報を導き出すことである。通常の開発(仕様→プログラム)と逆方向(プログラム→仕様)であることから「リバース」と呼ばれ,設計書が失われた古いシステムの保守・再構築などで用いられる。 ア: 正しい。既存プログラムから仕様を導き出すのがリバースエンジニアリングである。 イ: 導き出した仕様を修正して新たにプログラムを開発するのは,リエンジニアリング(リバースで得た仕様を基にしたフォワードエンジニアリングを含む再構築)の説明である。 ウ: クラスライブラリ内の既存クラスを利用した開発は,ソフトウェアの再利用(ライブラリ活用)の説明である。 エ: 部品化されたプログラムを組み合わせて開発するのは,コンポーネント指向(部品の再利用による)開発の説明である。 💡 「解析して仕様を取り出すまで=リバース」「取り出した仕様で作り直すまで含む=リエンジニアリング」の線引きが頻出のひっかけ。矢印の向き(成果物→仕様書)でリバースと覚える。
出典:平成24年度 春期 応用情報技術者試験 午前 問50 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。