Modello Vmodel vs Cascata
Uno dei più antichi dibattiti nell'ingegneria del software è il dibattito tra la cascata contro il modello V. Questo dibattito ruota intorno al miglior modello di software che gli sviluppatori possano utilizzare. Ci sono varie fasi che sono coinvolte nel processo di sviluppo del software. Le fasi sono simili sia nella cascata che nel modello V, e l'unica cosa che finora è stata controversa è l'approccio con cui questi due modelli possono essere raggiunti.
Nel modello V, ci sono molte attività che, se tracciate insieme su un diagramma schematico, formano una forma a V. Ogni fase che viene detta ha una fase corrispondente che è coinvolta nel test. Questo modello a causa del numero uguale di test e sviluppo è indicato come il modello di verifica e convalida. La parte di verifica riguarda lo sviluppo mentre la validazione riguarda le fasi di test. Tra le attività che rientrano nella verifica rientrano l'analisi dei requisiti in cui le informazioni vengono raccolte dall'utente finale. Questa informazione è importante nello sviluppo della documentazione del software.
Il prossimo è il design del sistema, che mira a preparare la progettazione funzionale del software. La prossima cosa che segue in linea è la progettazione architettonica. Questo è anche chiamato il design di alto livello che la relazione di interfaccia e le tabelle del database e le dipendenze delle tabelle. La fase finale del processo di sviluppo è la codifica in cui l'intero progetto è suddiviso in piccole sezioni per la codifica che vengono poi unite per creare l'intero sistema.
Il lato di validazione, dall'altra parte, ha quattro fasi come nella fase di verifica. Queste fasi iniziano con il collaudo delle unità, poi con i test di integrazione, i test di sistema e infine con i test di accettazione degli utenti in cui l'intero sistema viene valutato nel suo complesso.
Il modello a cascata è la prima procedura di sviluppo del software, con la sua origine proveniente dalle industrie manifatturiere e delle costruzioni. Il concetto di base di questo processo è che esiste un flusso sequenziale di processi che si ridimensionano uno dopo l'altro, come mostrato in una cascata. Queste fasi del modello a cascata comprendono la raccolta e l'analisi dei requisiti in cui vengono raccolti i requisiti del cliente. Questo passaggio conduce alla fase di progettazione, in cui viene creata la maggior parte del software e quindi alla fase di implementazione in cui viene scritto il codice del software. La fase che segue è la verifica e il debug, che porta alla consegna e infine alla fase di manutenzione.
La differenza principale rilevata tra i due modelli è che le attività di test vengono eseguite dopo lo sviluppo. Il modello V sembra assomigliare ad un modello che ha un dato inizio e fine mentre il modello a cascata è continuamente iterativo. Il modello V differisce essendo un processo simultaneo. Dai diversi software prodotti nel mercato, il software prodotto utilizzando il processo V sembra essere inferiore, in quanto vi sono numerose attività di test rispetto al modello a cascata che ha una singola fase di test quando il progetto è completo.
Si può quindi affermare che l'uso del modello V è preferito ogni volta che ci sono cambiamenti continui che devono essere inclusi. Questo è per una persona o uno sviluppo che ha il cliente incerto sulle esigenze del proprio progetto, poiché continuano a cambiare ciò che percepiscono come ideale. Le persone con requisiti fissi che non cambieranno nella fase di sviluppo del progetto dovrebbero accontentarsi del modello a cascata. È anche importante notare che i cambiamenti nel modello V sono economici da implementare in quanto i test sono e lo sviluppo avviene simultaneamente. Questo non è il caso del modello a cascata, che tende ad essere costoso, poiché non si possono notare eventuali difetti del software fino a quando non arriva alla fase di test.