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.
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 |
|
Fase di progettazione | |
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 |