\r\n\r\n
ウォーターフォールモデルと反復モデルの大きな違いは、ウォーターフォールモデルが小規模なプロジェクトや要件が明確に定義されたプロジェクトに用いられるのに対し、スパイラルモデルは大規模かつ複雑で、継続的なリスク分析が必要なプロジェクトに用いられる点である。
ソフトウェア開発ライフサイクル(SDLC)は、ソフトウェア会社がソフトウェアプロジェクトを開発する際に従うプロセスです。ソフトウェア開発プロセスには、様々なソフトウェア開発ライフサイクルモデルが存在します。これらのモデルは、ソフトウェア開発プロセスモデルと呼ばれる。ウォーターフォールモデルとスパイラルモデルがその2つである。
1. 概要と主な違い 2. ウォーターフォールモデルとは 3. スパイラルモデルとは 4. 横並び比較 - 表形式でのウォーターフォールモデルとスパイラルモデル 5. まとめ
ウォーターフォールモデルとは、ソフトウェア開発プロセスのモデルで、直線的なシーケンシャルフローで行われる。あるフェーズは、前のフェーズが完了した後に開始されます。2つのフェーズの間に重複はありません。この手法では、ソフトウェア開発の全工程をフェーズに分割しています。ある段階の結果が、次の段階の入力となる。
最初の段階は、要求の収集と分析です。このフェーズでは、プロジェクトに必要な要件を収集し、分析する。そして、これを文書化する。この文書は、ソフトウェア要求仕様書(SRS)と呼ばれる。次の段階は、設計の段階です。システム設計は、システム全体のアーキテクチャを定義するのに役立つ。導入段階では、小さな単位でシステムを開発します。各ユニットはテストされ、すべてのユニットが完全なシステムに統合され、統合とテストのフェーズでテストされます。テストが終了すると、製品が市場に投入されます。これが展開の段階です。最後に、メンテナンスの段階で、新たな機能拡張やさらなる改良が加えられる。
図01:ウォーターフォールモデル
ウォーターフォールモデルは、シンプルでわかりやすい。タスクのスケジューリングやマイルストーンの把握も簡単です。一度に処理され、完了するのは1つのフェーズのみです。ウォーターフォールモデルは、複雑なプロジェクトの開発には適していません。また、要件が変化するプロジェクトには不向きです。
ウォーターフォールモデル、プロトタイプモデルに代わるものとして、スパイラルモデルが導入された。スパイラルモデルの主眼は、リスクを分析することです。スパイラルモデルのステージには、プランニング、リスク分析、エンジニアリング、評価などがあります。ソフトウェアプロジェクトは、これらのフェーズをスパイラルと呼ばれる反復作業で進めていきます。
図02:スパイラルモデル
基本的なスパイラルは、計画から始まります。システムおよびサブシステムの要件の特定は、このフェーズで完了する。収集された要求事項を用いて、ソフトウェア要求仕様書(SRS)を作成する。リスク分析フェーズは、プロジェクトに関連するリスクを特定することである。リスクがある場合は、代替策を提案します。この段階の最後に、プロトタイプが作られます。エンジニアリングの段階では、ソフトウェアの開発とテストが行われます。評価段階では、出力をクライアントに見せ、フィードバックを得る。クライアントが承認すれば、プロジェクトは次のスパイラルに進むことができる。プロジェクトは再び上記の段階を経ることになる。
スパイラルモデルは、大規模で複雑なプロジェクトに適しています。継続的なリスク分析が必要なプロジェクトに適しています。開発の様々な段階をよりコントロールできるようになります。リスク分析には専門スタッフが必要な場合があり、スパイラルには長い時間がかかる場合があります。また、小規模なプロジェクトには適さないモデルです。以上が、スパイラルモデルのデメリットです。
ウォーターフォールモデルとスパイラルモデル | |
ウォーターフォールモデルとは、ソフトウェアプロジェクトを開発するための比較的直線的な逐次設計手法のことである。 | スパイラルモデルは、ソフトウェアプロジェクトのためのリスク駆動型プロセスモデル生成ツールです。 |
カスタマー・エンゲージメント | |
ウォーターフォールモデルでは、顧客の関与は最小限である。 | スパイラルモデルでは、顧客の関与が高い。顧客は製品が何であるかを知っている。 |
位相フロー | |
ウォーターフォールモデルでは、あるステージを終えて新しいステージに到達した後、前のステージに戻ることはできない。 | スパイラルモデルは反復プロセスで実行されるため、前のステージに戻ることも可能です。 |
使用方法 | |
ウォーターフォールモデルは、小規模なプロジェクトや要件が明確なプロジェクトに使用することができます。 | スパイラルモデルは、継続的なリスク分析が必要な大規模かつ複雑なプロジェクトに使用することができます。 |
シンプル | |
ウォーターフォールモデルは、シンプルで導入しやすいモデルです。 | スパイラルモデルは、複雑なモデルです。 |
ソフトウェアのプロセスモデルには、ウォーターフォールモデルとスパイラルモデルの2つがある。ウォーターフォールモデルとスパイラルモデルの違いは、ウォーターフォールモデルが小規模なプロジェクトや要件が明確に定義されたプロジェクトに用いられるのに対し、スパイラルモデルは大規模で複雑なプロジェクトに用いられ、継続的なリスク分析が必要な点です。
1.「SDLCウォーターフォールモデル」チュートリアルポイント、2018年1月8日。こちらで提供 2.チュートリアルポイント「SDLCスパイラルモデル」2018年1月8日号ここで提供される 2. "SDLCスパイラルモデル"