平成21年度 春期 午前Ⅱ 問25
ソフトウェア開発管理技術
保守に関する問題
ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングの説明はどれか。
- アソースプログラムを解析してプログラム仕様書を作る。
- イソースプログラムを探索して修正箇所や影響度を調べる。
- ウソースプログラムを見直して構造化プログラムに変換する。
- エソースプログラムを分かりやすい表現に書き換える。
答えと解説を見る
✓ これが正解アソースプログラムを解析してプログラム仕様書を作る。
解説
リバースエンジニアリングは、ソースを解析して仕様書を作る技術です。
リバースエンジニアリングは、既存のソフトウェアを解析して、その構造や仕様を明らかにする技術です。設計書が残っていない、あるいは実際のプログラムと合わなくなっているソフトウェアを保守するとき、ソースプログラムを解析してプログラム仕様書などの設計情報を作り直すために使います。通常の開発が仕様からプログラムを作るのに対して、逆向きにプログラムから仕様を導くので、リバース(逆)と呼ばれます。見分ける軸は、作業の結果としてできるものが仕様書かプログラムかです。逆向き、つまりプログラムから仕様へ、と覚えると選べます。
ほかの選択肢はなぜ違うのか
- イソースプログラムを探索して修正箇所や影響…:ソースプログラムを探して修正すべき箇所や影響の範囲を調べる作業は、変更の影響を見積もるための調査です。プログラムから仕様書を作り出す作業ではないので、リバースエンジニアリングの説明になりません。
- ウソースプログラムを見直して構造化プログラ…:ソースプログラムを見直して構造化されたプログラムに作り替えるのは、プログラムの形を整える作業です。出来上がるのは別のプログラムであり、仕様を導き出すリバースエンジニアリングとは目的が違います。
- エソースプログラムを分かりやすい表現に書き…:ソースプログラムを分かりやすい表現に書き換えるのは、プログラムそのものを読みやすく改める作業です。書き換えた結果はやはりプログラムであり、仕様書を起こすことを目的とした技術ではありません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
出典:平成21年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問25
同じ用語が出る問題
- 令和5年度 秋期 午前Ⅱ 問18:リファクタリングに関する問題(保守)
- 平成29年度 春期 午前Ⅱ 問23:“性能効率性”の定義(保守)
- 平成29年度 春期 午前Ⅱ 問21:リポジトリを構築する理由(保守)
- 平成25年度 春期 午前Ⅱ 問22:信頼性を意識したもの(保守)
- 平成24年度 春期 午前Ⅱ 問25:CMMIの目的(保守)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)