平成21年度 春期 午前Ⅱ 問24
ソフトウェア開発管理技術
リバースエンジニアリングの説明
ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングの説明はどれか。
- アソースプログラムを解析してプログラム仕様書を作る。
- イソースプログラムを探索して修正箇所や影響度を調べる。
- ウソースプログラムを見直して構造化プログラムに変換する。
- エソースプログラムを分かりやすい表現に書き換える。
答えと解説を見る
✓ これが正解アソースプログラムを解析してプログラム仕様書を作る。
解説
既存のプログラムを解析して仕様書を作るのがリバースエンジニアリングです。
リバースエンジニアリングは、通常の開発とは逆の向きに、できあがったソースプログラムを解析して、設計情報や仕様書を導き出す技術です。保守の場面では、仕様書が残っていない、あるいは実際のプログラムと食い違っている既存システムについて、プログラムから仕様を復元するのに使われます。見分ける軸は、プログラムから上流の成果物を作り出しているかどうかです。設計から作るのが通常の開発、作られたものから設計をさかのぼるのがリバースエンジニアリング、と向きで覚えると判断できます。
ほかの選択肢はなぜ違うのか
- イソースプログラムを探索して修正箇所や影響…:修正すべき箇所や、修正がほかの部分に及ぼす影響の範囲を調べる作業は、保守で行う影響の分析です。プログラムを解析する点は同じでも、仕様書などの上流の成果物を導き出すわけではありません。
- ウソースプログラムを見直して構造化プログラ…:プログラムを見直して構造化プログラムの形に作り直すのは、プログラムの構造そのものを整える作業です。成果物はプログラムのままで、そこから設計情報を引き出すことを目的とはしていません。
- エソースプログラムを分かりやすい表現に書き…:プログラムを分かりやすい表現に書き換えるのは、手を加える対象もできあがるものもプログラムである作業です。上流の仕様をさかのぼって作り出すものではないので、リバースエンジニアリングには当たりません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問24
同じ用語が出る問題
- 令和4年度 秋期 午前Ⅱ 問24:保守性を定量評価する指標(保守)
- 平成29年度 春期 午前Ⅱ 問25:リファクタリングの説明(保守)
- 平成29年度 春期 午前Ⅱ 問24:JIS X 25010の問題(保守)
- 平成23年度 特別 午前Ⅱ 問25:共通フレームに関する問題(保守)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)