もう後には引けないぜ!〜シーケンシャル開発モデル
良い子のみんなー!
愛と平和を歌って笑顔を届ける愉快なピエロ、MR.SMILEだよー🤡
予告通り今回からJSTQB FLシラバスに書いてあるソフトウェア開発のライフサイクルモデルについて説明していくよ。
まずはシーケンシャル開発モデルについて説明するね。
これは、ソフトウェアを作る時に、まっすぐな手順で進める方法なんだ。
ウォーターフォール開発モデルとも呼ばれているよ。
ウォーターフォール開発モデル
具体的にどんな作業をするかと言うと前回、説明した基本のソフトウェア開発ライフサイクルを順番に進めていく開発モデルなんだ。
この滝の上から下に流れるような作業順序だから、要件定義や設計プロセスのこと上流工程と呼んだりするよ。
シーケンシャル開発モデルでは、1つの工程が終わったら次の工程に進むよ。途中で順番を変えたりはできないんだ。だから、時間がかかることもあるけど、工程ごとにしっかりと確認できるから、安心して進めるんだよ。
この方法は、何を作るかがはっきりしている場合にメリットがあると言えるね。
その代わり全ての工程が一通り終わるまでステークホルダーやユーザーが利用できるまでに数ヶ月から数年を要することもあるよ。
V字開発モデル
V字開発モデルは開発側のウォーターフォールモデルの流れにテストプロセスを対比させてV字で表す開発モデルだよ。
IT関連のお勉強をしたことのある良い子のみんなは見たことあるんじゃないかな?
左側が開発プロセスのフェーズ(工程)、右側にテストプロセスで確認するテストレベルを書いてあるよ。(テストレベルは改めて説明するね)
要件定義の内容を元にシステムテスト、
基本設計の内容を元に結合テスト、
詳細設計の内容を元に単体テストを行うよ。
上の図で省略したけど要件定義の上に「要求分析」と言う工程もあって、「要求分析」のテストを行う場合は「受入テスト」と言うテストを行うこともあるよ。
あくまで開発プロセスの工程に対して何をテストするかを表しているので青い矢印の順番に進めていくんだ。
V字開発モデルは(要求分析)→要件定義→基本設計→詳細設計→開発(実装)→単体テスト→結合テスト→システムテスト→(受入テスト)
と言う順番になるよ。
避けて通れない仕様変更
最後にシーケンシャル開発モデルのメリットとデメリットを見ていくよ。
メリット
・各フェーズが明確に定義されているため、開発の進捗状況を把握しやすく、プロジェクトのリスクを管理しやすい。
・各フェーズが完了する前に次のフェーズに移行できないため、品質の向上につながりやすい。
・開発の計画が立てやすく、計画の変更など予算とスケジュールを管理しやすい。
デメリット
・要求、要件に変更があった場合に、対応が難しい。(変更する場合に予算を大きく超過する場合がある)
・テストフェーズまでユーザー視点の問題の検出、フィードバックが反映されない。
・開発終了までに時間がかかる場合がある。
後戻りはしない前提だけど工程が進む内に情報も増えて、要件定義や基本設計に変更した方が良い点が分かったり、製品を販売する市場に変化があったりすると仕様変更は避けられないんだよね。
そんなケースがあると、顧客満足度と予算の板挟みで苦労しやすい開発モデルと言うことになるね。
次回はシーケンシャルじゃない開発モデルを見ていくことにするね。
では、今回はこの辺で!
最後まで読んでくれた良い子のみんなー!
さんきゅーすまいる🤡