平成21年度春期 プロジェクトマネージャ試験 午前II 問16
【問題16】
ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングの説明はどれか。
ソースプログラムを解析してプログラム仕様書を作る。
ソースプログラムを探索して修正箇所や影響度を調べる。
ソースプログラムを見直して構造化プログラムに変換する。
ソースプログラムを分かりやすい表現に書き換える。
【解説】
ア: ソースプログラムを解析してプログラム仕様書を作る。
正しい。リバースエンジニアリングは、既存のソフトウェアやプログラムを解析してその仕様や設計を明確にする技術です。これにより、保守や再設計が容易になります。
イ: ソースプログラムを探索して修正箇所や影響度を調べる。
誤り。これは影響度分析やコードレビューに該当しますが、リバースエンジニアリングそのものではありません。
ウ: ソースプログラムを見直して構造化プログラムに変換する。
誤り。これはコードのリファクタリングに該当し、リバースエンジニアリングではありません。
エ: ソースプログラムを分かりやすい表現に書き換える。
誤り。これはコードの可読性向上やドキュメンテーションの作成であり、リバースエンジニアリングとは異なります。
【答え】
ア: ソースプログラムを解析してプログラム仕様書を作る。
出典:平成21年度 春期 プロジェクトマネージャ試験 午前II 問16