Cos'è il modello a cascata in SDLC? Vantaggi e svantaggi

Cos'è il modello a cascata?

Modello a cascata è un modello sequenziale che divide lo sviluppo del software in fasi predefinite. Ciascuna fase deve essere completata prima che la fase successiva possa iniziare senza sovrapposizioni tra le fasi. Ciascuna fase è progettata per eseguire attività specifiche durante la fase SDLC. È stato introdotto nel 1970 da Winston Royce.

Spiegare il modello a cascata in SDLC
Spiegare il modello a cascata in SDLC

 

Diverse fasi del modello a cascata nell'ingegneria del software

Di seguito sono riportate le diverse fasi del modello Waterfall:

Diverse fasi Attività svolte in ogni fase
Requisiti Fase di raccolta
  • Durante questa fase, vengono raccolti dal cliente i requisiti dettagliati del sistema software da sviluppare
Fase di progettazione
  • Pianifica il linguaggio di programmazione, ad esempio Java, PHP, .netto
  • o database come Oracle, MySQL, ecc.
  • O altri dettagli tecnici di alto livello del progetto
Palco costruito Dopo la fase di progettazione si passa alla fase di costruzione, che non è altro che la codifica del software
Fase di prova In questa fase si testa il software per verificare che sia costruito secondo le specifiche fornite dal cliente.
Fase di spiegamento Distribuire l'applicazione nel rispettivo ambiente
Fase di manutenzione Una volta che il sistema è pronto per l'uso, potrebbe essere necessario modificare il codice in base alla richiesta del cliente

Quando utilizzare il modello a cascata SDLC?

La metodologia a cascata può essere utilizzata quando:

  • I requisiti non cambiano frequentemente
  • L'applicazione non è complicata e grande
  • Il progetto è breve
  • Il requisito è chiaro
  • L'ambiente è stabile
  • La tecnologia e gli strumenti utilizzati non sono dinamici e sono stabili
  • Le risorse sono disponibili e addestrate

Vantaggi e svantaggi del modello a cascata

Ecco i vantaggi più apprezzati del modello Waterfall in Software Engineering con alcuni svantaggi:

Vantaggi Svantaggi
Prima della fase successiva di sviluppo, ciascuna fase deve essere completata L'errore può essere corretto solo durante la fase
Adatto per progetti più piccoli in cui i requisiti sono ben definiti Non è auspicabile per progetti complessi in cui i requisiti cambiano frequentemente
Dovrebbero eseguire test di garanzia della qualità (verifica e convalida) prima di completare ciascuna fase Il periodo di test arriva piuttosto tardi nel processo di sviluppo
Una documentazione elaborata viene eseguita in ogni fase del ciclo di sviluppo del software La documentazione occupa molto tempo da parte di sviluppatori e tester
Il progetto dipende completamente dal team di progetto con un intervento minimo del cliente Il prezioso feedback dei clienti non può essere incluso nella fase di sviluppo in corso
Eventuali modifiche al software vengono apportate durante il processo di sviluppo Piccole modifiche o errori che si verificano nel software completato possono causare molti problemi