応用情報技術者試験 応用情報技術者試験 平成28年度秋期 午前 問49: ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングに該当するものはどれか。
ソフトウェアを保守するときなどに利用される技術であるに該当するものはどれか。
81.82%
選択肢
- ア.ソースプログラムを解析してプログラム仕様書を作る。
- イ.ソースプログラムを探索して修正箇所や影響度を調べる。
- ウ.ソースプログラムを見直して構造化されたプログラムに変換する。
- エ.ソースプログラムを分かりやすい表現に書き換える。
正解
ア. ソースプログラムを解析してプログラム仕様書を作る。
解説
リバースエンジニアリングは、通常の開発(仕様書からプログラムを作る)とは逆向きに、既存のソースプログラムやオブジェクトコードを解析して設計情報や仕様書を取り出す技術である。ソースプログラムを解析してプログラム仕様書を作ると述べた選択肢アが、この「逆方向の」工程に一致する。
選択肢ごとの解説
- ア.正しい。完成したソースプログラムを解析して、そこから仕様書(設計情報)を作り出すのがリバースエンジニアリングである。
- イ.ソースを探索して修正箇所や影響度を調べるのは保守の影響分析であり、仕様や設計を取り出すリバースエンジニアリングとは異なる。
- ウ.ソースを構造化されたプログラムへ変換するのはリストラクチャリング(再構成)であり、設計情報を取り出すリバースエンジニアリングとは異なる。
- エ.ソースを分かりやすい表現へ書き換える(整形する)のは可読性向上のための作業であり、設計情報を抽出するリバースエンジニアリングとは異なる。
応用情報技術者試験 平成28年度秋期 午前 の過去問一覧へ戻る・問49