📅 公開日:2026年3月20日
【応用情報技術者試験】システム開発手法を完全解説|ウォーターフォール・アジャイル・テスト手法
応用情報技術者試験のシステム開発技術分野では、開発プロセスモデル・テスト手法・品質管理が頻出です。ウォーターフォールモデルとアジャイル開発の違い、各テスト手法の特徴を正確に理解しましょう。
1. ソフトウェア開発プロセスモデル
ウォーターフォールモデル
要件定義 → 基本設計 → 詳細設計 → 実装 → テスト → 運用・保守という工程を 順番に一方向に進める 開発モデルです。
滝(ウォーターフォール)のように上から下へ流れるイメージです。前の工程に原則として戻りません。
メリット: - 工程が明確で管理しやすい - 大規模で要件が安定しているプロジェクトに向いている - 進捗管理がしやすい
デメリット: - 要件変更への対応が難しい - テスト工程まで動くソフトウェアが確認できない
アジャイル開発
短い反復(スプリント・イテレーション:1〜4週間)を繰り返しながら開発を進める手法です。各スプリントで動作するソフトウェアを作り、顧客フィードバックを得ながら柔軟に変化に対応します。
| フレームワーク | 特徴 |
|---|---|
| スクラム | スプリント・プロダクトオーナー・スクラムマスターの役割分担 |
| XP(エクストリームプログラミング) | ペアプログラミング・TDD・リファクタリング |
| カンバン | 作業の可視化・WIP 制限による流れの最適化 |
スパイラルモデル
システムを小さな単位に分割し、設計→実装→評価→計画のサイクルを繰り返しながら段階的に開発する手法です。プロトタイプを活用してリスクを早期に評価します。
2. V字モデル
V字モデルは開発工程と対応するテスト工程をV字形に対応させたモデルです。
要件定義 ←→ 受入テスト
基本設計 ←→ システムテスト
詳細設計 ←→ 結合テスト
実装 ←→ 単体テスト
各開発工程に対応するテストを明確にする点が特徴です。
3. テスト手法
ブラックボックステスト
プログラムの 内部構造を知らずに、仕様書に基づいて入力と出力の関係のみを確認するテスト手法です。
テスト設計技法: - 同値分割:入力値を「有効な値」と「無効な値」のグループに分けてテスト - 境界値分析:有効範囲の境界値(最小値・最大値・境界±1)を中心にテスト - デシジョンテーブル:条件の組み合わせを表で整理してテスト
ホワイトボックステスト
プログラムの 内部構造(ソースコード)を理解した上で テストケースを設計する手法です。
カバレッジ基準: | 基準 | 内容 | |------|------| | 命令網羅(C0) | すべての命令を少なくとも1回実行 | | 分岐網羅(C1) | すべての分岐(真・偽)を網羅 | | 条件網羅(C2) | 各条件の全組み合わせを網羅 |
テストの種類と実施順序
| テスト種別 | 対象 | 実施者 |
|---|---|---|
| 単体テスト | 個々のモジュール | 開発者 |
| 結合テスト | モジュール間のインターフェース | 開発者 |
| システムテスト | システム全体の機能・性能 | テストチーム |
| 受入テスト(UAT) | 業務要件を満たしているか | 発注者・ユーザー |
4. 品質管理
QC7つ道具
| ツール | 用途 |
|---|---|
| ヒストグラム | データの分布・散らばりを可視化 |
| 管理図 | 工程の安定性を時系列で監視 |
| パレート図 | 問題の原因を重要度順に可視化 |
| 特性要因図(フィッシュボーン) | 問題の原因を体系的に整理 |
| 散布図 | 2つの変数の相関関係を可視化 |
| チェックシート | データの収集・記録 |
| 層別 | データをグループ別に分類分析 |
5. ソフトウェア保守の種類
| 保守の種類 | 内容 | 例 |
|---|---|---|
| 是正保守 | バグ・欠陥の修正 | エラーの修正 |
| 適応保守 | 環境変化への対応 | OS アップデートへの対応 |
| 完全化保守 | 機能追加・性能改善 | 新機能の追加 |
| 予防保守 | 将来の変更に備えた改善 | コードのリファクタリング |
まとめ
- ウォーターフォール:工程を順番に進める、要件変更に弱い
- アジャイル:短い反復で開発、変化に柔軟に対応
- ブラックボックス:内部不問・入出力で検証 / ホワイトボックス:内部構造を理解してテスト
- V字モデルで開発工程とテスト工程の対応を把握する
- ソフトウェア保守は是正・適応・完全化・予防の4種類