【問82】ITパスポート 練習問題|リバースエンジニアリングの活用場面
システム開発と開発管理技術 問12/12難易度C(難しい)
問題文
既存のソフトウェアを解析して仕様や設計の情報を取り出すリバースエンジニアリングに関する記述として、適切なものはどれか。
- 1.取り出した設計情報を基に新しいシステムを作り上げる作業までを含めてリバースエンジニアリングという。
- 2.他社の製品を解析して設計情報を得る行為は、著作権など権利者の権利に配慮する必要がない。
- 3.仕様書が失われた既存システムを解析して設計情報を復元し、再構築や保守に生かすことができる。
- 4.実行形式のプログラムからは情報を取り出せないため、ソースコードがある場合しか利用できない。
解説
正解は3。リバースエンジニアリングは、稼働している既存のソフトウェアやその実行モジュールを解析して、仕様、設計、データ構造といった情報を取り出す技術である。仕様書が残っていない古いシステムの保守や、新しいシステムへの作り直しの土台づくりに役立つ。1は誤り。取り出した設計情報を基に新しいシステムを作り上げる方向の作業はフォワードエンジニアリングと呼ばれ、解析する向きと作る向きで区別される。2は誤り。他社製品の解析は著作権や利用許諾契約上の制約に触れる場合があり、権利者の権利への配慮が欠かせない。4は誤り。逆アセンブルなどによって実行形式のプログラムから構造を読み取る手法もあるため、ソースコードがある場合に限られるわけではない。既存の資産をどう生かすかという観点で用語を整理しておきたい。