ソフトウェア開発ライフサイクル (SDLC) は、初期の実現可能性調査から完成したアプリケーションの保守まで、情報システム開発プロジェクトに含まれる段階を定義するプロジェクト管理で使用される精神的なモデルです。
さまざまなソフトウェア開発ライフサイクル モデルが指定および設計されており、ソフトウェア開発段階ではこれらのモデルに従います。これらのモデルは「」とも呼ばれます。 ソフトウェア開発プロセスモデル 。」各プロセス モデルは、そのタイプに固有の一連のフェーズに従い、ソフトウェア開発のステップを確実に成功させます。
ここでは、SDLC ライフサイクルの重要なフェーズをいくつか示します。
ウォーターフォールモデル
ウォーターフォールは広く受け入れられている SDLC モデルです。この方法では、ソフトウェア開発のプロセス全体がさまざまなフェーズに分割されます。
警察次長
ウォーターフォール モデルは、開発が要件分析、設計、実装、テスト (検証)、統合、メンテナンスの各ステップを通じて (滝のように) 着実に下に流れていくと見なされる継続的なソフトウェア開発モデルです。
アクティビティの線形順序付けは、いくつかの重大な結果をもたらします。まず、フェーズの終了と次のフェーズの開始を識別するには、各ステップの終了時にいくつかの認証テクニックを使用する必要があります。一部の検証と検証では、通常、ステージの出力がその入力 (前のステップの出力) と一致していること、およびステージの出力がシステムの全体的な要件と一致していることを確認することを意味します。
RADモデル
RAD (Rapid Application Development) プロセスはウォーターフォール モデルの採用です。短期間でのソフトウェア開発を目標としています。 RAD モデルは、フォーカス グループを使用してシステム要件を収集することで、より良いシステムをより短い時間で開発できるという概念に基づいています。
- ビジネスモデリング
- データモデリング
- プロセスモデリング
- アプリケーションの生成
- テストと売上高
スパイラルモデル
スパイラルモデルは、 リスク主導のプロセスモデル 。この SDLC モデルは、グループがウォーターフォール、インクリメンタル、ウォーターフォールなどの 1 つまたは複数のプロセス モデルの要素を採用するのに役立ちます。スパイラル手法は、設計および開発活動におけるラピッド プロトタイピングと同時実行性を組み合わせたものです。
スパイラルの各サイクルは、そのサイクルの目標、目標を達成するために可能なさまざまな代替案、および存在する制約を特定することから始まります。これはサイクルの第 1 象限 (左上の象限) です。
サイクルの次のステップは、目的と制約に基づいてこれらのさまざまな代替案を評価することです。このステップでの評価の焦点は、プロジェクトのリスク認識に基づいています。
配列リストのソート
次のステップは、不確実性とリスクを解決する戦略を策定することです。このステップには、ベンチマーク、シミュレーション、プロトタイピングなどのアクティビティが含まれる場合があります。
Vモデル
このタイプの SDLC モデルのテストと開発では、各ステップが並行して計画されます。したがって、一方には検証フェーズがあり、もう一方には検証フェーズがあります。 V-Model はコーディングフェーズによって結合されます。
二分探索木]
インクリメンタルモデル
インクリメンタル モデルは個別のモデルではありません。それは必然的に一連のウォーターフォール サイクルになります。要件はプロジェクトの開始時にグループに分割されます。各グループでは、SDLC モデルに従ってソフトウェアを開発します。 SDLC プロセスは繰り返され、すべての要件が満たされるまでリリースごとに機能が追加されます。この方法では、各サイクルが以前のソフトウェア リリースのメンテナンス フェーズとして機能します。インクリメンタル モデルを変更すると、開発サイクルを重複させることができます。その後、前のサイクルが完了する前に後続のサイクルが開始される場合があります。
アジャイルモデル
アジャイル手法は、あらゆるプロジェクトの SDLC プロセス中に開発とテストの継続的な対話を促進する実践です。アジャイル手法では、プロジェクト全体が小さな増分ビルドに分割されます。これらのビルドはすべてイテレーションで提供され、各イテレーションは 1 ~ 3 週間続きます。
アジャイル ソフトウェア フェーズは、大部分のソフトウェア プロジェクトに関するいくつかの重要な前提に対処する方法で特徴付けられます。
- どのソフトウェア要件が存続し、どの要件が変更されるかを事前に考えるのは困難です。プロジェクトの進行につれてユーザーの優先順位がどのように変化するかを予測することも同様に困難です。
- 多くの種類のソフトウェアでは、設計と開発が交互に行われます。つまり、設計モデルが作成時に証明されるように、両方のアクティビティを並行して実行する必要があります。構築を使用して構成をテストする前に、どの程度の設計が必要かを考えるのは困難です。
- 分析、設計、開発、テストは、私たちが期待しているほど (計画の観点からは) 予測可能ではありません。
反復モデル
これは、初期の単純化された実装に焦点を当てた、ソフトウェア開発ライフ サイクルの特定の実装であり、その後、最終システムが完成するまで、段階的に複雑さが増して機能セットが広がります。つまり、反復開発は、大規模なアプリケーションのソフトウェア開発をより小さな部分に分割する方法です。
ビッグバンモデル
ビッグバン モデルは、計画をまったく行わないか、ほとんど計画せずに、ソフトウェア開発とコーディングにおけるあらゆる種類のリソースに焦点を当てています。要件は理解され、必要なときに実装されます。
機械学習とその型
このモデルは、小規模な開発チームが協力して作業する小規模なプロジェクトに最適です。学術的なソフトウェア開発プロジェクトにも役立ちます。これは、要件が不明であるか、最終リリース日が指定されていない場合に最適なモデルです。
試作モデル
プロトタイピング モデルは要件を収集することから始まります。開発者とユーザーは、ソフトウェアの目的を満たして定義し、ニーズを特定します。
ああ クイックデザイン 」が作成されます。この設計は、ユーザーに表示されるソフトウェアの側面に焦点を当てています。その後、プロトタイプの開発につながります。その後、顧客はプロトタイプを確認し、必要な修正や変更がプロトタイプに加えられます。
このステップではループが行われ、より良いバージョンのプロトタイプが作成されます。これらは継続的にユーザーに表示されるため、新しい変更はプロトタイプ内で更新できます。このプロセスは、顧客がシステムに満足するまで続けられます。ユーザーが満足したら、品質とセキュリティを考慮してプロトタイプを実際のシステムに変換します。