background image

PODSTAWY INŻINIERII 

PROGRAMOWANIA 

Modele: przyrostowy i spiralny

background image

Produkcja oraz eksploatacja oprogramowania jest pewnym  
procesem, który powinien być realizowany w systematyczny 
sposób. Jak jednak powinien wyglądać ten proces? W 
odpowiedzi na to pytanie proponuje się szereg tak zwanych 
modeli cyklu życia oprogramowania. Modele te wprowadzają 
pewne fazy życia oprogramowania, określają czynności 
wykonywane w poszczególnych fazach oraz ustalają kolejność 
ich realizacji. Modele cyklu życia oprogramowania pozwalają 
uporządkować przebieg prac, ułatwiając planowanie zadań 
oraz monitorowanie przebiegu ich realizacji

background image

 Model spiralny (ang. spiral 

model )

Proces tworzenia ma postać spirali, której każda pętla reprezentuje jedną fazę procesu. 
Najbardziej wewnętrzna pętla przedstawia początkowe etapy projektowania,
 np. studium wykonalności, kolejna definicji wymagań systemowych, itd.

background image
background image

Regiony zadań modelu spiralnego:

• Porozumienie z klientem - ustanowienie efektywnego porozumiewania
się między producentem a klientem.

• Planowanie - zdefiniowanie zasobów, terminów i inne ustalenia.

• Analiza ryzyka - ocena ryzyka technicznego
i związanego z zarządzaniem projektem.

• Projektowanie - zadania związane z analizą i budową projektu.

• Konstrukcja i oddanie do użytku: konstrukcja, testowanie, instalacja
i wspomaganie użytkownika

• Ocena dokonana przez klienta
uzyskanie od klienta informacji nt. oceny projektu i jego implementacji.

background image

Zalety:

• Do dużych systemów - szybka reakcja na pojawiające się czynniki 
ryzyka

• Połączenie iteracji z klasycznym modelem kaskadowym
Wady:

•Trudno do niego przekonać klienta

• Konieczność umiejętności szacowania ryzyka

• Problemy, gdy źle oszacujemy ryzyko
Istnieje wiele wariantów tego modelu  np. realizacja przyrostowa

background image

Model „realizacji 

przyrostowej” 

(ang. incremental 

development)

Jest to odmiana modelu spiralnego. Wybierany jest i realizowany
podstawowy zestaw funkcji. Po realizacji pewnych funkcji następuje
zrealizowanie i dostarczenie kolejnych funkcji.

background image

Zalety:

• skrócenie przerw w kontaktach z klientem

• możliwość wczesnego wykorzystania przez klienta
dostarczonych fragmentów systemu

• możliwość elastycznego reagowania na powstałe opóźnienia
Wady:

• dodatkowy koszt towarzyszący niezależnej realizacji fragmentów systemu

background image

Przyrostowe (ewolucyjne) tworzenie oprogramowania polega na iteracyjnym 
tworzeniu systemu, począwszy od jego najprostszej bazowej wersji. W kolejnych 
iteracjach rozwijane i dołączane są kolejne części (przyrosty), aż do osiągnięcia 
systemu docelowego.
Metoda ta może być stosowana do konstrukcji systemów, w których można 
wyodrębnić początkowy zestaw funkcji tworzących pierwszą wersję prototypu i 
następnie realizować dokładanie kolejnych funkcji (tzw. przyrostów).

Metoda ta może być stosowana do konstrukcji systemów, w których można 
wyodrębnić początkowy zestaw funkcji tworzących pierwszą wersję 
prototypu i następnie realizować dokładanie kolejnych funkcji (tzw. 
przyrostów).


Document Outline