SDLCモデル-進化
ソフトウェア開発ライフサイクル(SDLC)モデルは、ソフトウェア開発プロジェクトの各段階で実行されるアクティビティを記述するフレームワークです。
ソフトウェア開発ライフサイクルでは、アクティビティは5つのフェーズで実行されます-
Requirements Gathering−開発するソフトウェアの要件を収集します。これらの要件は、顧客/ユーザーが理解できる言語になります。ドメイン固有の用語をお勧めします。
Analysis −収集された要件は実装の観点から分析され、ソフトウェア仕様は機能要件と非機能要件の両方をカバーするように記述されています。
Design −このフェーズでは、開発用に選択されたテクノロジに基づいて、ソフトウェアアーキテクチャと実装の詳細に到達します。
Construction −このフェーズでは、コードが開発され、単体テスト、統合、統合テストが行われ、ビルドが作成されます。
Testing−ビルドされたソフトウェアの機能テストは、このフェーズで行われます。これには、非機能要件のテストも含まれます。
これらのアクティビティを実行するには、2つのアプローチがあります-
Prescriptive −フレームワークで定義された所定の方法でアクティビティを実行する方法を提供するSDLCモデル。
Adaptive−従う必要のある特定のルールを使用して、アクティビティを柔軟に実行できるSDLCモデル。アジャイルメソッドはほとんどこのアプローチに従い、それぞれにルールがあります。ただし、適応的またはアジャイルなアプローチに従うことは、ソフトウェアが規律に従わずに開発されることを意味するものではありません。これは混乱につながるでしょう。
特定のSDLCモデルが良いか悪いかは言えないことを理解する必要があります。それぞれに独自の長所と短所があるため、特定の状況に適しています。
プロジェクトにSDLCモデルを選択するときは、次のことを理解する必要があります。
- 組織のコンテキスト
- あなたのテクノロジーコンテキスト
- あなたのチーム構成
- あなたの顧客コンテキスト
たとえば、ソフトウェア開発が予測可能である場合は、規範的なアプローチを使用できます。一方、ソフトウェア開発が予測できない場合、つまり要件が完全にわかっていない場合、または開発チームが現在のドメインやテクノロジに事前に触れていない場合などは、適応型アプローチが最適です。
次のセクションでは、業界全体でソフトウェア開発プロジェクトの実行中に進化する最も一般的なSDLCモデルについて理解します。また、それぞれの長所と短所、およびそれらがどのような状況で適切であるかを知ることができます。