実体験から始める情報講座

基本情報技術者講座

★ 猫本 9-02 ソフトウェア開発(その1) ★

基本情報技術者 令和元年度秋期 問50

XP(eXtreme Programming)において,プラクティスとして提唱されているものはどれか。

ア  インスペクション
イ  構造化設計
ウ  ペアプログラミング
エ  ユースケースの活用

解説

(頭の準備体操)

アジャイル開発:短い開発工程を何度も繰り返し,迅速かつ段階的に完成度を高める開発手法。変化するビジネス環境や利用者の要望を素早く取り入れる。

XP:アジャイル開発の方法論の一つ。その他にスクラムなどがある。

ペアプログラミング:2人のプログラマが協力して,一つのプログラムを作成する。プログラムの品質向上を図る。


「品質の向上や知識の共有を図るために,2人のプログラマがペアとなり,その場で相談したりレビューしたりしながら,一つのプログラムの開発を行う。」(AP26.2.49)

よって,ウである。

解答

基本情報技術者 平成30年度春期 問50

エクストリームプログラミング(XP:eXtreme Programming)のプラクティスのうち,プログラム開発において,相互に役割を交替し,チェックし合うことによって,コミュニケーションを円滑にし,プログラムの品質向上を図るものはどれか。

ア  計画ゲーム
イ  コーディング標準
ウ  テスト駆動開発
エ  ペアプログラミング

解説

(頭の準備体操)

アジャイル開発:短い開発工程を何度も繰り返し,迅速かつ段階的に完成度を高める開発手法。変化するビジネス環境や利用者の要望を素早く取り入れる。

XP:アジャイル開発の方法論の一つ。その他にスクラムなどがある。

ペアプログラミング:2人のプログラマが協力して,一つのプログラムを作成する。プログラムの品質向上を図る。


ア  開発者と利用者がイテレーションの期間内に実装すべき機能を決定する。
イ  プログラマは,コーディング標準に従ってコードを記述する。
ウ  「動作するソフトウェアを迅速に開発するために,テストケースを先に設定してから,プログラムをコーディングする。」(FE29.1.50)
エ  「ソフトウェアの品質を高めるために,2人のプログラマが協力して,一つのプログラムをコーディングする。」(FE29.1.50)(正解)

解答

基本情報技術者 平成29年度春期 問50

ソフトウェア開発の活動のうち,アジャイル開発においても重視されているリファクタリングはどれか。

ア  ソフトウェアの品質を高めるために,2人のプログラマが協力して,一つのプログラムをコーディングする。
イ  ソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する。
ウ  動作するソフトウェアを迅速に開発するために,テストケースを先に設定してから,プログラムをコーディングする。
エ  利用者からのフィードバックを得るために,提供予定のソフトウェアの試作品を早期に作成する。

解説

アジャイル開発:短い開発工程を何度も繰り返し,迅速かつ段階的に完成度を高める開発手法。変化するビジネス環境や利用者の要望を素早く取り入れる。

XP:アジャイル開発の方法論の一つ。その他にスクラムなどがある。

リファクタリング:外側から見たソフトウェアの動きを変えることなく内部構造を改善する。ソフトウェアの保守性を高める。


ア  ペアプログラミング
イ  リファクタリング(正解)
ウ  テスト駆動開発
エ  プロトタイピング

解答

基本情報技術者 平成30年度秋期 問50

XP(Extreme Programming)のプラクティスの説明のうち,適切なものはどれか。

ア  顧客は単体テストの仕様に責任をもつ。
イ  コードの結合とテストを継続的に繰り返す。
ウ  コードを作成して結合できることを確認した後,テストケースを作成する。
エ  テストを通過したコードは,次のイテレーションまでリファクタリングしない。

解説

(頭の準備体操)

アジャイル開発:短い開発工程を何度も繰り返し,迅速かつ段階的に完成度を高める開発手法。変化するビジネス環境や利用者の要望を素早く取り入れる。

XP:アジャイル開発の方法論の一つ。その他にスクラムなどがある。

継続的インテグレーション:コード結合とテストを継続的に繰り返す。


ア  開発者は単体テストの仕様に責任をもつ。
イ  継続的インテグレーション:コードの結合とテストを継続的に繰り返す。(正解)
ウ  「動作するソフトウェアを迅速に開発するために,テストケースを先に設定してから,プログラムをコーディングする。」(FE29.1.50)
エ  テストを通過したコードは,随時リファクタリングして改善する
「ソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する。」(FE29.1.50)

解答