SDLC - Modello a cascata

Il modello a cascata è stato il primo modello di processo ad essere introdotto. Viene anche chiamatolinear-sequential life cycle model. È molto semplice da capire e da usare. In un modello a cascata, ogni fase deve essere completata prima che possa iniziare la fase successiva e non vi siano sovrapposizioni nelle fasi.

Il modello Waterfall è il primo approccio SDLC utilizzato per lo sviluppo del software.

Il modello a cascata illustra il processo di sviluppo del software in un flusso sequenziale lineare. Ciò significa che qualsiasi fase del processo di sviluppo inizia solo se la fase precedente è stata completata. In questo modello a cascata, le fasi non si sovrappongono.

Modello a cascata - Design

L'approccio a cascata è stato il primo modello SDLC ad essere ampiamente utilizzato nell'ingegneria del software per garantire il successo del progetto. Nell'approccio "The Waterfall", l'intero processo di sviluppo del software è suddiviso in fasi separate. In questo modello Waterfall, in genere, il risultato di una fase funge da input per la fase successiva in modo sequenziale.

La figura seguente è una rappresentazione delle diverse fasi del modello a cascata.

Le fasi sequenziali nel modello Waterfall sono:

  • Requirement Gathering and analysis - Tutti i possibili requisiti del sistema da sviluppare vengono acquisiti in questa fase e documentati in un documento di specifica dei requisiti.

  • System Design- In questa fase vengono studiate le specifiche dei requisiti della prima fase e viene preparato il progetto del sistema. Questa progettazione del sistema aiuta a specificare i requisiti hardware e di sistema e aiuta a definire l'architettura complessiva del sistema.

  • Implementation- Con input dalla progettazione del sistema, il sistema viene prima sviluppato in piccoli programmi chiamati unità, che vengono integrati nella fase successiva. Ogni unità viene sviluppata e testata per la sua funzionalità, denominata Unit Testing.

  • Integration and Testing- Tutte le unità sviluppate nella fase di implementazione vengono integrate in un sistema dopo il test di ciascuna unità. Dopo l'integrazione, l'intero sistema viene testato per eventuali guasti e guasti.

  • Deployment of system- Una volta eseguito il test funzionale e non funzionale; il prodotto viene distribuito nell'ambiente del cliente o immesso sul mercato.

  • Maintenance- Ci sono alcuni problemi che sorgono nell'ambiente client. Per risolvere questi problemi, vengono rilasciate patch. Anche per migliorare il prodotto vengono rilasciate alcune versioni migliori. La manutenzione viene eseguita per fornire questi cambiamenti nell'ambiente del cliente.

Tutte queste fasi sono collegate l'una all'altra in cui il progresso è visto come un flusso costante verso il basso (come una cascata) attraverso le fasi. La fase successiva viene avviata solo dopo che la serie di obiettivi definiti per la fase precedente è stata raggiunta e viene siglata, quindi il nome "Waterfall Model". In questo modello, le fasi non si sovrappongono.

Modello a cascata - Applicazione

Ogni software sviluppato è diverso e richiede un approccio SDLC adeguato da seguire in base ai fattori interni ed esterni. Alcune situazioni in cui l'uso del modello Waterfall è più appropriato sono:

  • I requisiti sono molto ben documentati, chiari e fissi.

  • La definizione del prodotto è stabile.

  • La tecnologia è compresa e non è dinamica.

  • Non ci sono requisiti ambigui.

  • Sono disponibili ampie risorse con le competenze richieste per supportare il prodotto.

  • Il progetto è breve.

Modello a cascata - Vantaggi

I vantaggi dello sviluppo a cascata sono che consente la dipartimentalizzazione e il controllo. È possibile impostare un programma con scadenze per ciascuna fase di sviluppo e un prodotto può procedere attraverso le fasi del modello del processo di sviluppo una per una.

Lo sviluppo passa dal concetto, alla progettazione, all'implementazione, al test, all'installazione, alla risoluzione dei problemi e finisce al funzionamento e alla manutenzione. Ogni fase dello sviluppo procede in rigoroso ordine.

Alcuni dei principali vantaggi del modello a cascata sono i seguenti:

  • Semplice e facile da capire e da usare

  • Facile da gestire grazie alla rigidità del modello. Ogni fase ha risultati finali specifici e un processo di revisione.

  • Le fasi vengono elaborate e completate una alla volta.

  • Funziona bene per progetti più piccoli in cui i requisiti sono molto ben compresi.

  • Fasi chiaramente definite.

  • Pietre miliari ben comprese.

  • Facile da organizzare le attività.

  • Processo e risultati sono ben documentati.

Modello a cascata - Svantaggi

Lo svantaggio dello sviluppo a cascata è che non consente molta riflessione o revisione. Una volta che un'applicazione è in fase di test, è molto difficile tornare indietro e modificare qualcosa che non era ben documentato o pensato in fase di concept.

I principali svantaggi del modello a cascata sono i seguenti:

  • Nessun software funzionante viene prodotto fino a tardi durante il ciclo di vita.

  • Elevati livelli di rischio e incertezza.

  • Non è un buon modello per progetti complessi e orientati agli oggetti.

  • Modello scadente per progetti lunghi e in corso.

  • Non adatto a progetti in cui i requisiti corrono un rischio di cambiamento da moderato ad alto. Quindi, il rischio e l'incertezza sono elevati con questo modello di processo.

  • È difficile misurare i progressi nelle fasi.

  • Non è in grado di soddisfare i requisiti in evoluzione.

  • La regolazione dell'ambito durante il ciclo di vita può porre fine a un progetto.

  • L'integrazione avviene alla fine come un "big bang", il che non consente di identificare in anticipo eventuali colli di bottiglia tecnologici o aziendali o sfide.