反復モデルでは、反復プロセスはソフトウェア要件の小さなセットの単純な実装から始まり、進化するバージョンを繰り返し強化し、完全にシステムが実装されて配備できる状態になるまで継続されます。
反復型ライフサイクル・モデルは、要件の完全な仕様から開始しようとはしません。 その代わり、開発はソフトウェアの一部だけを指定し実装することから始まり、その後にさらなる要件を特定するために見直される。 このプロセスを繰り返し、モデルの各反復の終わりにソフトウェアの新しいバージョンを作成します。
反復モデル – 設計
反復プロセスは、ソフトウェア要件のサブセットの単純な実装から始まり、完全なシステムが実装されるまで進化したバージョンを反復的に強化します。 各反復において、設計の修正が行われ、新しい機能的な機能が追加される。 この方法の背後にある基本的な考え方は、繰り返しのサイクル(反復)と一度に小さな部分(インクリメンタル)を通してシステムを開発することです。
Iterative and Incremental modelの表現として次の図があります –
Iterative and Incremental developmentは開発のための反復設計または反復法と増分構築モデル両方を組み合わせたものである。 “ソフトウェア開発中、ソフトウェア開発サイクルの複数の反復が同時に進行することがある。” このプロセスは、「進化的獲得」または「漸進的ビルド」アプローチとして記述されることがある。”
この漸進的モデルでは、要件全体がさまざまなビルドに分割される。 各反復の間、開発モジュールは要件、設計、実装、およびテスト段階を経る。 モジュールの後続の各リリースは、前のリリースに機能を追加します。 反復型ソフトウェア開発ライフサイクルの使用を成功させる鍵は、要件の厳密な検証、およびモデルの各サイクル内でこれらの要件に対するソフトウェアの各バージョンの検証&テストである。
反復モデル – アプリケーション
他の SDLC モデルと同様、反復およびインクリメンタル開発にはソフトウェア業界特有のアプリケーションもあります。
-
完全なシステムの要件が明確に定義され、理解されている。
-
主要な要件は定義しなければならないが、いくつかの機能または要求された拡張機能は時間とともに進化することがある。
-
Time to the market constraintがある。
-
A new technology is used and being learnt by the development team while working on the projectが使用されている。
-
必要なスキルセットを持つリソースが利用できず、特定のイテレーションで契約ベースで使用する予定です。
-
将来変更する可能性のある高リスクの機能や目標がいくつかあります。
Iterative Model – Pros and Cons
このモデルの利点は、開発の非常に早い段階でシステムのワーキング モデルがあるため、機能またはデザインの欠陥を見つけるのが容易であることです。 このSDLCモデルの欠点は、大規模でかさばるソフトウェア開発プロジェクトにのみ適用されることです。 これは、小さなソフトウェアシステムをさらに小さなサービス可能なインクリメント/モジュールに分割することが難しいためです。
Iterative and Incremental SDLC モデルの利点は次のとおりです。
早期に、定期的に結果が得られる。
並行開発を計画できる。
進捗を測定できる。
範囲/要求変更にコストがかからない。
小さい反復でのテストとデバッグは容易である。
リスクは反復の間に識別され解決される; そして各反復は容易に管理されたマイルストーンである。
Easier to manage risk – high risk part is done first.
with every increment, operational product is delivered.
各インクリメントから特定された問題、課題、リスクは、次のインクリメントに利用/適用できる。
リスク分析はより良い。
要求の変化に対応できる。
大規模でミッションクリティカルなプロジェクトに適している。
ライフサイクル中、ソフトウェアは早期に生産されるので顧客の評価とフィードバックが容易である。
Iterative and Incremental SDLC モデルの欠点は次のとおりです。
-
More resources may be required.
-
Authentication Cost is less, but it is not very suitable for changing requirements.
-
More management attention is required.
Therapeutic model of the Iterative SDLC model is not used in the early.
-
ライフサイクル全体の初期にすべての要件が収集されていないため、システムアーキテクチャや設計の問題が生じる可能性がある。
-
増分の定義には、システム全体の定義が必要な場合がある。
-
リスクであるプロジェクトの終了がわからない場合がある。
-
リスク分析には高度なスキルを持つ人材が必要。
-
プロジェクトの進捗はリスク分析フェーズに大きく依存する。