opr000F3

background image

1

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Modele cyklu życia

projektu informatycznego

Organizacja i Zarządzanie Projektem
Informatycznym

Jarosław Francik
marzec 2003

w prezentacji wykorzystano również materiały
przygotowane przez Michała Kolano

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Etapy życia oprogramowania

• Faza strategiczna (cele i definicja projektu)

ustalenie celów i definicji projektu; cele biznesowe

• Definiowanie wymagań

zrozumienie celów klienta i ich zamiana na formalną

specyfikację tego, co i przy jakich założeniach system ma robić

• Analiza

zrozumienie dziedziny problemu, zakresu obowiązków systemu

ustalenie celów systemu, specyfikacja problemu

• Projektowanie

w jaki sposób system ma działać, by spełnić wymagania

• Implementacja

tworzenie systemu (narzędzia, gotowe komponenty)

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Etapy życia oprogramowania

• Testowanie

weryfikacja zgodności ze specyfikacją, poprawienie błędów

• Dokumentacja

przygotowanie materiałów dla członków zespołu

projektowego oraz użytkowników

• Instalacja

uruchomienie systemu u klienta

• Wdrożenie

przygotowanie użytkowników, akceptacja, szkolenie

• Pielęgnacja

utrzymanie, konserwacja – w trakcie użytkowania systemu

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Etapy życia oprogramowania

Określenie wymagań

Projektowanie

Implementacja

Testowanie

Pielęgnacja

Faza strategiczna

Analiza

Instalacja

Dokumentacja

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Modele cyklu życia projektu

• Model kaskadowy

separacja faz specyfikacji i implementacji

• Model ewolucyjny

przeplatanie się faz specyfikacji i implementacji

• Model spiralny

elementy modelu kaskadowego i ewolucyjnego

• Różne odmiany i modyfikacje
• Modele nietypowe…

background image

2

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model kaskadowy

Model kaskadowy

Określenie

wymagań

Określenie

wymagań

Projektowanie

Projektowanie

Implementacja

Implementacja

Testowanie

Testowanie

Konserwacja

Konserwacja

Analiza

Analiza

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model kaskadowy

Model kaskadowy
z prototypowaniem

Określenie

wymagań

Określenie

wymagań

Projektowanie

Projektowanie

Implementacja

Implementacja

Testowanie

Testowanie

Konserwacja

Konserwacja

Analiza

Analiza

PROTOTYP

PROTOTYP

prototypowanie:

– wstępne wymagania
– weryfikacja prototypu

– pełna specyfikacja wymagań

cel:

wykrycie błędów w specyfikacji wymagań

prototypowanie:

– wstępne wymagania
– weryfikacja prototypu

– pełna specyfikacja wymagań

cel:

wykrycie błędów w specyfikacji wymagań

zalety:

– wczesna demonstracja możliwości systemu
– wstępne szkolenia

wady:

koszty przygotowania prototypu

– zagrożenie „przetrzymywaniem prototypu”

zalety:

– wczesna demonstracja możliwości systemu
– wstępne szkolenia

wady:

koszty przygotowania prototypu

– zagrożenie „przetrzymywaniem prototypu”

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model kaskadowy

Model kaskadowy
z iteracjami

Określenie

wymagań

Określenie

wymagań

Projektowanie

Projektowanie

Implementacja

Implementacja

Testowanie

Testowanie

Konserwacja

Konserwacja

Analiza

Analiza

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model kaskadowy

• Zalety modelu kaskadowego:

– Łatwość harmonogramowania i budżetowania
– Formalny odbiór poszczególnych etapów (kamienie

milowe, milestones): monitorowanie postępu prac

– Rozliczenia finansowe z klientem
– Możliwość realizacji sterowanej dokumentami

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model kaskadowy

• Wady modelu kaskadowego:

– narzucona ścisła kolejność faz
– wysoki koszt błędów ze wczesnych faz
– problemy ze wprowadzaniem zmian
– długa przerwa w kontaktach z klientem

