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