科目A問38
XP(エクストリームプログラミング)の説明として,最も適切なものはどれか。
| テストプログラムを先に作成し,そのテストに合格するようにコードを記述する開発手法のことである。 | |
| 一つのプログラムを2人のプログラマが,1台のコンピュータに向かって共同で開発する方法のことである。 | |
| プログラムの振る舞いを変えずに,プログラムの内部構造を改善することである。 | |
| 要求の変化に対応した高品質のソフトウェアを短いサイクルでリリースする,アジャイル開発のアプローチの一つである。 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- エ
解説
エクストリームプログラミング(XP:eXtreme Programming)は、1990年代後半にケント・ベック(Kent Beck)らによって提唱されたソフトウェア開発手法であり、アジャイル開発の代表的な方法論の一つです。
従来のウォーターフォール型開発のように長い開発期間をかけて一度に成果物を完成させるのではなく、短い開発サイクル(イテレーション)を繰り返しながら機能を段階的に開発し、頻繁にリリースとフィードバックを行うことを特徴としています。
XPでは、顧客の要求が変化することを前提とし、開発途中でも仕様変更に柔軟に対応できるようにすることで、品質と生産性の向上を目指します。
そのために、開発チーム内のコミュニケーションを重視し、コード品質を維持するための様々な実践(プラクティス)を採用します。
代表的なプラクティスには次のようなものがあります。
・ペアプログラミング:2人の開発者が1台のコンピュータで協力してプログラムを作成する
・テスト駆動開発(TDD):テストコードを先に作成してから実装を行う
・リファクタリング:プログラムの動作を変えずに内部構造を改善する
・継続的インテグレーション:コードの変更を頻繁に統合し、早期に問題を発見する
このように、XPは短いサイクルで開発・テスト・リリースを繰り返すことで、顧客の要求変化に対応した高品質なソフトウェアを効率よく開発することを目的としたアジャイル開発手法です。
従来のウォーターフォール型開発のように長い開発期間をかけて一度に成果物を完成させるのではなく、短い開発サイクル(イテレーション)を繰り返しながら機能を段階的に開発し、頻繁にリリースとフィードバックを行うことを特徴としています。
XPでは、顧客の要求が変化することを前提とし、開発途中でも仕様変更に柔軟に対応できるようにすることで、品質と生産性の向上を目指します。
そのために、開発チーム内のコミュニケーションを重視し、コード品質を維持するための様々な実践(プラクティス)を採用します。
代表的なプラクティスには次のようなものがあります。
・ペアプログラミング:2人の開発者が1台のコンピュータで協力してプログラムを作成する
・テスト駆動開発(TDD):テストコードを先に作成してから実装を行う
・リファクタリング:プログラムの動作を変えずに内部構造を改善する
・継続的インテグレーション:コードの変更を頻繁に統合し、早期に問題を発見する
このように、XPは短いサイクルで開発・テスト・リリースを繰り返すことで、顧客の要求変化に対応した高品質なソフトウェアを効率よく開発することを目的としたアジャイル開発手法です。
| ア. | テストプログラムを先に作成し,そのテストに合格するようにコードを記述する開発手法のことである。 |
| テスト駆動開発(TDD:Test Driven Development)は、テストコードを先に作成し、そのテストを通過するようにプログラムを実装していく開発手法です。 | |
| イ. | 一つのプログラムを2人のプログラマが,1台のコンピュータに向かって共同で開発する方法のことである。 |
| ペアプログラミングは、2人のプログラマが1台のコンピュータを使用し、役割を交代しながら共同でプログラムを作成する開発手法です。 | |
| ウ. | プログラムの振る舞いを変えずに,プログラムの内部構造を改善することである。 |
| リファクタリングは、ソフトウェアの外部から見た振る舞いを変えずに、内部構造を改善して保守性や可読性を高める技法です。 | |
| エ. | 要求の変化に対応した高品質のソフトウェアを短いサイクルでリリースする,アジャイル開発のアプローチの一つである。 |
| エクストリームプログラミング(XP)は、短い開発サイクルで開発とリリースを繰り返し、要求変更に柔軟に対応することを特徴とするアジャイル開発手法です。 |