…stąd modyfikacje tego modelu

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model kaskadowy

• Model kaskadowy:

– Ułatwia zarządzanie projektem
– Utrudnia wprowadzanie zmian
– Zwiększa koszty błędów

często pożądany przez kierownictwo

część odpowiedzialności spychana jest

na zespół projektowy

background image

3

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model ewolucyjny

Model ewolucyjny

Zarys

systemu

Zarys

systemu

Specyfikacja

Specyfikacja

Rozwój

systemu

Rozwój

systemu

Weryfikacja

Weryfikacja

Wersja

początkowa

Wersja

początkowa

Wersja

końcowa

Wersja

końcowa

Wersje

pośrednie

czynności przebiegające

równolegle

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model ewolucyjny

Model ewolucyjny

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model ewolucyjny

• Zalety:

– dobry dla małych projektów, szybki start projektu
– tolerancja dla słabo zdefiniowanych wymagań
– niski koszt błędów (krótki czas życia błędów)

• Wady:

– trudność z harmonogramowaniem
– koszty prototypowania, błądzenia
– systemy często o złej strukturze

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model ewolucyjny

• Model ewolucyjny:

– Utrudnia zarządzanie projektem
– Wprowadzanie zmian immanentną cechą tego modelu
– Zwiększa ryzyko błędów, ale zmniejsza ich koszty

rzadko preferowany przez kierownictwo

często kształtuje się tam,

gdzie brakuje dobrego zarządzania

charakterystyczny dla projektów jednoosobowych

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Modele – porównanie

koszty błędów

ryzyko błędów

+

elastyczność

+

zarządzanie

model

ewolucyjny

model

kaskadowy

koszty błędów

ryzyko błędów

+

+

elastyczność

+

+

zarządzanie

model

iteracyjny

model

ewolucyjny

model

kaskadowy

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model iteracyjny (spiralny)

• podobny do iteracyjnego modelu kaskadowego
• nacisk na wielokrotne prototypowanie

• powtarzanie modelu kaskadowego
• każdy cykl kończy się stworzeniem prototypu,

jego weryfikacją i wyciągnięciem wniosków

• mocny punkt: zarządzanie ryzykiem

background image

4

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model iteracyjny

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model iteracyjny

Projektowanie

Analiza

(planowanie)

Testowanie

(ocena)

Konstrukcja

(prototypowanie)

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model spiralny Boehma

Analiza

ryzyka

Analiza

ryzyka

Analiza

ryzyka

Analiza

ryzyka Proto

typ 1

Prototyp 2

Prototyp 3

Prototyp

operacyjny

Symulacja, modele, testy wydajności

Koncepcja
działania Wymagani

a

Walidacja
wymagań

Projekt

produktu

Walidacja
produktu

Obsługa

Test

akceptacyjny

Test

scalania

Test jednostek

Kod

Projekt

szczegółowy

Planowanie scalania i

testowania

Planowanie tworzenia

(rozwijania)

Plan cyklu życia i

akwizycji wymagań

Przegląd

Przegląd

Przegląd

Przegląd

Identyfikacja

i analiza ryzyka

prototypy

Przegląd

ustalanie celów i

alternatywnych dróg

Planowanie

następnej fazy

Konstrukcja

Atestowanie

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model iteracyjny

• Zalety modelu iteracyjnego:

– harmonogramowanie i budżetowanie – dość łatwe,

choć utrudnione ze względu na liczbę iteracji

– możliwość wyznaczenia kamieni milowych,

choć nie tak oczywistych jak w modelu kaskadowym

– elastyczność, łatwość wprowadzania zmian
– wczesne wykrywanie błędów
– zarządzanie ryzykiem

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model iteracyjny

• Wady modelu iteracyjnego:

