SDLC – Model Iteracyjny

Opinie

W modelu iteracyjnym proces iteracyjny rozpoczyna się od prostej implementacji małego zbioru wymagań oprogramowania i iteracyjnie ulepsza ewoluujące wersje, aż kompletny system zostanie zaimplementowany i będzie gotowy do wdrożenia.

Iteracyjny model cyklu życia nie próbuje zaczynać od pełnej specyfikacji wymagań. Zamiast tego, rozwój rozpoczyna się od określenia i zaimplementowania tylko części oprogramowania, które jest następnie przeglądane w celu zidentyfikowania dalszych wymagań. Proces ten jest następnie powtarzany, tworząc nową wersję oprogramowania na koniec każdej iteracji modelu.

Model iteracyjny – projektowanie

Proces iteracyjny rozpoczyna się od prostej implementacji podzbioru wymagań oprogramowania i iteracyjnie ulepsza ewoluujące wersje, aż do wdrożenia pełnego systemu. W każdej iteracji dokonywane są modyfikacje projektu i dodawane są nowe możliwości funkcjonalne. Podstawową ideą tej metody jest rozwijanie systemu poprzez powtarzające się cykle (iteracyjne) i w mniejszych porcjach na raz (przyrostowe).

Następująca ilustracja jest reprezentacją modelu iteracyjnego i przyrostowego –

Rozwój iteracyjny i przyrostowy jest połączeniem zarówno projektowania iteracyjnego lub metody iteracyjnej, jak i przyrostowego modelu budowania dla rozwoju. „Podczas rozwoju oprogramowania, więcej niż jedna iteracja cyklu rozwoju oprogramowania może być w toku w tym samym czasie”. Proces ten może być opisany jako podejście „ewolucyjnego nabywania” lub „przyrostowego budowania”.”

W tym modelu przyrostowym całe wymaganie jest podzielone na różne budowania. Podczas każdej iteracji, moduł rozwojowy przechodzi przez fazy wymagań, projektowania, implementacji i testowania. Każde kolejne wydanie modułu dodaje funkcje do poprzedniego wydania. Proces trwa do momentu, gdy kompletny system jest gotowy zgodnie z wymaganiem.

Kluczem do udanego wykorzystania iteracyjnego cyklu życia tworzenia oprogramowania jest rygorystyczna walidacja wymagań i weryfikacja & testowania każdej wersji oprogramowania względem tych wymagań w ramach każdego cyklu modelu. W miarę jak oprogramowanie ewoluuje przez kolejne cykle, testy muszą być powtarzane i rozszerzane w celu weryfikacji każdej wersji oprogramowania.

Model iteracyjny – zastosowanie

Podobnie jak inne modele SDLC, rozwój iteracyjny i przyrostowy ma pewne specyficzne zastosowania w przemyśle oprogramowania. Model ten jest najczęściej używany w następujących scenariuszach –

  • Wymagania kompletnego systemu są jasno zdefiniowane i zrozumiałe.

  • Główne wymagania muszą być zdefiniowane; jednak niektóre funkcjonalności lub wymagane ulepszenia mogą ewoluować z czasem.

  • Istnieje ograniczenie czasowe do rynku.

  • Wykorzystywana jest nowa technologia, która jest poznawana przez zespół programistów podczas pracy nad projektem.

  • Zasoby o potrzebnych umiejętnościach nie są dostępne i są planowane do wykorzystania na zasadzie kontraktu dla określonych iteracji.

  • Istnieją pewne cechy i cele o wysokim ryzyku, które mogą ulec zmianie w przyszłości.

Model iteracyjny – wady i zalety

Zaletą tego modelu jest to, że istnieje działający model systemu na bardzo wczesnym etapie rozwoju, co ułatwia znalezienie wad funkcjonalnych lub projektowych. Znalezienie problemów na wczesnym etapie rozwoju pozwala na podjęcie działań naprawczych w ograniczonym budżecie.

Wadą tego modelu SDLC jest to, że ma on zastosowanie tylko do dużych i obszernych projektów rozwoju oprogramowania. Dzieje się tak dlatego, że trudno jest rozbić mały system oprogramowania na kolejne małe, nadające się do użytku przyrosty/moduły.

Zalety iteracyjnego i przyrostowego modelu SDLC są następujące –

  • Część działającej funkcjonalności może być opracowana szybko i we wczesnej fazie cyklu życia.

  • Wyniki są uzyskiwane wcześnie i okresowo.

  • Można zaplanować równoległy rozwój.

  • Postęp może być mierzony.

  • Mniej kosztowna zmiana zakresu/wymagań.

  • Testowanie i usuwanie błędów podczas mniejszych iteracji jest łatwe.

  • Ryzyko jest identyfikowane i rozwiązywane podczas iteracji; a każda iteracja jest łatwo zarządzanym kamieniem milowym.

  • Łatwiejsze zarządzanie ryzykiem – część o wysokim ryzyku jest wykonywana jako pierwsza.

  • Z każdym przyrostem dostarczany jest produkt operacyjny.

  • Problemy, wyzwania i ryzyka zidentyfikowane w każdym przyroście mogą być wykorzystane/zaaplikowane do następnego przyrostu.

  • Analiza ryzyka jest lepsza.

  • Obsługuje zmieniające się wymagania.

  • Wstępny czas operacyjny jest krótszy.

  • Lepiej nadaje się do dużych i krytycznych dla misji projektów.

  • W cyklu życia oprogramowanie jest produkowane wcześnie, co ułatwia ocenę i informacje zwrotne od klienta.

Wady modelu Iteracyjnego i Inkrementalnego SDLC są następujące –

  • Może być wymagane więcej zasobów.

  • Chociaż koszt zmiany jest mniejszy, ale nie jest on zbyt odpowiedni dla zmieniających się wymagań.

  • Wymagana jest większa uwaga kierownictwa.

  • Mogą pojawić się problemy z architekturą lub projektem systemu, ponieważ nie wszystkie wymagania są zbierane na początku całego cyklu życia.

  • Definiowanie przyrostów może wymagać zdefiniowania kompletnego systemu.

  • Nie nadaje się do mniejszych projektów.

  • Złożoność zarządzania jest większa.

  • Koniec projektu może nie być znany, co stanowi ryzyko.

  • Wysoko wykwalifikowane zasoby są wymagane do analizy ryzyka.

  • Postęp projektu jest w dużym stopniu uzależniony od fazy analizy ryzyka.

Reklamacje

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.