システム開発は、要件定義→システム設計→プログラミング→テスト→受入れ・導入→運用・保守の順に進める。IPAが2013年に発行した共通フレーム2013(SLCP-JCF2013)は、この一連の作業項目を発注者(取得者)と受注者(供給者)が同じ言葉で確認するための「共通の物差し」である。テストは対象範囲を段階的に広げながら、単体テスト→結合テスト→システムテスト(総合テスト)→受入れテストの順に実施する。受入れテストは発注者(利用者)側が主体となり、実際の運用と同じ条件で要件を満たしていることを確認し、合格すれば検収して納品を受け入れる。レビュー手法としては、ウォークスルーやインスペクションが問われる。
テストケース設計技法は2つに大別される。ブラックボックステストは内部構造を考慮せず入力と出力(外部から見た仕様)だけに着目する技法で、同値分割法と境界値分析法が代表的。ホワイトボックステストは内部の処理ロジックに着目する技法で、命令網羅(すべての命令を最低1回実行)や分岐網羅(判定条件の真偽を両方通す)といった網羅基準を用いる。修正・変更の後は、修正箇所以外への意図しない影響(デグレード)がないことをリグレッションテスト(回帰テスト)で確認する。JIS X 0161はソフトウェア保守を是正保守・予防保守(=訂正)と適応保守・完全化保守(=改良)の4タイプに分類する。既存ソフトウェアを解析して設計情報を導き出す技術がリバースエンジニアリングである。規模の見積りでは、1979年にIBMのA.J.アルブレヒトが考案したファンクションポイント(FP)法が代表で、利用者から見える機能の数に複雑さに応じた重み付けをして見積もるため、開発言語や開発者のスキルに依存しにくい。
開発モデルは対比で覚える。ウォーターフォールモデルは工程を上流から下流へ順番に進め、原則として前工程へ後戻りしない(計画・進捗管理はしやすいが仕様変更や手戻りのコストが大きい)。プロトタイピングモデルは早い段階で試作品を利用者に確認してもらい、認識のずれを早期に解消する。スパイラルモデルは1988年にB.W.ベームが提唱し、サブシステムなどに分割して設計→開発→テスト→評価のサイクルを繰り返しながら段階的に完成度を高める。アジャイル開発の原点は、2001年に17名の技術者が発表した「アジャイルソフトウェア開発宣言」(4つの価値と12の原則)である。
1. ウォーターフォール型のシステム開発を、上流工程から順に並べたものはどれか。
ウォーターフォール型は要件定義→システム設計→プログラミング→テスト→運用・保守の順に、上流から下流へ一方向に進める。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(システム開発のプロセス))
2. システム開発における要件定義工程の説明として、最も適切なものはどれか。
要件定義は開発の最初の工程で、利用者の要求を調査し、システム化の範囲や必要な機能・性能を明確にする。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(要件定義))
3. システム設計のうち、利用者から見える画面や帳票などのインタフェースを設計する工程はどれか。
外部設計(概要設計)は利用者視点で画面・帳票などのインタフェースを決め、内部設計はシステム内部の処理手順やデータ構造を決める。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(システム設計))
4. テスト工程を実施する順序として、適切なものはどれか。
テストは小さい単位から段階的に、単体→結合→システム→運用(受入れ)テストの順で実施する。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(テスト))
5. 複数のモジュールを組み合わせ、モジュール間のインタフェースが正しく連携するかを検証するテストはどれか。
結合テストは複数のモジュールを組み合わせ、モジュール間の連携(インタフェース)が正しいかを確認するテストである。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(テスト))
6. 完成したシステムが発注者の要求どおりに動作するかを、利用者(発注者)側が主体となって確認するテストはどれか。
受入れテスト(運用テスト)は開発の最終段階で、利用者(発注者)が要求どおりにできているかを確認するテストである。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(テスト))
7. V字モデルにおいて、外部設計と対応づけられるテスト工程はどれか。
V字モデルでは外部設計⇔システムテスト、内部設計⇔結合テスト、プログラミング⇔単体テスト、要件定義⇔受入れテストが対応する。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(V字モデル))
8. ウォーターフォールモデルの特徴として、最も適切なものはどれか。
ウォーターフォールモデルは上流から下流へ一方向に進め、原則として前工程が完了してから次工程に進む。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ウォーターフォールモデル))
9. 開発の初期段階で試作品を作成して利用者に評価してもらい、認識のずれを防ぎながら要求を確定していく開発モデルはどれか。
プロトタイピングモデルは試作品(プロトタイプ)を早期に作り利用者に評価してもらうことで、要求のずれを防いで要求を確定する。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(プロトタイピングモデル))
10. システムをいくつかの部分に分割し、部分ごとに設計・開発を繰り返して段階的に完成させる開発モデルはどれか。
スパイラルモデルはシステムを部分に分割し、部分ごとに設計・開発を反復して段階的に完成度を高めるモデルである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スパイラルモデル))
11. システム開発工程のうち、稼働後のシステムに対して不具合の修正や機能改善を継続的に行う工程はどれか。
運用・保守は、システム稼働後に安定稼働の維持や不具合修正・機能改善を継続的に行う、開発工程の最後の段階である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(システム開発のプロセス))
12. プログラムの内部構造(論理)に着目し、命令や分岐が意図どおり実行されるかを検証するテスト技法はどれか。
ホワイトボックステストはプログラムの内部構造(論理)に着目し、命令網羅や分岐網羅などの基準で検証する技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))
13. プログラムの内部構造を考慮せず、入力に対して仕様どおりの出力が得られるかに着目するテスト技法はどれか。
ブラックボックステストは内部構造を意識せず、入力と出力(仕様どおりの結果)の関係に着目して検証する技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))
14. ホワイトボックステストの網羅基準のうち、プログラム中のすべての命令を少なくとも1回は実行することを目標とするものはどれか。
命令網羅(C0)は、すべての命令(文)を少なくとも1回実行することを基準とする最も基本的な網羅基準である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))
15. ホワイトボックステストの網羅基準である分岐網羅(C1)の説明として、最も適切なものはどれか。
分岐網羅(C1)は各判定(分岐)の真と偽の両方を少なくとも1回実行する基準で、命令網羅より網羅性が高い。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))
16. ブラックボックステストの技法のうち、入力データを性質の同じグループ(同値クラス)に分け、各グループの代表値でテストする技法はどれか。
同値分割は入力を同値クラスに分け、各クラスの代表値をテストすることで効率よく網羅する技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))
17. ブラックボックステストで、入力の有効範囲の境目やその前後の値を重点的にテストする技法はどれか。
限界値分析は、誤りが起こりやすい有効範囲の境界付近の値を重点的にテストする技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))
18. 「1以上100以下」の整数を正常な入力とするプログラムを限界値分析でテストする場合、選ぶ値の組合せとして最も適切なものはどれか。
限界値分析では有効範囲の境目とその外側を選ぶため、0・1・100・101が適切な境界値となる。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))
19. 「1以上100以下」を正常値とする入力について同値分割を行うとき、代表値の選び方として最も適切なものはどれか。
同値分割では有効クラスと無効クラスに分け、それぞれの代表値を選んでテストする。境界値だけを選ぶのは限界値分析の考え方である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))
20. ホワイトボックステストが主に用いられるテスト工程はどれか。
ホワイトボックステストは内部論理に着目するため、モジュール単位で行う単体テストで主に用いられる。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))
21. 次のうち、ブラックボックステストで用いられる技法はどれか。
限界値分析と同値分割はブラックボックステストの技法であり、命令網羅・分岐網羅・条件網羅はホワイトボックステストの網羅基準である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))
22. アジャイル開発の特徴として、最も適切なものはどれか。
アジャイル開発は短い反復ごとに開発を繰り返し、仕様変更に柔軟に対応する点がウォーターフォールと対照的である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(アジャイル))
23. 2001年に発表された「アジャイルソフトウェア開発宣言」が重視する価値として、適切なものはどれか。
アジャイルソフトウェア開発宣言(2001年)は「包括的なドキュメントよりも動くソフトウェアを」など4つの価値を示す。 (『アジャイルソフトウェア開発宣言』(2001年))
24. スクラムにおいて、開発を進める一定の短い反復期間を表す用語はどれか。
スクラムではスプリントと呼ぶ短い期間(1か月以内)の反復を繰り返して開発を進める。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))
25. スクラムにおいて、開発すべき要件や作業を優先順位を付けて一覧化したものはどれか。
プロダクトバックログは開発すべき要件を優先順位付けして管理する一覧で、スクラムの中心的な成果物である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))
26. スクラムで、開発チームが毎日短時間行い、進捗や課題を共有するミーティングはどれか。
デイリースクラムは開発チームが毎日短時間(15分程度)行い、進捗確認や課題共有をするミーティングである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))
27. スクラムにおけるスクラムマスターの役割として、最も適切なものはどれか。
スクラムマスターはチームがスクラムを実践できるよう支援し、障害を取り除く役割で、指揮命令する管理者ではない。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))
28. スクラムにおいて、プロダクトの価値を最大化する責任をもち、プロダクトバックログの優先順位付けを行う役割はどれか。
プロダクトオーナーはプロダクトの価値最大化に責任をもち、プロダクトバックログの内容や優先順位を管理する。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))
29. ペアプログラミングやテスト駆動開発、リファクタリングなどのプラクティスを採用するアジャイル開発手法はどれか。
XP(エクストリームプログラミング)はペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどを採用するアジャイル手法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(XP:エクストリームプログラミング))
30. 2人1組で1台の端末を使い、一方がコードを書き、もう一方がその場で確認・レビューしながら開発する手法はどれか。
ペアプログラミングは2人1組で開発し、その場でレビューすることで品質向上や知識共有を図るXPのプラクティスである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ペアプログラミング))
31. テスト駆動開発(TDD)の説明として、最も適切なものはどれか。
テスト駆動開発(TDD)はテストを先に書き、そのテストに通るように実装を進める開発手法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(テスト駆動開発))
32. スクラムのスプリントに関する記述として、最も適切なものはどれか。
スプリントは1か月以内など固定した短い期間で、その中で計画から成果物のレビューまでを繰り返し行う。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))
33. プログラムの外部から見た動作を変えずに、内部構造を分かりやすく整理・改善する作業はどれか。
リファクタリングは振る舞い(外部から見た動作)を変えずに内部構造を改善し、保守性を高める作業である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(リファクタリング))
34. 共通フレーム(SLCP)の説明として、最も適切なものはどれか。
共通フレーム(SLCP)は、ソフトウェアの企画・開発・運用・保守などライフサイクル全体の作業内容や用語を共通化した枠組みである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ソフトウェアライフサイクルプロセス))
35. 共通フレーム(SLCP)を利用する主な目的として、最も適切なものはどれか。
共通フレームは取得者と供給者が共通の用語・認識をもち、作業範囲や役割分担を明確にして認識の齟齬を防ぐことを目的とする。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ソフトウェアライフサイクルプロセス))