SDLC-ウォーターフォールモデル

ウォーターフォールモデルは、広く知られ、理解され、一般的に使用されている古典的なSDLCモデルです。これは1970年にロイスによって導入され、業界全体のさまざまな組織でソフトウェア開発の一般的なアプローチとして現在も採用されています。

ウォーターフォールモデルでは、各ライフサイクルフェーズは、前のライフサイクルフェーズが完了した後にのみ開始できます。したがって、フィードバックループのない線形モデルです。

ウォーターフォールモデル–強み

ウォーターフォールモデルの長所は次のとおりです。

  • 理解しやすく、使いやすい。
  • 経験の浅い開発チームに構造を提供します。
  • マイルストーンはよく理解されています。
  • 要件の安定性を設定します。
  • 管理制御(計画、監視、レポート)に最適です。
  • コストやスケジュールよりも品質が重要な場合にうまく機能します。

ウォーターフォールモデル–弱点

ウォーターフォールモデルの弱点または欠点は次のとおりです。

  • 理想化-それは現実とよく一致しません。

  • 非現実的-プロジェクトの早い段階で正確な要件を期待することはできません。

  • より一般的な探索的開発の反復的な性質を反映していません。

  • 変更を加えるのは難しく、費用がかかります。

  • ソフトウェアは、プロジェクトの最後にのみ提供されます。このため-

    • 重大な欠陥の発見を遅らせます。

    • 廃止された要件の提供の可能性。

  • 小さなチームやプロジェクトではコストがかかる可能性がある、かなりの管理オーバーヘッド。

  • アナリスト、デザイナー、開発者、テスターなど、あらゆる段階で経験豊富なリソースが必要です。

  • テストは、開発が完了した後にのみ開始され、テスターは初期のフェーズのいずれにも関与しません。

  • 各フェーズはサイロで実行されるため、部門の枠を超えたチームの専門知識は共有されません。

ウォーターフォールモデルを使用する場合

次の場合にウォーターフォールモデルを使用できます。

  • 要件は非常によく知られています。

  • 製品の定義は安定しています。

  • テクノロジーはよく理解されています。

  • 既存の製品の新しいバージョン。

  • 既存の製品を新しいプラットフォームに移植する。

  • 組織化されたクロスファンクショナルチームを持つ大規模な組織。

  • コミュニケーションチャネルは、組織内および顧客との間でも十分に確立されています。

進化的プロトタイピングモデル

進化的プロトタイピングモデルを使用したソフトウェア開発では、開発者は要件フェーズでプロトタイプを作成します。次に、エンドユーザーはプロトタイプを評価し、フィードバックを提供します。フィードバックは、プロトタイプの修正または追加機能です。フィードバックに基づいて、開発者はプロトタイプをさらに改良します。

したがって、この製品は、プロトタイプ→フィードバック→洗練されたプロトタイプサイクルを通じて進化するため、EvolutionaryPrototypingという名前が付けられています。ユーザーが製品の機能と動作に満足すると、プロトタイプコードは、最終的な製品の納品に必要な基準に達します。

進化的プロトタイピングモデル–長所

進化的プロトタイピングモデルの長所または利点は次のとおりです。

  • 顧客/エンドユーザーは、プロトタイプを見て収集されたシステム要件を視覚化できます。

  • 開発者は顧客から学ぶため、ドメインや本番環境に関する曖昧さはありません。

  • 柔軟な設計と開発を可能にします。

  • プロトタイプとの相互作用は、追加で必要な機能の認識を刺激します。

  • 予期しない要件や要件の変更に簡単に対応できます。

  • 着実で目に見える進歩の兆候が生まれます。

  • 正確で保守可能な最終製品の提供。

進化的プロトタイピングモデル–弱点

進化的プロトタイピングモデルの弱点または欠点は次のとおりです。

  • モデルで規定されているものではありませんが、コードと修正の開発で構造化された開発を放棄する傾向があります。

  • このモデルは、手っ取り早い方法で評判が悪かった。

  • 全体的な保守性は見過ごされがちです。

  • 顧客は、開発者が最終ステップ、つまり最終製品の標準化を実行する機会を与えずに、プロトタイプの最終版の納品を要求する可能性があります。

  • プロジェクトは(継続的なスコープクリープで)永遠に続く可能性があり、経営陣はそれを評価しないかもしれません。

進化的プロトタイピングモデルをいつ使用するか?

進化的プロトタイピングモデルを使用できます-

  • 要件が不安定であるか、明確にする必要がある場合
  • ウォーターフォールモデルの要件明確化段階として
  • ユーザーインターフェイスを開発するには
  • 短期間のデモンストレーション用
  • 新規または独自の開発用
  • 新しいテクノロジーを実装するため