Modelul Waterfall în SDLC: Avantaje și dezavantaje
⚡ Rezumat inteligent
Modelul Waterfall în SDLC este o abordare secvențială de dezvoltare care împarte un proiect în faze fixe, fiecare terminându-se înainte de începerea următoarei. Această resursă explică fazele sale, când trebuie utilizată și avantajele și dezavantajele sale.

Ce este Modelul Cascada?
Modelul cascadei este un model secvențial care împarte dezvoltarea de software în faze predefinite. Fiecare fază trebuie finalizată înainte de a putea începe următoarea fază, fără suprapunere între faze. Fiecare fază este concepută pentru a efectua o activitate specifică în timpul SDLC. A fost introdus în 1970 de Winston Royce.

Diferite faze ale modelului cascadă în ingineria software
Următoarele sunt diferitele faze ale modelului de cascadă:
| Diferite faze | Activități desfășurate în fiecare etapă |
|---|---|
| Etapa de colectare a cerințelor |
|
| Etapa de proiectare | |
| Scena construită | După etapa de proiectare vine etapa de construire, care nu înseamnă altceva decât programarea software-ului. |
| Etapa de testare | În această fază, testați software-ul pentru a verifica dacă este construit conform specificațiilor date de client. |
| Etapa de implementare | Implementați aplicația în mediul respectiv. |
| Etapa de întreținere | Odată ce sistemul este gata de utilizare, este posibil să fie nevoie ulterior de modificări ale codului, în funcție de solicitările clienților. |
Când să utilizați modelul SDLC Waterfall?
Metodologia Waterfall poate fi utilizată atunci când:
- Cerințele nu se schimbă frecvent
- Aplicația nu este complicată și mare
- Proiectul este scurt
- Cerința este clară
- Mediul este stabil
- Tehnologia și instrumentele utilizate nu sunt dinamice și sunt stabile
- Resursele sunt disponibile și instruite
Avantajele și dezavantajele modelului în cascadă
Iată avantajele populare ale modelului Waterfall în Inginerie Software, împreună cu unele dezavantaje:
| Avantaje | Dezavantaje |
|---|---|
| Înainte de următoarea fază de dezvoltare, fiecare fază trebuie finalizată. | O eroare poate fi corectată doar în timpul fazei. |
| Potrivit pentru proiecte mai mici, unde cerințele sunt bine definite. | Nu este de dorit pentru un proiect complex în care cerințele se schimbă frecvent. |
| Înainte de finalizarea fiecărei etape trebuie efectuat un test de asigurare a calității (verificare și validare). | Perioada de testare vine destul de târziu în procesul de dezvoltare. |
| O documentație detaliată se realizează în fiecare fază a ciclului de dezvoltare a software-ului. | Documentația ocupă o mare parte din timpul dezvoltatorilor și testerilor. |
| Proiectul depinde complet de echipa de proiect, cu o intervenție minimă din partea clientului. | Feedback-ul valoros al clientului nu poate fi inclus în faza de dezvoltare în curs. |
| Orice modificare a software-ului se face în timpul procesului de dezvoltare. | Micile modificări sau erori care apar în software-ul finalizat pot cauza o mulțime de probleme. |
