基本情報技術者試験 - 令和5年1月修了 - 問50
ソフトウェアを保守するときなどに利用される技術であるリバースエンジニアリングに該当するものはどれか。
| ア | ソースプログラムを解析してプログラム仕様書を作る。 |
|---|---|
| イ | ソースプログラムを探索して修正箇所や影響度を調べる。 |
| ウ | ソースプログラムを見直して構造化されたプログラムに変換する。 |
| エ | ソースプログラムを分かりやすい表現に書き換える。 |
答え : ア
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
「リバースエンジニアリング」とは,既に完成しているソフトウェアのソースプログラムを解析し,そこからプログラムの仕様書や設計情報を導き出す技術のことです。
通常のソフトウェア開発では仕様書から設計を経てプログラムを作成しますが,リバースエンジニアリングはこの流れを逆にたどる作業であるため,このように呼ばれています。保守作業において,古いシステムの仕様書が失われていたり,内容が古くなっていたりする場合に,現在のソースプログラムから正確な仕様を再構築するために用いられます。
「イ」は,ソースプログラムを探索して修正箇所や影響度を調べるという説明ですが,これは保守作業における影響分析についての説明であり,リバースエンジニアリングそのものとは異なる作業です。
「ウ」は,ソースプログラムを見直して構造化されたプログラムに変換するという説明ですが,これはリストラクチャリング(再構築)と呼ばれる作業であり,リバースエンジニアリングとは区別されます。
「エ」は,ソースプログラムを分かりやすい表現に書き換えるという説明ですが,これはリライトやリファクタリングに近い作業であり,仕様書を作成するリバースエンジニアリングとは異なります。
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
同一問題 : 〔平30修1問50〕
解説 : 「リバースエンジニアリング」とは,既に完成しているソフトウェアのソースプログラムを解析し,そこからプログラムの仕様書や設計情報を導き出す技術のことです。
通常のソフトウェア開発では仕様書から設計を経てプログラムを作成しますが,リバースエンジニアリングはこの流れを逆にたどる作業であるため,このように呼ばれています。保守作業において,古いシステムの仕様書が失われていたり,内容が古くなっていたりする場合に,現在のソースプログラムから正確な仕様を再構築するために用いられます。
「イ」は,ソースプログラムを探索して修正箇所や影響度を調べるという説明ですが,これは保守作業における影響分析についての説明であり,リバースエンジニアリングそのものとは異なる作業です。
「ウ」は,ソースプログラムを見直して構造化されたプログラムに変換するという説明ですが,これはリストラクチャリング(再構築)と呼ばれる作業であり,リバースエンジニアリングとは区別されます。
「エ」は,ソースプログラムを分かりやすい表現に書き換えるという説明ですが,これはリライトやリファクタリングに近い作業であり,仕様書を作成するリバースエンジニアリングとは異なります。