基本情報技術者試験 - 令和7年1月修了 - 問40
ソフトウェアのリファクタリングの説明はどれか。
| ア | 外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。 |
|---|---|
| イ | ソースコードから設計書を再作成する。 |
| ウ | ソフトウェア部品を組み合わせてシステムを開発する。 |
| エ | プログラムの修正が他の部分に影響していないかどうかをテストする。 |
答え : ア
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
「リファクタリング」(refactoring)とは,プログラムの外から見た動作(入力に対してどんな出力が返ってくるかという振る舞い)はまったく変えずに,プログラムの内部の構造だけをより分かりやすく,修正や機能追加がしやすい(保守性の高い)形に書き直す作業のことです。動作を変えないという点がポイントで,バグの修正や新機能の追加とは異なる目的で行われます。従って,正解は「ア」です。
「イ」は,ソースコードから設計書を作り直すリバースエンジニアリングの説明です。「ウ」は,すでにある部品(ソフトウェア部品)を組み合わせてシステムを開発する,コンポーネントベース開発などの説明です。「エ」は,プログラムを修正した際に,他の部分に影響が出ていないかを確認する「リグレッションテスト」(回帰テスト)の説明であり,リファクタリングという書き直しの作業そのものの説明ではありません。
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
同一問題 : 〔令8修1問40〕
解説 : 「リファクタリング」(refactoring)とは,プログラムの外から見た動作(入力に対してどんな出力が返ってくるかという振る舞い)はまったく変えずに,プログラムの内部の構造だけをより分かりやすく,修正や機能追加がしやすい(保守性の高い)形に書き直す作業のことです。動作を変えないという点がポイントで,バグの修正や新機能の追加とは異なる目的で行われます。従って,正解は「ア」です。
「イ」は,ソースコードから設計書を作り直すリバースエンジニアリングの説明です。「ウ」は,すでにある部品(ソフトウェア部品)を組み合わせてシステムを開発する,コンポーネントベース開発などの説明です。「エ」は,プログラムを修正した際に,他の部分に影響が出ていないかを確認する「リグレッションテスト」(回帰テスト)の説明であり,リファクタリングという書き直しの作業そのものの説明ではありません。