Czy ktoś może wyjaśnić proces V Model? Dlaczego różni się od modelu Waterfall?

19

Wygląda na to, że Model V to po prostu Model Wodospadu z dolną połową Wodospadu wygiętą do góry, tworząc V. Nie widzę, jak dodaje coś nowego.

Ze schematów również nie rozumiem przepływu. Są strzałki wskazujące we wszystkich kierunkach i nie rozumiem, co jest pierwsze. Czy podążamy za literą V od lewego górnego rogu, do dolnego środkowego środka, a następnie z powrotem do prawego górnego rogu? Czy może obniżamy V, robiąc wszystko wyżej, zanim przedmiot spadnie?

W Internecie brakuje wystarczającego wyjaśnienia tego modelu. Byłoby wspaniale, gdyby ktoś mógł to wyjaśnić w prawdziwej formie StackExchange :)

Model V.

CodyBugstein
źródło

Odpowiedzi:

17

Model V jest rozszerzeniem modelu Wodospad, więc nie oczekuj, że będzie on zupełnie inny.

Zasadniczo podążasz za modelem V od lewej do prawej , tak jak w modelu Waterfall. W Waterfall wykonujesz wymagania, projektujesz, wdrażasz, weryfikujesz i ostatecznie konserwujesz. W ten sam sposób w modelu V wykonujesz wymagania, projektujesz, wdrażasz, weryfikujesz i konserwujesz: te same kroki w obu przypadkach.

Główne różnice w Waterfall to sposób prezentacji i nacisk na testowanie.

Reprezentacja przepływu w kształcie litery V pomaga odróżnić wszystko, co przychodzi przed kodowaniem (wymagania, architektura i projekt) i wszystko, co następuje po kodowaniu (w zasadzie testowanie). Podczas gdy testy są tylko jednym z pięciu kroków w Waterfall, wygląda na prawie połowę procesu w modelu V.

Schemat w twoim pytaniu jest nieco bardziej skomplikowany. To, co próbuje pokazać, to na przykład, że etap projektowania systemu prowadzi nie tylko do dokumentu projektu systemu, jak sugerowałby model Waterfall, ale także projektu testów systemu, który pomoże później napisać testy systemu. Schemat kładzie jeszcze większy nacisk na testowanie . Wreszcie, wykonanie projektu testów systemowych pomaga w projektowaniu architektury (niezręczne byłoby projektowanie architektury niezależnie od projektu testów systemowych).


Szukając innych wyjaśnień w Internecie, nie mogę uniknąć cytowania następującego artykułu Bhakti Satalkar :

Główna różnica między modelem wodospadu a modelem V polega na tym, że w modelu wodospadu czynności testowe są przeprowadzane po zakończeniu prac rozwojowych. Z drugiej strony w modelu V czynności testowe rozpoczynają się od samego pierwszego etapu. Innymi słowy, model wodospadu jest procesem ciągłym, podczas gdy model V jest procesem jednoczesnym. W porównaniu z oprogramowaniem wykonanym przy użyciu modelu wodospadu liczba defektów w oprogramowaniu wykonanym przy użyciu modelu V. jest mniejsza. Wynika to z faktu, że istnieją działania testowe, które są przeprowadzane jednocześnie w modelu V. Dlatego model wodospadu jest używany, gdy wymagania użytkownika są ustalone. Jeśli wymagania użytkownika są niepewne i ciągle się zmieniają, lepszym rozwiązaniem jest model V.

To wyjaśnienie wprowadza w błąd . Byłoby to prawdą tylko wtedy, gdy zastąpisz „model V” w ofercie dowolną metodą Agile.

W przeciwieństwie do stanów artykułu, w modelu V testy przeprowadzane są po kodowaniu; na przykład patrz Wikipedia :

powszechną praktyczną krytyką Modelu V jest to, że prowadzi on do ściśnięcia testów w ciasnych oknach pod koniec rozwoju, gdy wcześniejsze etapy zostały przekroczone, ale data wdrożenia pozostaje stała.

Podczas gdy w modelu V projektowanie testów systemowych przebiega zgodnie z projektem systemu bez oczekiwania na wdrożenie produktu, nie oznacza to, że same testy są wykonywane przed kodowaniem. Autor myli model V z podejściami zwinnymi, takimi jak Test Driven Development (TDD) w Extreme Programming (XP).

Arseni Mourzenko
źródło
1
Tak - myliłem cytaty takie jak ten, który zacytowałeś! Wyglądało na to, że proces postępował w dół i nie V
następował
2
Dodatkowo nad wodospadem model V pokazuje poziome warstwy odpowiedzialności, jakie istnieją w rzeczywistości. Na przykład wyższe poziomy pokazują zarówno wymagania, jak i test systemu, i nie martw się o szczegóły źródła. Poziom źródłowy jest oddzielony od gotowego produktu (potrzebny do bardzo dużych systemów - gdzie możesz mieć 20 CSCI składających się z kilku milionów SLOC każdy)
mattnz
Representing the flow as V-shape helps making the difference between everything which comes prior to coding (requirements, architecture and design) and everything which follows coding (essentially testing). While tests are just one of five steps in Waterfall, it looks like practically half of the process in V-model.= przybity! Dzięki
CodyBugstein