平成29年度 春期 午前Ⅱ 問18
ソフトウェア開発管理技術
リファクタリングの説明
ソフトウェアのリファクタリングの説明はどれか。
- ア外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。
- イソースコードから設計書を作成する。
- ウソフトウェア部品を組み合わせてシステムを開発する。
- エプログラムの修正が他の部分に影響していないかどうかをテストする。
答えと解説を見る
✓ これが正解ア外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。
解説
外部から見た振る舞いを変えずに内部構造を整えるのがリファクタリングです。
リファクタリングは、プログラムの外部から見た振る舞い、つまり入力に対する出力や機能を変えずに、内部の構造を整理して読みやすく、直しやすくする作業です。見分ける軸は、機能を変えずに中身だけを良くしているかどうかです。外部から見た振る舞いを変更せずに保守性の高いプログラムに書き直すという記述は、この定義そのものです。作業の後には、振る舞いが変わっていないことを確かめるために、テストを流し直すのが一般的です。機能は同じ、中身はきれいに、と覚えておくと、ほかの保守に関する用語と取り違えにくくなります。
ほかの選択肢はなぜ違うのか
- イソースコードから設計書を作成する。:ソースコードを解析して設計書を作り出すのは、リバースエンジニアリングの説明です。既存のプログラムから上流の情報を復元する作業であり、プログラム自体を書き直すものではありません。
- ウソフトウェア部品を組み合わせてシステムを…:ソフトウェア部品を組み合わせてシステムを作るのは、部品を再利用して開発する方法の説明です。既存のプログラムの内部構造を改善する作業ではないので、リファクタリングとは目的が異なります。
- エプログラムの修正が他の部分に影響していな…:修正が他の部分に影響していないかを確かめるテストは、回帰テストの説明です。リファクタリングの後に行うことはありますが、確認のための試験そのものであり、プログラムを書き直す作業ではありません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
- ソースコード人が読み書きできる形で書かれた、プログラムそのものです。コンパイラなどで、コンピュータが実行できる形に変換して使います。
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:平成29年度 春期 プロジェクトマネージャ試験 午前Ⅱ 問18
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問17:バグトラッキングシステムの説明(ソースコード)
- 令和5年度 秋期 午前Ⅱ 問25:ファジングに関する問題(ソースコード)
- 令和5年度 秋期 午前Ⅱ 問18:TCOに関する問題(保守)
- 令和5年度 秋期 午前Ⅱ 問17:著作権に関する問題(ソースコード)
- 令和2年度 10月 午前Ⅱ 問12:保守性の評価指標になるもの(保守)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)