令和5年度 ITパスポート試験 公開問題 問39 解説 リバースエンジニアリング
問39 運用中のソフトウェアの仕様書がないので,ソースコードを解析してプログラムの 仕様書を作成した。この手法を何というか。
- ア コードレビュー
- イ デザインレビュー
- ウ リバースエンジニアリング ✓ 正答
- エ リファクタリング
解説
この問題は、キーワードの「逆(リバース)」という言葉に着目すれば即座に正解できます。プログラムから仕様書を作るという流れは、本来の開発工程とは逆の方向をたどっているため、リバースエンジニアリングと判断します。
開発におけるエンジニアリングの基本は、仕様書を作り、それに基づいてプログラムを構築する(フォワードエンジニアリング)という流れです。しかし、古いシステムや仕様書が紛失したシステムを扱う際、まず手元にあるソースコードを解析して、その内部構造や論理を紐解き、改めて設計図(仕様書)を復元する作業が必要になります。この「完成物から設計図を導き出す」という逆行するプロセスを指すのがリバースエンジニアリングです。
ITパスポート試験において、この言葉は「既存のシステムを理解するための解析手法」として登場します。似た言葉として混同しやすい用語との違いを整理しておくと、試験本番で迷わなくなります。
リファクタリングは、プログラムの外部的な機能や動作を一切変えずに、内部のコードを読みやすくしたり、冗長な記述を整理したりする作業です。コードの「質」を高めるための改善活動であり、仕様を解析するリバースエンジニアリングとは目的が異なります。
コードレビューは、作成したプログラムを開発チームのメンバーで相互に確認し、バグや品質の問題がないかチェックするプロセスです。人間による目視やツールを用いた確認工程を指します。
デザインレビューは、開発の各フェーズにおいて、設計書の内容が妥当かどうか、要件を満たしているかを確認する評価会議のことです。
試験では「保守開発の現場で、仕様書がない古いシステムの解析を行う際に用いる手法」といったストーリーで出題されることが多いため、逆方向にたどるというイメージを持って用語を覚えておきましょう。
- リファクタリングとは何か(Qiita)