Modello evolutivo

Da Wikipedia, l'enciclopedia libera.

Il modello evolutivo è uno dei modelli del ciclo di vita del software che cerca di superare i limiti principali del modello a cascata. Si basa sulla prototipizzazione che consiste nell'uso di specifici strumenti software per la realizzazione rapida di una versione semplificata del sistema informativo, con la quale sperimentare le sue funzionalità. La verifica del prototipo può portare a una modifica dei requisiti e una eventuale revisione del progetto.

Descrizione[modifica | modifica sorgente]

Con il fallimento della prima versione software, infatti, occorre rifare buona parte dell’applicazione. In tal modo conviene considerare la prima versione come un throw-away (un prototipo "cestinabile") che è valido finché non fornisce al progettista un feed-back sufficiente. La versione iniziale o prototipo viene utilizzata temporaneamente dopo di che viene cestinata e si procede a produrre l'applicazione vera e propria. La seconda versione può essere sviluppata seguendo il modello cascata.

È un modello costituito, quindi, da poche fasi che si ripetono

  • Costruisci qualcosa
  • Consegnalo all’utente
  • Ottieni delle valutazioni
  • Modifica il progetto in funzione delle valutazioni

Questo approccio fornisce solo una soluzione parziale ai problemi del modello a cascata per cui elimina gli errori nei requisiti ma non riduce la distanza temporale per il completamento del ciclo di sviluppo.

Per tale motivo il modello si è evoluto nel modello incrementale perché alcune fasi possono essere rimandate in modo da produrre comunque un insieme utile di funzionalità. In tal modo si forniscono al cliente una serie di prototipi successivi e si integrano i feedback in maniera incrementale. Questa fase viene detta modello di sviluppo e rilascio incrementale.

Il modello si può complicare ulteriormente per cui le fasi possono anche essere concorrenti, ad esempio mentre si integra una versione, già si lavora sul design di quella successiva. I tempi si riducono di parecchio ma i rischi sono tantissimi.

Il problema maggiore di questo modello è che si rischia di essere indisciplinati. È necessario far uso di standard di processo e non perdere i punti migliori del modello a cascata. In tal modo scompare la fase di manutenzione e si parla di evoluzione continua. A volte il modello throw-away si può sostituire con un prototipo evolutivo che poco per volta si trasforma nell’applicazione finale. Il modello comunque è molto utile per verificare alcune componenti del software come le interfacce, infatti in questo modo si possono creare interfacce adatte all’utente e ben testate.

Collegamenti esterni[modifica | modifica sorgente]