問39
頻出度★★★
自社開発して長年使用しているソフトウェアがあるが,ドキュメントが不十分で保守性が良くない。保守のためのドキュメントを作成するために,既存のソフトウェアのプログラムを解析した。この手法を何というか。
この問題の解説と、これまでの解答の記録です。
自社開発して長年使用しているソフトウェアがあるが,ドキュメントが不十分で保守性が良くない。保守のためのドキュメントを作成するために,既存のソフトウェアのプログラムを解析した。この手法を何というか。
ウォータフォールモデルは、要件定義→設計→実装→テストと工程を上流から下流へ順番に進めるソフトウェア開発モデルであり、開発の進め方を指す。既存プログラムを解析してドキュメントを復元する手法ではないので誤り。
スパイラルモデルは、設計・実装・評価のサイクルを繰り返し、少しずつ機能を作り込みながらリスクを減らしていく開発モデルである。これも開発プロセスの一種であり、既存プログラムからドキュメントを取り出す手法ではないので誤り。
プロトタイピングは、開発の早い段階で試作品 (プロトタイプ) を作り、利用者に確認してもらって要求のズレを早期に修正する手法である。新規開発時の要求確認が目的であり、既存プログラムを解析する手法ではないので誤り。
正解 既存のソフトウェアのプログラムを解析し、そこから設計情報や仕様書などのドキュメントを取り出す手法を「リバースエンジニアリング」という。この問題では、長年使ってきたがドキュメントが不十分なソフトウェアについて、保守用のドキュメントを作るために既存プログラムを解析している。まさに「動いている成果物 (プログラム) から上流の情報 (仕様・設計) を復元する」という逆方向の作業であり、リバースエンジニアリングの典型例である。よって正解はエ。