令和3年度 春期 午前Ⅱ 問25
ソフトウェア開発管理技術
リバースエンジニアリングの問題
ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングに該当するものはどれか。
- アソースプログラムを解析してプログラム仕様書を作る。
- イソースプログラムを探索して修正箇所や影響度を調べる。
- ウソースプログラムを見直して構造化されたプログラムに変換する。
- エソースプログラムを分かりやすい表現に書き換える。
答えと解説を見る
✓ これが正解アソースプログラムを解析してプログラム仕様書を作る。
解説
ソースプログラムを解析して仕様書を作るのがリバースエンジニアリングです。
リバースエンジニアリングは、すでにあるソフトウェアを分析して、その仕様や設計の情報を取り出す技術です。通常の開発が仕様から設計、プログラムへと進むのに対し、逆向きにプログラムから仕様を導き出すので、リバース(逆向き)と呼ばれます。保守の場面では、仕様書が残っていないプログラムや、仕様書と中身が食い違ったプログラムから、現状の仕様書を作り直すのに使われます。プログラムを書き換えるのではなく、プログラムから上流の文書を取り出す、という向きで見分けると確実です。
ほかの選択肢はなぜ違うのか
- イソースプログラムを探索して修正箇所や影響…:ソースプログラムを探索して修正箇所や影響度を調べるのは、改修の前に行う影響の調査です。修正の範囲を見積もるための作業であり、プログラムから仕様を導き出して文書にする技術とは違います。
- ウソースプログラムを見直して構造化されたプ…:ソースプログラムを見直して構造化されたプログラムに変換するのは、プログラムの構造を作り直す作業です。成果物は書き換えたプログラムであり、プログラムから仕様書を取り出す作業ではありません。
- エソースプログラムを分かりやすい表現に書き…:ソースプログラムを分かりやすい表現に書き換えるのは、読みやすさを高めるためにプログラム自体に手を入れる作業です。書き換えた結果はプログラムのままで、仕様書を作るものではありません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
出典:令和3年度 春期 ネットワークスペシャリスト試験 午前Ⅱ 問25
同じ用語が出る問題
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)