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