Il modello a cascata è un approccio lineare e sequenziale al ciclo di vita dello sviluppo software (SDLC) che è popolare nell’ingegneria del software e nello sviluppo del prodotto. Il modello a cascata enfatizza la progressione dei passi. Simile alla direzione in cui l’acqua scorre oltre il bordo di una scogliera, sono impostati endpoint o obiettivi distinti per ogni fase di sviluppo e non possono essere rivisitati dopo il completamento. Il termine è stato introdotto per la prima volta in un articolo pubblicato nel 1970 dal Dr. Winston W., Royce e continua ad essere utilizzato in applicazioni di design industriale.
La metodologia waterfall è composta da sette fasi non sovrapposte:
- Requisiti: Requisiti potenziali, scadenze le linee guida per il progetto vengono analizzate e inserite in una specifica funzionale. Questa fase gestisce la definizione e la pianificazione del progetto senza menzionare processi specifici.
- Analisi: Le specifiche del sistema vengono analizzate per generare modelli di prodotto e il business guiderà la produzione. Questo è anche quando le risorse finanziarie e tecniche sono controllate per la fattibilità.,
- Design: viene creato un documento di specifiche di progettazione per delineare i requisiti tecnici di progettazione come linguaggio di programmazione, hardware, origini dati, architettura e servizi.
- Codifica / Implementazione: La sorgente sviluppata utilizzando i modelli, requisiti logici designati nelle fasi precedenti. In genere, il sistema è progettato in componenti o unità più piccole, prima di essere implementato insieme.
- Test: Questo è quando la garanzia della qualità, unità, beta test hanno luogo per segnalare i problemi che possono avere bisogno di essere risolti. Ciò potrebbe causare una ripetizione forzata della fase di codifica per il debug., Se il sistema supera i test, la cascata continua in avanti.
- Funzionamento / distribuzione: il prodotto o l’applicazione è considerato completamente funzionale e viene distribuito in un ambiente live.
- Manutenzione: la manutenzione correttiva, adattativa e perfettiva viene eseguita indefinitamente per migliorare, aggiornare e migliorare il prodotto finale. Ciò potrebbe includere il rilascio o il rilascio di nuove versioni.,
Prima di passare alla fase successiva, di solito c’è una revisione e firmare fuori per garantire che tutti gli obiettivi definiti sono stati raggiunti.
L’approccio a cascata è ideale per progetti che hanno documentazione specifica, requisiti fissi, ampie risorse, una timeline consolidata e una tecnologia ben compresa. Le alternative al modello waterfall includono Joint Application Development (JAD), Rapid Application Development (RAD), sync-and-Stabilize, Agile Project management (APM) e il modello spiral.,
Vantaggi del modello a cascata
Mentre i metodi agili o dinamici spesso sostituiscono il modello a cascata, ci sono alcuni vantaggi:
- La documentazione iniziale e le fasi di pianificazione consentono ai team grandi o in movimento di rimanere informati e spostarsi verso un obiettivo comune.
- Forze, organizzazione disciplinata.
- È semplice da capire, seguire e organizzare le attività.
- Facilita la dipartimentalizzazione e il controllo manageriale in base a orari o scadenze.
- Rafforza le buone abitudini di codifica da definire prima della progettazione e poi del codice.,
- Consente di apportare facilmente modifiche iniziali alla progettazione o alle specifiche.
- Definisce chiaramente le pietre miliari e le scadenze.
Svantaggi del modello a cascata
Gli svantaggi del modello a cascata in genere circondano il rischio associato a una mancanza di revisione, tra cui:
- non è adattabile; spesso quando viene rilevato un difetto, l’intero processo deve ricominciare da capo.
- Ignora il potenziale di ricevere feedback utente o client a metà processo e apportare modifiche in base ai risultati.
- Ritarda il test fino alla fine del ciclo di vita dello sviluppo.,
- Non considera la correzione degli errori.
- Non gestisce bene le richieste di modifiche, regolazioni dell’ambito o aggiornamenti.
- Riduce l’efficienza non consentendo ai processi di sovrapporsi.
- Nessun prodotto di lavoro è disponibile fino alle fasi successive del ciclo di vita.
- Non ideale per progetti complessi, ad alto rischio, in corso o orientati agli oggetti.