問51
ITパスポート過去問 令和2年度(2020年)問51
リバースエンジニアリングで実施する作業として,最も適切なものはどれか。
選択肢
- ア:開発中のソフトウェアに対する変更要求などに柔軟に対応するために,短い期間の開発を繰り返す。
- イ:試作品のソフトウェアを作成して,利用者による評価をフィードバックして開発する。
- ウ:ソフトウェア開発において,上流から下流までを順番に実施する。
- エ:プログラムを解析することで,ソフトウェアの仕様を調査して設計情報を抽出する。
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
正解:エ
あなたの回答:未回答
リバースエンジニアリングとは、既存のプログラムなどの実装物を解析して、仕様や設計情報を推定して取り出す作業です。通常の開発が設計してから実装する流れであるのに対し、リバースエンジニアリングは実装物から設計情報へさかのぼる点が特徴です。
Point
この問題は、リバースエンジニアリングが何をする作業かを理解しているかを確認するものです。あわせて、アジャイル開発、プロトタイピング、ウォーターフォールモデルと混同せずに区別できることが求められます。
解くために必要な知識
この問題を解くには、リバースエンジニアリングの定義と、選択肢に出てくる代表的な開発手法の違いを理解している必要があります。
用語の整理
| 用語 | 意味 |
|---|---|
| リバースエンジニアリング | 既存の製品やプログラムなどを解析し、構造、仕様、設計情報を抽出する手法です。実装物から設計情報へさかのぼって推定します。 |
他の選択肢に出てくる用語
| 用語 | 意味 |
|---|---|
| アジャイル開発 | 短い開発サイクルを繰り返し、変更要求に柔軟に対応する開発手法です。 |
| プロトタイピング | 試作品を早期に作成し、利用者の評価を反映しながら開発を進める手法です。 |
| ウォーターフォールモデル | 要件定義、設計、実装、テストなどの工程を上流から下流へ順番に進める開発手法です。 |
問題の解法手順
各選択肢の整理
選択肢と手法の対応
| 選択肢 | 内容の要点 | 手法 | 判断 |
|---|---|---|---|
| ア | 短い期間の開発を繰り返し、変更要求に対応する | アジャイル開発 | 誤り |
| イ | 試作品を作り、利用者の評価を反映する | プロトタイピング | 誤り |
| ウ | 上流から下流へ工程を順番に進める | ウォーターフォールモデル | 誤り |
| エ | プログラムを解析し、仕様や設計情報を抽出する | リバースエンジニアリング | 正しい |
結論
リバースエンジニアリングは、プログラム解析によって仕様や設計情報を抽出するため、「エ」が最も適切です。
選択肢ごとの解説
- ア:不正解
アジャイル開発の説明です。短い期間で開発を繰り返し、変更要求に対応しながら進めます。
- イ:不正解
プロトタイプモデルの説明です。試作品を作成し、利用者の評価を反映して完成形に近づけます。
- ウ:不正解
ウォーターフォールモデルの説明です。上流工程から下流工程へ、工程を順番に進めます。
- エ:正解
既存のプログラムを解析し、ソフトウェアの仕様を調査して設計情報を抽出するのがリバースエンジニアリングです。仕様書や設計書の不足を補う目的などで用いられます。
まとめ
リバースエンジニアリングとは、既存のプログラムなどの実装物を解析して、仕様や設計情報を推定して取り出す作業です。通常の開発が設計してから実装する流れであるのに対し、リバースエンジニアリングは実装物から設計情報へさかのぼる点が特徴です。
※本解説は生成AIによる学習支援用の参考情報です。内容の正確性や最新性は保証されません。最終的な判断は、試験実施団体の公式資料をご確認ください。
マネジメント系 > 開発技術 > ソフトウェア開発管理技術
順次、単語を追加予定です。もうしばらくお待ちください。
アジャイル開発の説明です。短い期間で開発を繰り返し、変更要求に対応しながら進めます。
プロトタイプモデルの説明です。試作品を作成し、利用者の評価を反映して完成形に近づけます。
ウォーターフォールモデルの説明です。上流工程から下流工程へ、工程を順番に進めます。
既存のプログラムを解析し、ソフトウェアの仕様を調査して設計情報を抽出するのがリバースエンジニアリングです。仕様書や設計書の不足を補う目的などで用いられます。