Model Vmodel vs Waterfall
Jedną z najstarszych debat w inżynierii oprogramowania jest debata między wodospadem a modelem V. Debata dotyczy najlepszego modelu oprogramowania, z którego mogą korzystać programiści. Proces tworzenia oprogramowania obejmuje różne fazy. Fazy są podobne zarówno w wodospadzie, jak i w modelu V, a jedyne, co do tej pory było sporne, to podejście, do którego te dwa modele można osiągnąć poprzez.
W modelu V istnieje wiele działań, które po narysowaniu razem na schemacie tworzą kształt V. Każda wspomniana faza ma odpowiednią fazę związaną z testowaniem. Model ten ze względu na taką samą liczbę testów i rozwoju nazywany jest modelem weryfikacji i walidacji. Strona weryfikacji zajmuje się końcem rozwoju, podczas gdy walidacja dotyczy faz testowania. Do działań objętych weryfikacją należy analiza wymagań, w której informacje są zbierane od użytkownika końcowego. Informacje te są ważne przy opracowywaniu dokumentacji oprogramowania.
Kolejnym etapem jest projekt systemu, którego celem jest przygotowanie funkcjonalnego projektu oprogramowania. Następną rzeczą, która następuje po linii, jest projekt architektoniczny. Nazywa się to również projektem wysokiego poziomu polegającym na relacji interfejsu i tabelach bazy danych oraz zależnościach między tabelami. Ostatnim etapem procesu programowania jest kodowanie, w którym cały projekt jest dzielony na małe sekcje do kodowania, które są następnie łączone w celu stworzenia całego systemu.
Z drugiej strony strona walidacyjna ma cztery etapy jak na etapie weryfikacji. Fazy te zaczynają się od testów jednostkowych, następnie testów integracyjnych, testów systemowych i wreszcie testów akceptacyjnych użytkownika, w których cały system jest oceniany jako całość.
Model wodospadu jest najwcześniejszą procedurą opracowywania oprogramowania, a jego źródłem są branże produkcyjne i budowlane. Podstawową koncepcją tego procesu jest sekwencyjny przepływ procesów, które zmniejszają się jeden po drugim, jak widać w wodospadzie. Te fazy modelu wodospadu obejmują zbieranie wymagań i analizę, w których gromadzone są wymagania klienta. Ten krok prowadzi do fazy projektowania, w której powstaje większość oprogramowania, a następnie do fazy implementacji, w której zapisywany jest kod oprogramowania. Kolejnym etapem jest testowanie i debugowanie, które prowadzi do dostawy i wreszcie do fazy konserwacji.
Główną różnicą odnotowaną między tymi dwoma modelami jest to, że czynności testowe są wykonywane po zakończeniu rozwoju. Model V wydaje się wyglądać jak model, który ma określony początek i koniec, podczas gdy model wodospadu jest ciągle iteracyjny. Model V różni się tym, że jest procesem jednoczesnym. Z różnych programów produkowanych na rynku oprogramowanie wydaje się być niższe, ponieważ istnieje wiele działań testowych w przeciwieństwie do modelu kaskadowego, który ma jedną fazę testową po zakończeniu projektu.
Można zatem powiedzieć, że stosowanie modelu V jest preferowane, gdy zachodzą ciągłe zmiany, które należy uwzględnić. Dotyczy to osoby lub projektu, który niepokoi klienta o potrzeby swojego projektu, ponieważ ciągle zmienia to, co postrzega jako idealne. Osoby o ustalonych wymaganiach, które nie zmienią się w fazie rozwoju projektu, powinny zadowolić się modelem wodospadu. Ważne jest również, aby pamiętać, że zmiany w modelu V są tanie do wdrożenia, ponieważ testy i rozwój są wykonywane jednocześnie. Nie jest tak w przypadku modelu kaskadowego, który jest zwykle kosztowny, ponieważ żadnych wad oprogramowania nie można zauważyć, dopóki nie przejdzie do fazy testowania.