ITパスポート過去問 平成30年度(2018年)問39
自社開発して長年使用しているソフトウェアがあるが,ドキュメントが不十分で保守性が良くない。保守のためのドキュメントを作成するために,既存のソフトウェアのプログラムを解析した。この手法を何というか。
選択肢
- ア:ウォータフォールモデル
- イ:スパイラルモデル
- ウ:プロトタイピング
- エ:リバースエンジニアリング
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
既存ソフトウェアのプログラムを解析して、処理内容や内部構造、設計書などのドキュメントに相当する情報を明らかにする手法はリバースエンジニアリングです。ドキュメント不足で保守性が低い場合に、保守用ドキュメントの作成を目的として用いられます。
Point
既存プログラムを解析して設計情報や仕様を把握し、保守のためのドキュメント作成につなげる手法として、リバースエンジニアリングを選べるようにすることがねらいです。
解くために必要な知識
この問題を解くには、保守に関わる開発関連用語(リバースエンジニアリング等)の理解が必要です。
用語の整理
各用語の違い
| 用語名 | 意味 | 主な目的 |
|---|---|---|
| リバースエンジニアリング | 既存のプログラムや製品を解析し、仕様・設計などを推定してドキュメント化する手法です。 | 保守用ドキュメントの作成、設計情報の復元などです。 |
| ウォータフォールモデル | 要件定義、設計、実装、テストのように工程を順番に進める開発モデルです。 | 新規開発を計画的に進めることです。 |
| スパイラルモデル | 計画、評価、開発を繰り返し、リスクを見ながら段階的に進める開発モデルです。 | リスクを抑えつつ段階的に開発することです。 |
| プロトタイピング | 試作品(プロトタイプ)を作り、利用者の確認や要求の明確化に役立てる開発手法です。 | 要求の確認、仕様の具体化、合意形成などです。 |
選択肢ごとの解説
- ア:不正解
ウォータフォールモデルは、工程を上流から下流へ順番に進める開発モデルです。既存プログラムを解析してドキュメントを作成する手法ではないため誤りです。
- イ:不正解
スパイラルモデルは、設計、実装、テスト、評価などのサイクルを繰り返して開発を進める手法です。既存プログラムを解析して仕様を明らかにする手法ではありません。
- ウ:不正解
プロトタイピングは、試作品を作成して利用者の確認を通じて要件を固める手法です。既存プログラムを解析してドキュメントを作成する手法ではありません。
- エ:正解
リバースエンジニアリングは、既存プログラムを解析して仕様や設計情報を明らかにする手法です。ドキュメント不足のソフトウェアで保守用ドキュメントを作る目的に合致するため正解です。
まとめ
既存ソフトウェアのプログラムを解析して、処理内容や内部構造、設計書などのドキュメントに相当する情報を明らかにする手法はリバースエンジニアリングです。ドキュメント不足で保守性が低い場合に、保守用ドキュメントの作成を目的として用いられます。
マネジメント系 > 開発技術 > ソフトウェア開発管理技術
ウォータフォールモデルは、工程を上流から下流へ順番に進める開発モデルです。既存プログラムを解析してドキュメントを作成する手法ではないため誤りです。
スパイラルモデルは、設計、実装、テスト、評価などのサイクルを繰り返して開発を進める手法です。既存プログラムを解析して仕様を明らかにする手法ではありません。
プロトタイピングは、試作品を作成して利用者の確認を通じて要件を固める手法です。既存プログラムを解析してドキュメントを作成する手法ではありません。
リバースエンジニアリングは、既存プログラムを解析して仕様や設計情報を明らかにする手法です。ドキュメント不足のソフトウェアで保守用ドキュメントを作る目的に合致するため正解です。