Il modello V è un'estensione del modello Waterfall, quindi non aspettarti che sia molto diverso.
Fondamentalmente, segui il modello V da sinistra a destra , proprio come nel modello Waterfall. In Waterfall, si richiedono requisiti, progettazione, implementazione, verifica e infine manutenzione. Allo stesso modo, in V-model, si eseguono requisiti, progettazione, implementazione, verifica e manutenzione: stessi passaggi in entrambi i casi.
Le principali differenze con Waterfall sono il modo in cui viene presentato e l'enfasi sui test.
Rappresentare il flusso come forma a V aiuta a fare la differenza tra tutto ciò che precede la codifica (requisiti, architettura e design) e tutto ciò che segue la codifica (essenzialmente test). Mentre i test sono solo uno dei cinque passaggi in Waterfall, sembra quasi la metà del processo in V-model.
Il diagramma nella tua domanda è un po 'più complicato. Ciò che cerca di mostrare è che, ad esempio, la fase di progettazione del sistema non porta solo al documento di progettazione del sistema, come suggerirebbe il modello Waterfall, ma anche alla progettazione dei test di sistema, che in seguito aiuterà a scrivere test di sistema. Il diagramma mette solo un'enfasi ancora maggiore sui test . Infine, la progettazione di test di sistema aiuta nella progettazione dell'architettura (sarebbe scomodo progettare l'architettura indipendentemente dalla progettazione dei test di sistema).
Cercando quali altre spiegazioni su internet, non posso evitare di citare il seguente articolo di Bhakti Satalkar :
The main difference between waterfall model and V model is that in waterfall model, the testing activities are carried out after the development activities are over. On the other hand in V model, testing activities start with the first stage itself. In other words, waterfall model is a continuous process, while the V model is a simultaneous process. As compared to a software made using waterfall model, the number of defects in the software made using V model are less. This is due to the fact, that there are testing activities, which are carried out simultaneously in V model. Therefore, waterfall model is used, when the requirements of the user are fixed. If the requirements of the user are uncertain and keep changing, then V model is the better alternative.
Questa spiegazione è fuorviante . Sarebbe vero solo se sostituisci "V-model" nella citazione con qualsiasi metodo Agile.
A differenza degli articoli dell'articolo, in V-model, il test viene eseguito dopo la codifica; ad esempio, vedi Wikipedia :
a common practical criticism of the V-Model is that it leads to testing being squeezed into tight windows at the end of development when earlier stages have overrun but the implementation date remains fixed.
Mentre, nel modello V, la progettazione dei test di sistema segue la progettazione del sistema senza attendere che venga eseguita l'implementazione del prodotto, ciò non significa che i test vengano eseguiti prima della codifica. L'autore confonde V-model con approcci Agile come Test Driven Development (TDD) in Extreme Programming (XP).