– nie tak łatwe, jak w modelu kaskadowym, zarządzanie
– narzucone przez klienta wymogi dot. harmonogramu

mogą utrudniać skorzystanie z tego modelu

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model iteracyjny

• Model iteracyjny:

– Zarządzanie projektem lekko utrudnione
– Wprowadzanie zmian immanentną cechą tego modelu
– Pozwala na wczesne wykrywanie błędów

dobry kompromis pomiędzy

modelem kaskadowym i ewolucyjnym,

dodatkowo pozbawiony wad tego ostatniego

często uważany za najdoskonalszy wytwór

inżynierii oprogramowania w tej dziedzinie

background image

5

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Modele – porównanie

koszty błędów

ryzyko błędów

+

+

elastyczność

+

+

zarządzanie

model

iteracyjny

model

ewolucyjny

model

kaskadowy

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Inne modele

• Programowanie odkrywcze

OK?

nie

tak

koniec

próbuj…

próbuj…

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Inne modele

Transformacje formalne

Formalna

specyfikacja

wymagań

Formalna

specyfikacja

wymagań

System

(kod)

System

(kod)

Postać

pośrednia

Postać

pośrednia

Postać

pośrednia

Postać

pośrednia

dowód
poprawności

dowód
poprawności

dowód
poprawności

Postać

pośrednia

Postać

pośrednia

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Inne modele

Montaż z gotowych elementów

Specyfikacja

wymagań

Specyfikacja

wymagań

Analiza

komponentów

Analiza

komponentów

Modyfikacja

wymagań

Modyfikacja

wymagań

Projekt

w oparciu

o komponenty

Projekt

w oparciu

o komponenty

Weryfikacja

systemu

Weryfikacja

systemu

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Inne modele

Realizacja przyrostowa

Określenie

wymagań

Określenie

wymagań

Ogólny
projekt

Ogólny
projekt

Wybór

podzbioru

funkcji

Wybór

podzbioru

funkcji

Szczegółowy

projekt,

implementacja

testy

Szczegółowy

projekt,

implementacja

testy

Dostarczenie

zrealizowanej

części

systemu

Dostarczenie

zrealizowanej

części

systemu

background image

6

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Propagacja błędów

• Zasada 1:10
• Wyniki badań wg Pressmana

Faza

Faza

projektowania

projektowania

Przed

Przed

rozpocz

rozpocz

ę

ę

ciem

ciem

testowania

testowania

W

W

trakcie

trakcie

testowania

testowania

Po

Po

przekazaniu

przekazaniu

d

d

o

o

eksploatacji

eksploatacji

Koszt

1

6,5

15

67

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Propagacja błędów

Błędy wzmacniane

Błędy przepuszczone

Nowe błędy

%

skuteczności

wykrywania

błędów

błędy z poprzednich

etapów

błędy przekazane

do następnego

etapu

Defekty

Wykrywanie

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Propagacja błędów

0

0

10

0%

6

6

25

0%

10

10

81

25

20%

37

94

0

0

50%

47

0

0

50%

24

50%

94

47

24

12

projektowanie

wstępne

projektowanie

szczegółowe

4*1,5

test kodu/
jednostek

27*3

test scalania

test

walidacyjny

test

systemowy

0

0

10

70%

2

1,5

25

50%

3

5

30

25

60%

15

24

0

0

50%

12

0

0

50%

6

50%

24

12

6

3

projektowanie

wstępne

projektowanie

szczegółowe

1*1,5

test kodu/
jednostek

10*3

test scalania

test

walidacyjny

test

systemowy

bez testów

kończących

fazy

z testami

kończącymi

fazy

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Zamiast podsumowania…

Institute of Informatics, Silesian University of Technology, Gliwice, Poland

Model projektu RUP

• RUP – Rational Unified Process

®Rational Software


Wyszukiwarka

Podobne podstrony:
opr00004 tmp
opr000EW
opr00001
opr000NB

więcej podobnych podstron