問題
問39
運用中のソフトウェアの仕様書がないので、ソースコードを解析してプログラムの仕様書を作成した。この手法を何というか。
- コードレビュー
- デザインレビュー
- リバースエンジニアリング
- リファクタリング
[出典:ITパスポート試験 令和5年度 問39]
スポンサーリンク
正解
正解は「ウ」です。
解説
リバースエンジニアリングとは、既存のソフトウェアやハードウェアを解析し、その仕様や構造を明らかにする手法です。本問では「ソースコードを解析して仕様書を作成」するという目的が示されており、これはリバースエンジニアリングの典型的な適用例です。
例えば、古いシステムのソースコードしか残っておらず、ドキュメントがない場合に、プログラムの動作を解析して新たに仕様書を作成することがあります。このような状況では、リバースエンジニアリングを活用することで、システムの理解を深め、適切な保守や改修を行うことができます。
ア(コードレビュー):
コードレビューは、開発者同士がソースコードをチェックし、バグや改善点を指摘するプロセスです。本問のように仕様書を作成する目的には適していません。
イ(デザインレビュー):
デザインレビューは、システム設計やアーキテクチャの妥当性を評価するプロセスです。コードの解析ではなく、開発前の設計段階で行われることが一般的です。
エ(リファクタリング):
リファクタリングは、ソースコードの動作を変えずに内部構造を改善する手法です。仕様書を作成する目的ではなく、コードの保守性向上を目的とするため、本問の状況には当てはまりません。
難易度
普通
リバースエンジニアリングの概念を理解していれば容易に解答できるが、他の選択肢と混同しやすいため、基礎知識の習得が必要です。
スポンサーリンク
用語補足
リバースエンジニアリング:
既存のソフトウェアやハードウェアの動作を解析し、仕様や設計を明らかにする手法です。例えば、古いシステムの保守のために、ソースコードを解析して仕様書を作成する場合に使用されます。
コードレビュー:
開発者が互いにソースコードをチェックし、バグや改善点を指摘するプロセスです。チーム開発では、品質向上のために必須の作業とされています。
対策
- リバースエンジニアリングの具体的な用途と、他のソフトウェア開発手法との違いを理解しましょう。
- コードレビューやリファクタリングなど、開発現場で使用される各手法の目的と特徴を整理して学習しましょう。
- ITパスポート試験では、ソフトウェア開発に関する基礎知識が問われるため、実際の開発プロセスをイメージしながら学習すると効果的です。