Model V
![](https://cdn.codegym.cc/images/article/e2c9e51b-1975-449f-9136-ff3eaed338dd/800.jpeg)
Zasada działania modelu w kształcie litery V jest pod wieloma względami podobna do modelu kaskadowego. Najczęściej znajduje zastosowanie w systemach, w których niezwykle ważna jest nieprzerwana praca. Jest to oprogramowanie do podtrzymywania życia pacjentów w placówkach medycznych, systemy awaryjnego blokowania i podobne oprogramowanie.
Cechą charakterystyczną tego modelu jest to, że koncentruje się on na testowaniu oprogramowania będącego we wczesnej fazie rozwoju, w tym projektowego. Testowanie odbywa się równolegle z procesem programowania — na przykład testy jednostkowe są wykonywane podczas pisania kodu.
Kiedy należy zastosować model V?
- Jeśli oprogramowanie wymaga rygorystycznych testów, wówczas zasady modelu V (walidacja i weryfikacja) są w tej sytuacji najbardziej uzasadnione.
- Dla małych i średnich projektów, z jasno określonymi wymaganiami.
- W obecności dużej liczby wykwalifikowanych testerów.
model przyrostowy
![](https://cdn.codegym.cc/images/article/a732d322-07b8-4d4a-977f-c8729ccccd89/800.jpeg)
Specyfika modelu przyrostowego polega na tym, że wymagania dotyczące oprogramowania zależą od konkretnego zestawu. Ponieważ produkt jest tworzony w fazach, jego rozwój przechodzi przez wiele iteracji. Cały ten cykl życia można nazwać „multi-wodospadem”.
Cykl budowy jest podzielony na małe i proste moduły. Każdy z nich przechodzi przez rygorystyczne wymagania, projektowanie, kodowanie, wdrażanie i testowanie.
Proces rozwoju według modelu przyrostowego rozpoczyna się od wydania podstawowej wersji produktu o minimalnej funkcjonalności. Następnie następuje „wzrost” funkcji, które nazywane są „przyrostami”. Przepływ pracy trwa do momentu zintegrowania wszystkich zaplanowanych wcześniej funkcji z systemem.
Model iteracyjny
Model iteracyjny, zwany też modelem iteracyjnym, nie musi mieć na początkowym etapie pełnej specyfikacji wymagań. Rozwój rozpoczyna się od stworzenia określonej funkcjonalności, która następnie staje się podstawą do dodawania nowych funkcji.
Proces tworzenia funkcji „w częściach” jest powtarzany w kółko, aż do zakończenia zgodnie z zatwierdzonym planem. Prace trwają do momentu otrzymania działającej wersji produktu.
Na załączonym diagramie można zobaczyć iteracyjny „rozwój” portretu Mony Lisy. W pierwszej iteracji widzisz tylko szkic portretu dziewczyny, w drugiej iteracji widać już kolory, w trzeciej iteracji staje się bardziej szczegółowa i nasycona. Proces zakończony.
![](https://cdn.codegym.cc/images/article/dcb8ed9b-7bf2-4270-8c69-c79844b5a0d0/800.jpeg)
Jeśli przypomnimy sobie model przyrostowy, to portret zostanie na nim napisany w zupełnie inny sposób - kawałek po kawałku, z oddzielnych części.
Przykładem rozwoju modelu iteracyjnego może być rozpoznawanie głosu. Badania naukowe na ten temat rozpoczęły się dawno temu, najpierw w formie pomysłów, potem rozpoczęto praktyczne wdrażanie. Każda nowa iteracja poprawiała jakość rozpoznawania głosu. Jednak nawet teraz uznania nie można nazwać doskonałym. Zadanie nie jest więc jeszcze zakończone.
Kiedy najlepiej zastosować model iteracyjny?
- Jeśli wymagania dotyczące systemu są jasno określone i zrozumiałe dla wszystkich.
- Projekt ma bardzo duży zasięg.
- Główny cel jest określony, ale szczegóły realizacji mogą ulec zmianie w toku prac.
model spiralny
![](https://cdn.codegym.cc/images/article/e73407c3-576b-47d5-be0c-98736d844601/800.jpeg)
„Model spiralny” jest podobny do modelu przyrostowego, ale posiada funkcję w postaci analizy ryzyka. Jest zwykle używany w procesach o znaczeniu krytycznym, w których awaria jest po prostu nie do zaakceptowania.
Model spiralny obejmuje cztery etapy pracy:
- planowanie;
- ocena ryzyka;
- praca nad projektowaniem oprogramowania;
- sprawdzenie wyniku i przejście do nowego etapu.