開発技術 — 開発モデル・テスト種別・アジャイル・DevOps
最終確認日:
この章で学ぶこと
開発技術は 6〜8 問程度出題。プロセス名、テスト種別、アジャイル関連用語が頻出。
学習ゴール
この章を読み終えた時点で、以下ができるようになっていることを目指します。
- ウォータフォール・アジャイル・スパイラルの開発モデルの違いを判別できる
- テスト種別(単体・結合・システム・受入)を使いこなせる
- レビュー技法(ウォークスルー・インスペクション等)を判別できる
- オブジェクト指向の基本概念(クラス・継承・カプセル化・ポリモーフィズム)を使いこなせる
- DevOps・CI/CDなどモダン開発手法を判別できる
1. システム開発プロセス
1.1 開発の全体フロー
システム開発は基本的に 「要件定義 → 設計 → 実装 → テスト → 導入 → 運用」 の順で進みます。テストは「単体 → 結合 → システム → 受入」と段階的に範囲を広げていきます。
| 設計フェーズ(左) | 対応するテストフェーズ(右) |
|---|---|
| ① 要件定義 | ⑧ 受入テスト |
| ② 外部設計 | ⑦ システムテスト |
| ③ 内部設計 | ⑥ 結合テスト |
| ④ プログラミング | ⑤ 単体テスト |
V 字モデル: 左の設計フェーズと右のテストフェーズが対応関係になっており、「どの設計段階で考えた要件・仕様を、どのテスト段階で検証するか」が一目で分かる。
- 要件定義 — 何を作るかの合意
- システム設計 — 外部設計(UI 設計)→ 内部設計(構造設計)
- プログラミング — 実装
- テスト — 単体 → 結合 → システム → 受入
- 導入 — 本番稼働
- 運用・保守 — 継続的な改善
覚え方: 要 → 外 → 内 → プ → 単 → 結 → シ → 受(要件 → 外部設計 → 内部設計 → プログラミング → 単体テスト → 結合テスト → システムテスト → 受入テスト)。V 字の両翼を上から下へ降りて、また上に登るイメージ。
1.2 要件定義
| 区分 | 内容 |
|---|---|
| 機能要件 | システムが提供する機能(何をする) |
| 非機能要件 | 品質特性(性能、可用性、セキュリティ、保守性、移植性) |
1.3 設計フェーズ
| 段階 | 別名 | 主な成果物 |
|---|---|---|
| 外部設計 | 基本設計 | 画面設計、帳票設計、インタフェース仕様 |
| 内部設計 | 詳細設計 | プログラム分割、データ構造 |
| プログラム設計 | — | モジュール仕様、処理ロジック |
2. プログラミングとレビュー
2.1 コーディング関連用語
- ソースコード — プログラムの人間可読形式
- コンパイル — ソースを機械語に変換
- インタプリタ — 逐次解釈実行
- デバッグ — バグを見つけて修正する作業
- リファクタリング — 動作を変えず内部構造を改善
2.2 レビューの種類
| レビュー方式 | 特徴 |
|---|---|
| ウォークスルー | 作成者が説明しながら進める |
| インスペクション | 第三者が厳格にチェック |
| ペアプログラミング | 2 人で 1 台の PC を使い協働 |
| コードレビュー | 成果物の相互チェック |
3. テスト
3.1 テストの段階
| 段階 | 対象 | 実施者 |
|---|---|---|
| 単体テスト | 個々のモジュール | 開発者 |
| 結合テスト | モジュール間連携 | 開発者 |
| システムテスト | システム全体 | 開発チーム |
| 運用テスト | 本番環境での動作 | 利用者 |
| 受入テスト | 検収 | 発注者 |
3.2 テスト手法
| 手法 | 特徴 |
|---|---|
| ホワイトボックステスト | 内部構造を考慮。分岐・経路網羅 |
| ブラックボックステスト | 入出力のみで確認。同値分割・境界値分析 |
| 回帰テスト(リグレッション) | 修正後に他の機能が壊れていないか確認 |
| 負荷テスト | 想定最大負荷での動作確認 |
| ストレステスト | 限界を超える負荷での動作確認 |
| ユーザビリティテスト | 使いやすさの評価 |
ホワイトボックステスト
内部構造(コード・分岐)を見て設計
例:
if (x > 0):
処理 A
else:
処理 B
return result
命令網羅・分岐網羅・条件網羅
主に開発者が実施
ブラックボックステスト
入出力だけを確認
同値分割・境界値分析
仕様書だけでテスト設計
頻出引っかけ: ホワイトボックスは「コード(白く見える)」を見て分岐網羅率を測る。ブラックボックスは「仕様書(中身は黒く見えない)」だけ見て入出力をテストする。境界値分析(0/1 や 99/100 のような境目)と同値分割(同じ扱いになる入力値群を 1 つにまとめる)はブラックボックスの代表手法。
3.3 テストのカバレッジ
- 命令網羅(C0) — すべての命令を 1 回以上実行
- 分岐網羅(C1) — すべての分岐を 1 回以上通過
- 条件網羅(C2) — すべての条件の真偽を網羅
4. 開発モデル
4.1 代表的な開発モデル
代表的な 2 大モデル「ウォーターフォール」と「アジャイル」は対照的なアプローチ。要件の確定度合いと変化の頻度で使い分けます。
ウォーターフォール
上流 → 下流の一方通行
- 要件定義
- 設計
- 実装
- テスト
⚠ 後戻りしにくい
向き: 要件が明確・大規模・公共系。完成は最後。
アジャイル(スクラム)
短期反復で動くソフトを積み上げる
- スプリント 1(2-4 週間): 計画 → 実装 → テスト → 動くソフトを納品
- スプリント 2: フィードバック反映 + 次の機能追加
- … 継続的に反復 …
- スプリント n: 完成(途中要件変更 OK)
向き: 変化が激しい・要件流動
| モデル | 特徴 | 適用場面 |
|---|---|---|
| ウォーターフォール | 上流から下流へ順番に。後戻りしない | 要件が明確・大規模システム |
| プロトタイピング | 試作モデルで要件を具体化 | 要件が曖昧 |
| スパイラルモデル | 反復しながら機能を追加 | 規模が大きく段階的開発が必要 |
| アジャイル | 短期間の反復で小さな機能を積み上げる | 変化が激しい・要件が流動的 |
| DevOps | 開発と運用を一体化して高速化 | Web サービス・クラウド |
頻出引っかけ: ウォーターフォールとアジャイルは「どちらが優れている」ではなく「どちらが適しているか」。要件が固い大規模公共系はウォーターフォールが適し、要件が変わりやすい Web サービスはアジャイルが向く。
4.2 アジャイル開発の主要手法
| 手法 | 特徴 |
|---|---|
| XP(エクストリーム・プログラミング) | ペアプログラミング、テスト駆動開発、リファクタリング |
| スクラム | スプリント(2-4 週間)でインクリメントを作る。スプリントレビュー、デイリースクラム |
| カンバン | 進捗を見える化して流す |
| TDD(テスト駆動開発) | テストを先に書いてからコードを書く |
| CI/CD | 継続的インテグレーション/デリバリ |
4.3 アジャイル関連用語
- スプリント — 2-4 週間の短期開発サイクル
- プロダクトバックログ — 実装すべき要求一覧
- ベロシティ — チームが 1 スプリントで消化できる作業量
- イテレーション — 反復開発の 1 サイクル
5. ソフトウェア開発管理技術
5.1 構成管理
- ソフトウェア構成管理(SCM) — ソースコード・ドキュメントのバージョン管理
- Git — 代表的な分散バージョン管理システム(Linux カーネル開発から生まれ、現在のデファクトスタンダード)
- トランク(main / master ブランチ) — 主開発ライン
- ブランチ — 派生ライン(機能開発・バグ修正単位で作る)
- マージ — 変更の統合
- プルリクエスト(Pull Request) — 変更をレビューしてもらう仕組み
頻出引っかけ: Git は「分散型バージョン管理」(各開発者がローカルに完全な履歴を持つ)。一方、SVN(Subversion)は「集中型」(中央サーバが履歴を持つ)。同じバージョン管理でも仕組みが違う。
5.2 ユーザエクスペリエンス(UX)設計
- UX(User Experience) — 利用時の体験全体
- UI(User Interface) — 使う人と接する部分
- ユーザビリティ — 使いやすさの度合い
- ペルソナ — 典型的ユーザ像
- カスタマージャーニー — 利用者が接する全体プロセス
- ユーザビリティテスト — 実ユーザが使って評価
5.3 知的財産関連(開発現場)
- ソースコードの著作権 — 作成者に自動発生
- 職務著作 — 業務で作成したものは法人が著作者となることがある
- OSSライセンス — 章 10 参照(MIT/GPL等)
- 特許権 vs 著作権 — アイデアは特許、表現は著作権
📋 章末まとめ
最重要ポイント 10 連発
- 開発プロセスの順序 — 要件 → 設計 → 実装 → テスト → 導入 → 運用
- 機能要件 vs 非機能要件 — 何をする vs どう動くか
- ホワイトボックス vs ブラックボックス — 内部構造あり vs 入出力のみ
- 単体 → 結合 → システム → 受入 のテスト 4 段階
- 回帰テスト — 修正後の副作用チェック
- アジャイルの核心 — 短期反復・動くソフトウェア優先
- スクラムの 3 要素 — プロダクトバックログ・スプリント・ベロシティ
- XP と TDD — ペアプロ・テスト駆動
- CI/CD — 継続的インテグレーション/デリバリ
- リファクタリング — 動作を変えない内部改善
出題傾向のコツ
- 開発プロセスの順序を問う問題が頻出
- テスト種別は「誰が・何を対象に・いつ実施」の 3 点で整理
- アジャイルは「変化への適応・反復・短サイクル」がキーワード
学習ロードマップ(14件)
- 1企業と法務の基礎
- 2経営戦略 — SWOT・PPM・3C・4P と主要フレームワーク
- 3システム戦略と企画
- 4開発技術 — 開発モデル・テスト種別・アジャイル・DevOps
- 5プロジェクトマネジメント
- 6サービスマネジメントとシステム監査
- 7基礎理論 — 2 進数変換・論理演算・確率統計・符号化
- 8アルゴリズムとプログラミング
- 9コンピュータシステム
- 10ソフトウェア(OS/OSS)
- 11情報デザインとメディア
- 12データベース
- 13ネットワーク
- 14情報セキュリティ
この章の練習
ほかの分野の練習もチェック
情報セキュリティ 一問一答
IT パスポート試験で最重要の情報セキュリティ分野から 20 問を厳選。CIA 3 要素から攻撃手法、暗号・認証、対策技術まで体系的に確認できます。
コンピュータシステム 一問一答
IT パスポート試験のテクノロジ系頻出テーマから 20 問を厳選。CPU/メモリから仮想化・クラウド・RAID・稼働率計算まで、ハードウェアとシステム構成の基礎を体系的に確認。
データベース 一問一答
IT パスポート試験のデータベース分野から 20 問を厳選。主キー/外部キー/正規化/SQL(SELECT・WHERE・JOIN)/ACID/索引まで体系的に確認。
ネットワーク 一問一答
IT パスポート試験のネットワーク分野から 20 問を厳選。LAN/WAN・Wi-Fi セキュリティ・TCP/IP・IP アドレス・DNS・HTTP/HTTPS・IoT 通信まで体系的に確認。
企業と法務 一問一答
IT パスポート試験のストラテジ系の基礎「企業と法務」から 20 問を厳選。経営組織・OR/IE・会計財務・知的財産権・労働関連法規まで体系的に確認。
経営戦略 一問一答
IT パスポート試験の頻出分野「経営戦略」から 20 問を厳選。経営分析フレームワーク・マーケティング・経営管理システム・技術戦略・ビジネスインダストリまで体系的に確認。
システム戦略と企画 一問一答
IT パスポート試験のストラテジ系「システム戦略と企画」から 20 問を厳選。情報システム戦略・業務プロセス改革・クラウドサービス・システム企画調達まで体系的に確認。
プロジェクトマネジメント 一問一答
IT パスポート試験のマネジメント系「プロジェクトマネジメント」から 20 問を厳選。PMBOK の 10 知識エリア・WBS・スケジュール管理・コスト見積り・リスク管理まで体系的に確認。
サービスマネジメントとシステム監査 一問一答
IT パスポート試験のマネジメント系「サービスマネジメントとシステム監査」から 20 問を厳選。ITIL・SLA/SLM・主要プロセス・サービスデスク・J-SOX・COSO まで体系的に確認。
基礎理論 一問一答
IT パスポート試験のテクノロジ系「基礎理論」から 20 問を厳選。2 進数変換・AND/OR/XOR・確率計算・文字コード・誤差・機械学習 3 分類まで確認。
アルゴリズムとプログラミング 一問一答
IT パスポート試験のテクノロジ系「アルゴリズムとプログラミング」から 20 問を厳選。配列/リスト/スタック/キュー/木/ハッシュ・探索/整列・計算量・HTML/JSON まで確認。
ソフトウェア 一問一答
IT パスポート試験のテクノロジ系「ソフトウェア」から 20 問を厳選。OS 機能・プロセス/スレッド・圧縮形式・表計算関数・OSS ライセンスまで確認。
情報デザインとメディア 一問一答
IT パスポート試験のテクノロジ系「情報デザインとメディア」から 20 問を厳選。LATCH・UX・アクセシビリティ・RGB/CMYK・JPEG/PNG・MPEG・VR/AR まで確認。
IT パスポート 本試験形式 100 問
IT パスポート試験の全 14 章から出題する本試験準拠の総合問題集 100 問。ストラテジ 32 / マネジメント 18 / テクノロジ 50 の分野別配分・120 分で、実試験と同じスケールの実戦演習が可能。