本文へスキップ

FE SUBJECT A

基本情報技術者 科目Aの問題解説:リバースエンジニアリングの説明はどれか。

テクノロジ系 標準 fe_a_s041_q006

問題

リバースエンジニアリングの説明はどれか。

  1. プロトタイプを作成して要件を確認する手法
  2. 要件定義から設計・実装へと順に進める開発手法
  3. 既存のソフトウェアやハードウェアを分析して設計情報を抽出する手法(正解)
  4. テスト結果を基にソースコードを自動生成する手法
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:既存のソフトウェアやハードウェアを分析して設計情報を抽出する手法

どんな論点か:リバースエンジニアリングは、完成済みのソフトウェアやハードウェアを解析し、内部構造、仕様、設計情報などを明らかにする手法です。保守や互換性確認、セキュリティ分析などで使われることがあります。

ほかの選択肢:アはプロトタイピング、イはウォーターフォール型開発、エはテスト結果からの自動生成に関する説明であり、既存成果物を逆方向に分析するリバースエンジニアリングとは異なります。

軽い類題:仕様書が残っていない古いプログラムを解析して処理内容を把握する作業は、リバースエンジニアリングに近いです。

紛らわしい用語との違い:設計情報から実装へ進む通常の流れをフォワードエンジニアリングと呼び、リバースエンジニアリングはその逆向きです。さらに、抽出した設計情報を基に作り直すことをリエンジニアリングといい、両者を組み合わせた既存システムの再構築でよく登場します。

他の選択肢はなぜ違う?

  • 試作品で要件を確認するのはプロトタイピング。
  • 要件定義から順に進めるのは通常の(フォワードの)開発。
  • テスト結果からのコード自動生成という手法の説明ではない。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題