平成28年度 秋期 午前 問49
開発技術
リバースエンジニアリングの問題
ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングに該当するものはどれか。
- アソースプログラムを解析してプログラム仕様書を作る。
- イソースプログラムを探索して修正箇所や影響度を調べる。
- ウソースプログラムを見直して構造化されたプログラムに変換する。
- エソースプログラムを分かりやすい表現に書き換える。
答えと解説を見る
✓ これが正解アソースプログラムを解析してプログラム仕様書を作る。
解説
プログラムから仕様書を起こす、逆向きの作業です。
設問は、ソフトウェアを保守するときなどに利用されるリバースエンジニアリングに該当するものを選ばせています。判定の軸は一つだけで、その作業を終えたときに何が出来上がるかです。ふつうの開発は仕様書からプログラムへ向かって進みますが、この技術は矢印を逆にたどり、すでに動いているプログラムを解析して設計の情報を起こし直します。仕様書が残っていない古いシステムを引き継いだときに、まず中身から作りを読み取って文書の形に戻し、そこから作り直しや別の基盤への移し替えの判断につなげる、という場面で使われます。よって、ソースプログラムを解析してプログラム仕様書を作る、という記述が当てはまります。何が出来上がるかを一つずつ見ると、仕様書が現れるのはこの一つだけです。
ほかの選択肢はなぜ違うのか
- イソースプログラムを探索して修正箇所や影響…:直すべき場所と、そこへ手を入れたときにどこまで波及するかを見極める調べものです。保守の途中で必要になる作業ですが、設計の情報を文書の形にまとめ直す働きはありません。
- ウソースプログラムを見直して構造化されたプ…:手を入れ終えたあとに残るのはやはりプログラムで、読みやすい構造へ組み直した状態です。元の開発と同じ向きに進んでいるので、逆にたどるという条件を満たしていません。
- エソースプログラムを分かりやすい表現に書き…:こちらも残るものはプログラムのままで、表現を整えて読み取りやすくすることが目的です。文書を起こす工程が含まれないため、手を加えた結果が設計の情報にはなりません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
出典:平成28年度 秋期 応用情報技術者試験 午前 問49
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)