Cos'è il modello a cascata?
WATERFALL MODEL è un modello sequenziale che divide lo sviluppo del software in fasi predefinite. Ogni fase deve essere completata prima che la fase successiva possa iniziare senza sovrapposizioni tra le fasi. Ogni 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
Diverse fasi | Attività svolte in ogni fase |
Fase di raccolta dei requisiti |
- 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, .net
- o database come Oracle, MySQL, ecc.
- O altri dettagli tecnici di alto livello del progetto
|
Fase costruita |
- 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 prova il software per verificare che sia costruito secondo le specifiche fornite dal cliente.
|
Fase di distribuzione |
- Distribuire l'applicazione nel rispettivo ambiente
|
Fase di manutenzione |
- Una volta che il sistema è pronto per l'uso, in seguito potrebbe essere necessario modificare il codice secondo la richiesta del cliente
|
Quando utilizzare il modello a cascata SDLC
Il modello a cascata può essere utilizzato 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
Vantaggi | Svantaggi |
- Prima della fase successiva di sviluppo, ogni fase deve essere completata
|
- L'errore può essere risolto solo durante la fase
|
- Adatto a progetti più piccoli in cui i requisiti sono ben definiti
|
- Non è desiderabile per progetti complessi in cui i requisiti cambiano frequentemente
|
- Devono eseguire un test di garanzia della qualità (verifica e convalida) prima di completare ogni fase
|
- Il periodo di prova arriva abbastanza tardi nel processo di sviluppo
|
- Una documentazione elaborata viene eseguita in ogni fase del ciclo di sviluppo del software
|
- La documentazione occupa molto tempo per sviluppatori e tester
|
- Il progetto dipende completamente dal team di progetto con un intervento minimo da parte 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
|