Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Modello Waterfall

Il modello "a cascata", l'errore di non poter ritornare mai sui propri passi
Il modello "a cascata", l'errore di non poter ritornare mai sui propri passi
Link copiato negli appunti

L'antipattern waterfall model (modello a cascata) è legato ad un preciso schema di sviluppo del software. L'affermazione tipica di chi sta per incorrere in questo antipattern è: «Conclusa questa fase del ciclo di vita del software non dovremo mai più tornarci».

Contesto

Il modello a cascata è una metodologia di progettazione/sviluppo del software costituita da diverse fasi "esplose" a cascata.

Figura 1. Modello a cascata
(clic per ingrandire)


Modello a cascata

Ma come può un approccio nato per lo sviluppo del software essere un antipattern? Il modello a cascata nasce negli anni '50 e trova notevoli sostenitori negli anni '70, tanto da diventare parte integrante dell'ingegneria del software.

Col passare del tempo tale procedimento viene pian piano abbandonato a favore di altri più articolati e flessibili (es. modello a spirale), i vantaggi dei nuovi modelli mettono ben presto messo in evidenza i limiti del vecchio, esponendolo a numerose critiche ed etichettandolo come "problematico" e "limitativo".

Nonostante venga ancora utilizzato da alcuni sostenitori della sua efficacia, è ormai considerato una soluzione inefficace: quindi un antipattern. Per molti versi è simile all'analysis paralysis, è infatti una sua derivazione o sottoinsieme, ma diversamente da questa non nasce da una molteplicità di fattori ma solo da una tipologia d'approccio ormai obsoleta.

Senza scendere troppo in particolari, il ciclo di vita a cascata prevede 5 fasi: analisi dei requisiti, progettazione, implementazione, verifica (o validazione) e manutenzione. L'output di ogni fase diviene l'input per la successiva, è quindi evidente come sia sempre necessario terminare una fase prima di procedere con quella seguente. Tale "requisito" è il reale limite del modello che lo rende poco flessibile e poco adattabile alle reali necessità di progettazione e sviluppo.

Sintomi

In questo caso non vi sono particolari sentinelle di cui tener conto in quanto l'antipattern è direttamente identificabile con la scelta progettuale.

Cause

Le cause che portano all'introduzione di questo antipattern sono legate a:

  • eccessiva linearità nel processo di sviluppo che non permette di tornare indietro
  • rigidità del modello, ogni fase terminata diventa "intoccabile" e quindi viene a mancare qualsiasi
    tipo di interazione
  • fasi a "tenuta stagna", ogni processo e implementato come se fosse isolato dagli altri
  • non sempre sono noti a priori tutti gli elementi necessari per terminare una fase

Conseguenze

Le conseguenze di questo antipattern sono:

  • assenza di qualsiasi tipo di flessibilità
  • difficoltà nella correzione di errori
  • tempi lunghissimi per inserire nuove funzionalità
  • aumento dei costi (in caso di aggiunta di nuove funzioni i costi crescono in maniera vertiginosa)

Soluzione

Per evitare questo antipattern possiamo ricorrere a modelli alternativi. Uno dei più apprezzati è il modello a spirale, decisamente più flessibile e realista. Tuttavia sono presenti diversi modelli derivanti da quello a cascata che con le opportune modifiche effettuate risultano funzionali.

Figura 2. Modello a spirale
(clic per ingrandire)


Modello a spirale

Ti consigliamo anche