Model incremental în SDLC: utilizare, avantaj și dezavantaj
Ce este modelul incremental?
Modelul incremental este un proces de dezvoltare software în care cerințele sunt împărțite în mai multe module autonome ale ciclului de dezvoltare a software-ului. Dezvoltarea incrementală se face în etape de la proiectarea analizei, implementare, testare/verificare, întreținere.
Fiecare iterație trece prin cerințe, faze de proiectare, codare și testare. Și fiecare lansare ulterioară a sistemului adaugă funcții versiunii anterioare până când toate funcționalitățile proiectate au fost implementate.
Sistemul este pus în producție atunci când este livrat primul increment. Primul increment este adesea un produs de bază în care sunt abordate cerințele de bază, iar caracteristicile suplimentare sunt adăugate în următoarele incremente. Odată ce produsul de bază este analizat de către client, există un plan de dezvoltare pentru următorul increment.
Caracteristicile unui modul incremental includ
- Dezvoltarea sistemului este împărțită în multe mini proiecte de dezvoltare
- Sistemele parțiale sunt construite succesiv pentru a produce un sistem total final
- Cerința cu cea mai mare prioritate este abordată mai întâi
- Odată ce cerința este dezvoltată, cerințele pentru acel increment sunt înghețate
Faze incrementale | Activități desfășurate în faze incrementale |
---|---|
Analiza cerințelor |
|
Amenajări |
|
Cod |
|
Testare |
|
Când să folosiți modele incrementale?
- Cerințele sistemului sunt clar înțelese
- Când apare cererea de lansare anticipată a unui produs
- Cand Inginerie software echipa nu este foarte bine calificată sau pregătită
- Când sunt implicate caracteristici și obiective cu risc ridicat
- O astfel de metodologie este mai utilizată pentru companiile bazate pe aplicații web și produse
Avantajele și dezavantajele modelului incremental
Avantaje | Dezavantaje |
---|---|
Software-ul va fi generat rapid în timpul ciclului de viață al software-ului | Este nevoie de o bună proiectare de planificare |
Este flexibil și mai puțin costisitor pentru a modifica cerințele și domeniul de aplicare | Problemele pot cauza din cauza arhitecturii sistemului ca atare, nu toate cerințele sunt colectate în avans pentru întregul ciclu de viață al software-ului |
Pe parcursul etapelor de dezvoltare se pot face modificări | Fiecare fază de iterație este rigidă și nu se suprapun una pe alta |
Acest model este mai puțin costisitor în comparație cu altele | Remedierea unei probleme într-o unitate necesită corectare în toate unitățile și consumă mult timp |
Un client poate răspunde la fiecare clădire | |
Erorile sunt ușor de identificat |