平成22年度 春期 午前Ⅱ 問19
ソフトウェア開発管理技術
リバースエンジニアリングの説明
リバースエンジニアリングの説明はどれか。
- ア既存のプログラムからそのプログラムの仕様を導き出すこと
- イ既存のプログラムから導き出された仕様を修正してプログラムを開発すること
- ウクラスライブラリ内の既存のクラスを利用してプログラムを開発すること
- エ部品として開発されたプログラムを組み合わせてプログラムを開発すること
答えと解説を見る
✓ これが正解ア既存のプログラムからそのプログラムの仕様を導き出すこと
解説
既存のプログラムから、そのプログラムの仕様を導き出すことです。
リバースエンジニアリングは、通常の開発とは逆向きに、既存のプログラムからそのプログラムの仕様や設計を導き出す技術です。仕様から設計、設計からプログラムへと進む普段の流れをさかのぼり、動いているプログラムを解析して、どのような仕様で作られているかを明らかにします。設計書が失われたシステムや、改修を重ねて文書と実物が合わなくなったシステムの保守に使われます。導き出した仕様をもとに作り直すところまで含めるかどうかで他の選択肢と区別でき、仕様を導き出すところで終わる、と押さえると判断できます。
ほかの選択肢はなぜ違うのか
- イ既存のプログラムから導き出された仕様を修…:既存のプログラムから導き出した仕様を修正して、新しいプログラムを開発するところまで進めています。仕様を導き出す部分は逆向きの作業ですが、それをもとに作り直す工程まで含めた、再構築の作業全体の説明です。
- ウクラスライブラリ内の既存のクラスを利用し…:クラスライブラリ内の既存のクラスを利用してプログラムを開発するのは、用意された部品を再利用する開発の進め方です。既存のプログラムから仕様をさかのぼって導き出す作業ではありません。
- エ部品として開発されたプログラムを組み合わ…:部品として開発されたプログラムを組み合わせて開発するのは、部品の組立てによる開発の進め方です。完成したプログラムを解析して仕様を明らかにする、逆向きの作業とは異なります。
出典:平成22年度 春期 プロジェクトマネージャ試験 午前Ⅱ 問19
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)