平成26年度 春期 午前 問50
ソフトウェア開発管理技術
リファクタリングに関する問題
ソフトウェア開発の活動のうち,リファクタリングはどれか。
- アソフトウェアの品質を高めるために,2 人のプログラマが協力して,一つのプログラムをコーディングする。
- イソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する。
- ウ動作するソフトウェアを迅速に開発するために,テストケースを先に設定してから,プログラムをコーディングする。
- エ利用者からのフィードバックを得るために,提供予定のソフトウェアの試作品を早期に作成する。
答えと解説を見る
✓ これが正解イソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する。
解説
外部仕様を変えずに内部構造を整える活動です。
この設問は、何を変えて何を変えないのかという一組を読み取れば決まります。リファクタリングは、すでに動いているプログラムを対象に、外から見える振る舞いはそのままにして、中の書き方だけを整え直す活動です。狙いは保守性で、読みやすく直しやすい形にしておくことで、あとから手を入れる負担を軽くします。外部仕様を変えないと決めているからこそ、整え直したあとも以前と同じ結果が返ることを確かめれば正しさを保証でき、これが安心して形を変えられる根拠になります。ですから、テストを整えてから取り掛かるのが定石とされます。開発の進め方を並べた肢の中から、すでにあるものを対象にし、かつ外向きの約束を動かさないものを選ぶことになります。
ほかの選択肢はなぜ違うのか
- アソフトウェアの品質を高めるために,2 人…:二人が一つの画面に向かって一緒に書き進めるという、作る場面での組み方についての説明です。品質を高める狙いは共通しますが、できあがった記述を整え直す活動ではありません。
- ウ動作するソフトウェアを迅速に開発するため…:何を満たせば良しとするかを先に決めてから書き始めるという、作る順序についての説明です。対象はこれから書くもので、すでにあるものの形を整え直す活動には当たりません。
- エ利用者からのフィードバックを得るために,…:利用者の反応を早く得るために試作品を先に作るという、要求を固めるための進め方です。作るものの中身を確かめる段の話であり、動いているものの内側を書き直す活動ではありません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
出典:平成26年度 春期 基本情報技術者試験 午前 問50
同じ用語が出る問題
- 令和元年度 秋期 午前 問58(テストケース)
- 令和元年度 秋期 午前 問49:命令網羅と判定条件網羅の関係(テストケース)
- 平成30年度 秋期 午前 問50:XPに関する問題(テストケース)
- 平成29年度 春期 午前 問50:リファクタリングに関する問題(テストケース)
- 平成29年度 春期 午前 問49:判定条件網羅に関する問題(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)