開発プロセス・手法
このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。
シラバス Ver.6.5 の小分類 26「開発プロセス・手法」(大分類 4:開発技術/中分類 9:ソフトウェア開発管理技術)。
2026-08-05 にシラバス本文と突合済み。
0. 何を押さえるか
どういう順序で作るかの話です。大きく 2 つの流派に分かれます。
| 進め方 | 向いている場面 | |
|---|---|---|
| ウォーターフォールモデル | 工程を順に進め、後戻りしない | 要件が最初から固まっている |
| アジャイル(XP・スクラム) | 短い周期で動くものを作りながら決める | 要件が変わる・分からない |
スクラムの用語は近年の出題が厚いところです。3 つの役割・3 つの成果物を先に固定してください。
| 役割 | 何をするか |
|---|---|
| プロダクトオーナー | 何を作るか(優先順位)を決める |
| 開発者 | どう作るかを決めて作る |
| スクラムマスター | 進め方を支援し、障害を取り除く |
スクラムマスターは管理者でも命令する人でもありません——ここが引っかけです。
1. 設計の考え方
根拠: シラバス 4-9-26
構造化手法とオブジェクト指向の違いは?
| 何を単位に分けるか | |
|---|---|
| 構造化手法 | 処理(機能)を単位に分割する |
| オブジェクト指向 | データと、それを扱う処理をひとまとめにしたオブジェクトを単位にする |
オブジェクト指向は、データと処理が一体なので変更の影響が閉じ込められる。
ユースケースと UML の関係は?
ユースケース = 利用者がシステムをどう使うか(何ができるか)を表したもの
UML = オブジェクト指向の設計を表すための統一された図の記法
UML の図の 1 つがユースケース図で、
ほかにクラス図・シーケンス図・状態遷移図などがある。
リバースエンジニアリングとは?
既存のソフトウェアを解析し、仕様や設計を復元すること
設計書が失われたレガシーシステムを刷新するときに使う。
ただし他社製品に対して行うと、契約や著作権上の問題になりうる。
2. 開発モデル
根拠: シラバス 4-9-26
ウォーターフォールモデルの特徴と弱点は?
工程(要件定義 → 設計 → 実装 → テスト)を順に進め、後戻りしないモデル
| 利点 | 進捗と工程が明確。大人数でも管理しやすい |
| 弱点 | 手戻りの費用が大きい。動くものが出るのが最後なので、認識違いの発覚が遅い |
要件が最初から固まっている場合に向く。
プロトタイピングモデルとスパイラルモデルの違いは?
| 何をするか | |
|---|---|
| プロトタイピングモデル | 早い段階で試作品を作り、利用者に確認してもらう |
| スパイラルモデル | システムを部分に分け、設計〜テストの一巡を繰り返して育てる |
プロトタイピングは認識合わせのため、
スパイラルはリスクを小さく分けて進めるため。
RAD とは?
RAD(Rapid Application Development)
= 少人数のチームと開発ツールを使い、短期間で開発する手法
利用者を開発に参加させ、プロトタイプを繰り返し改良する。
期間を区切ることを重視する。
3. アジャイル開発
根拠: シラバス 4-9-26
ユーザーストーリーとは?
利用者の視点で「誰が、何のために、何をしたいか」を短く書いた要求
詳細な仕様書を先に作らず、会話のきっかけとして使う。
アジャイル開発で要求を扱う単位になる。
XP の代表的なプラクティスを 4 つ挙げよ。
XP(エクストリームプログラミング)は、変化に強い開発のための実践集。
| プラクティス | 内容 |
|---|---|
| テスト駆動開発 | テストを先に書いてから実装する |
| ペアプログラミング | 2 人で 1 台を使い、書く人と見る人を交代する |
| リファクタリング | 外から見た動きを変えずに、内部構造を整理する |
| 継続的インテグレーション(CI) | 変更を頻繁に統合し、自動でビルドとテストを回す |
リファクタリングは機能を変えないのが定義。ここが問われる。
スクラムの 3 つの役割は?
| 役割 | 何をするか |
|---|---|
| プロダクトオーナー | 何を作るかの優先順位を決める。成果に責任を持つ |
| 開発者 | どう作るかを自分たちで決めて作る |
| スクラムマスター | 進め方を支援し、障害を取り除く。指示や管理はしない |
この 3 者をあわせてスクラムチームという。
スクラムマスターは管理者ではない——最頻出の引っかけ。
スプリント・プロダクトバックログ・スプリントバックログの関係は?
| 何か | |
|---|---|
| プロダクトバックログ | 作るもの全体を優先順位順に並べた一覧 |
| スプリント | 1〜4 週間程度の、繰り返しの開発期間 |
| スプリントバックログ | そのスプリントで取り組むぶんを取り出した一覧 |
全体(プロダクト)から、今回ぶん(スプリント)を切り出す。
ふりかえり(レトロスペクティブ)とは?
スプリントの終わりに、進め方そのものを見直す場
作ったもの(成果)でなく、チームの働き方を対象にするのが要点。
うまくいったこと・改善すべきことを出し、次のスプリントに反映する。
4. 開発と運用をつなぐ
根拠: シラバス 4-9-26
DevOps とは?
開発(Development)と運用(Operations)が協力し、
リリースを頻繁かつ確実に行えるようにする考え方・文化
従来は「早く出したい開発」と「安定させたい運用」が対立していた。
自動化(CI/自動テスト/自動デプロイ)で、
速さと安定を両立させるのが狙い。
MLOps とは?
機械学習(Machine Learning)のモデルを、
開発から運用まで継続的に回す仕組み
DevOps を機械学習に広げたもの。
モデルは時間とともに精度が落ちる(データの傾向が変わる)ので、
再学習と再デプロイを続ける必要がある点が、通常のソフトウェアと違う。