ITパスポート 令和2年度 10月 特別措置試験 問51
システム開発技術
リバースエンジニアリングの問題
リバースエンジニアリングで実施する作業として,最も適切なものはどれか。
- ア 開発中のソフトウェアに対する変更要求などに柔軟に対応するために,短い期間の開発を繰り返す。
- イ 試作品のソフトウェアを作成して,利用者による評価をフィードバックして開発する。
- ウ ソフトウェア開発において,上流から下流までを順番に実施する。
- エ プログラムを解析することで,ソフトウェアの仕様を調査して設計情報を抽出する。
答えと解説
✓ これが正解エ プログラムを解析することで,ソフトウェアの仕様を調査して設計情報を抽出する。
解説
リバースエンジニアリングは、出来たものから設計を読みます。
ふつうの開発は、何を作るかを決め、設計し、プログラムを書くという向きで進みます。リバースエンジニアリングは、この向きを逆にたどる手立てです。すでに動いているプログラムを解析して、どんな仕様で作られているのか、どんな構造になっているのかという設計の情報を取り出します。作った当時の資料が失われている古い仕組みを引き継ぐときや、別の環境へ作り替えるときに使われます。ただし、他人が作ったものを無断で解析すると、権利の面で問題になることがあるので、認められる範囲を確かめる必要があります。作る向きと、読み解く向きは、ちょうど逆になります。残る三つは、短い期間を繰り返す進め方、試作を作って評価を返す進め方、上流から順に進める進め方です。よって最も適切なのは、プログラムを解析して設計情報を抽出することです。
ほかの選択肢の解説
- ア 開発中のソフトウェアに対する変更要求などに柔軟に対応するために,短い期間の開発を繰り返す。:変更の求めに柔軟に応えるために、短い期間の開発を繰り返すという進め方は、アジャイルにあたります。これから作るための進め方であり、出来上がったものから設計を読み解く作業ではありません。これから作っていく側の進め方になります。
- イ 試作品のソフトウェアを作成して,利用者による評価をフィードバックして開発する。:試作を作って、利用者からの評価を返しながら開発するという進め方は、プロトタイピングにあたります。求めを固めるための工夫であり、すでにあるプログラムを解析するという作業とは向きが違います。求めを固めるための工夫のほうになります。
- ウ ソフトウェア開発において,上流から下流までを順番に実施する。:上流から下流まで順番に実施するという進め方は、ウォータフォールにあたります。作る向きに沿って進むものなので、出来上がったものから遡って設計を取り出す作業ではありません。進む向きが、作る側に沿ったままです。
関連用語
- リバースエンジニアリング既存の製品を分解して構造を解明し、どう作られているかを調べる手法です。
- アジャイル作るものを小さな単位に分け、短い期間で作っては出すことを繰り返す開発の進め方です。
- プロトタイピング開発の早い段階で試作品を作って見せ、利用者の要求をはっきりさせる進め方です。
- 変更要求サービスやシステムへの変更を正式に求めるためのものです。
出典:令和2年度 10月 ITパスポート試験(特別措置試験) 問51
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
関連問題
- 令和8年度 問43
(リバースエンジニアリング) - 令和8年度 問38:
要件定義に 関する 問題 (アジャイル) - 令和7年度 問44
(プロトタイピング) - 令和7年度 問40:
変更管理に 関する 問題 (変更要求) - 令和5年度 問40:
DevOpsに 関する 記述 (変更要求)
同じ分野の問題
誤りを見つけたら報告する