ITパスポート試験 過去問解説

リバースエンジニアリングとは?ITパスポート試験 2018年 (平成30年 秋期) 問39を解説

ITパスポート試験 2018年 (平成30年 秋期) 問39は、リバースエンジニアリングに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

自社開発して長年使用しているソフトウェアがあるが,ドキュメントが不十分で保守性が良くない。保守のためのドキュメントを作成するために,既存のソフトウェアのプログラムを解析した。この手法を何というか。

この問題の出題ポイント

  • リバースエンジニアリングの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • マネジメント系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: システム開発技術、リバースエンジニアリング、保守。

選択肢

  1. ウォータフォールモデル
  2. スパイラルモデル
  3. プロトタイピング
  4. リバースエンジニアリング正解

正解

: リバースエンジニアリング

解説

リバースエンジニアリング(Reverse Engineering)は、既存ソフトウェアのプログラム(バイナリやソースコード)を解析して設計書・仕様書など上流のドキュメントを復元する手法。本来の開発(設計→実装)とは逆方向のアプローチ(実装→設計)であることから「リバース(逆)」と呼ばれる。ドキュメントが不足して保守性が低いレガシーシステムの解析・理解や、移行・再構築のための情報収集に活用される手法で、知的財産の観点から法的な制約が伴う場合もある。

なぜ他の選択肢が違うのか

  • 誤り。ウォータフォールモデルは要件定義→外部設計→内部設計→プログラミング→テスト→運用の各工程を順次進める伝統的な開発モデル。工程を滝のように一方向に流れる直線的な開発プロセスを表し、既存プログラムを解析してドキュメントを復元するリバースエンジニアリングとは全く異なる手法である。

  • 誤り。スパイラルモデルはサブシステムごとに計画→設計→実装→評価のサイクルを繰り返す開発手法。大規模システムをリスク管理しながら段階的に開発する手法であり、既存コードを逆解析して仕様を抽出するリバースエンジニアリングとは異なる開発手法である。

  • 誤り。プロトタイピングは開発早期に簡易な試作品(プロトタイプ)を作成してユーザーに確認してもらい、要件の精緻化・手戻り防止を図る開発手法。ユーザーの要件明確化を目的とした手法であり、既存プログラムの解析・仕様復元を目的とするリバースエンジニアリングとは異なる。

  • エ(正解)

    正解。リバースエンジニアリングは既存プログラムを解析して仕様・設計情報を抽出する手法。ドキュメントが不十分なレガシーシステムの保守・移行に際して、失われた設計情報を再構築するために用いられる。解析結果を基にした再設計・モダナイゼーションへの第一歩ともなる。

解き方の整理

リバースエンジニアリングの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連用語

関連問題

前後の問題

2018年 (平成30年 秋期) の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。