Cykl życiowy
oprogramowania
Zapraszam
Wykonanie: Jacek Rzeszowicz gr. 522
Co to jest
oprogramowanie ???
Oprogramowanie (ang. software) to zestaw instrukcji
przeznaczonych do wykonania dla komputera. Celem
oprogramowania jest przetwarzanie danych w
określonym przez twórcę zakresie. Oprogramowanie jest
synonimem terminów program komputerowy oraz
aplikacja, przy czym stosuje się go zazwyczaj do
określania większych programów oraz ich zbiorów
•
Rodzaje oprogramowania
- Powszechne
- Dostosowane ( inaczej na zamowienie )
Koszty oprogramowania
Koszty oprogramowania są często dominującym składnikiem
kosztów całego systemu. Zdarza się, że koszt
oprogramowania znacznie przekracza samą wartość sprzętu
komputerowego np. komputera osobistego.
Koszt utrzymania i konserwacji oprogramowania jest większy
niż koszt jego wytworzenia. Wieloletnia konserwacja
oprogramowania może kosztować wielokrotnie więcej niż
jego zakup.
Jak powstaje
oprogramowanie:
Inżynieria oprogramowania to dziedzina
inżynierii systemów,
zajmująca się
wszelkimi aspektami produkcji oprogramowania, do których
zaliczamy następujące fazy:
Specyfikacja
Projektowanie
Implementacja
Integracja
Ewolucję gotowego oprogramowania
–
Inżynierowie oprogramowania pracują w sposób systematyczny i
uporządkowany ponieważ jest to najskuteczniejszy sposób tworzenia
oprogramowania wysokiej jakości
Etapy życiowe
oprogramowania
Cykl życiowy oprogramowania jest procesem złożonym z ciągu wzajemnie
spójnych tematów pozwalających na pełne i skuteczniejsze stworzenie, a
następnie używanie ( okres od momentu uświadomienia potrzeby systemu
do momentu jego wycofania z eksploatacji )
Poszczególne Fazy
Rozwojowe
Faza Strategiczna
( ustalenie strategicznych celów, definicja projektu, ogólne planowanie )
Definiowanie wymagań
(
zrozumienie celów klienta, wymagania, oszacowanie kosztów )
Analiza
( specyfikacja problemu, zakres obowiązku systemu, ustalenia celów do jakich ma
służyć )
Projektowanie
( co system ma robiąc żeby spełnił wymagania użytkownika, w jaki sposób
system
ma być zaimplementowany )
Konstrukcja
( tworzenie systemu, rozwijanie, wykorzystanie gotowych elementów,
dokumentacja )
Testowanie
( wykrycie i usuniecie błędów, sprawdzenie zgodności ze specyfikacją ocena
niezawodności )
Dokumentacja
( przygotowanie dokumentów dla różnych odbiorców zarówno dla członków
zespołu jak i użytkowników )
Instalacja
( instalacja gotowego sprzętu, systemu operacyjnego u klienta )
Przygotowanie użytkowników
(szkolenia, akceptacja )
Konserwacja
(utrzymanie w należytym stanie, pielęgnacja )
Etapy życiowe
oprogramowania
KONSERWACJA
AKCEPTACJA
INSTALACJA
DOKUMENTACJA
Testowanie
KONSTRUKCJA
PROJEKTOWANIE
ANALIZA
DEFINOWANIE WYMAGAŃ
FAZA STRATEGICZNA
Modele cyklu życia
oprogramowania:
Model cyklu –
jest to uproszczona prezentacja procesu oprogramowania, modele ze swej
natury sa
uproszczeniami.
PRZYKŁADY
PRZYKŁADY
MODELI TWORZENIA
MODELI TWORZENIA
OPROGRAMOWANIA
OPROGRAMOWANIA
- Model kaskadowy ( wodospadowy )
separacja faz specyfikacji i implementacji
- Model ewolucyjny
planowanie - analiza ryzyka – konstruowanie –weryfikacja
- Model iteracyjny
elementy modelu kaskadowego i ewolucyjnego
Model
Kaskadowy:
.
Określenie
wymagań
Analiza
Projektowanie
Implementacja
Testowanie
Konserwacja
Model
Kaskadowy:
Zalety modelu kaskadowego
- Rozliczenia finansowe z klientem na paczatku
- Po kazdej fazie wymusza kończenie
dokumentacji
- Formalny odbiór poszczególnych etapów
monitorowanie postępu pracy
- Zmusza do zdyscyplinowanego podjecia
- Łatwośc budżetowania
Model
Kaskadowy:
Wady modelu kaskadowego
-
Z góry narzucona ścisła kolejnosc faz
-
Nie możesz przejść do następnej fazy jeśli poprzednia się
nie zakończy
-
Przerwy w kontaktach z klientami
-
Bardzo nieelastyczny podział na kolejne fazy
-
Wysoki koszt błędów ze wczesnych faz
- I co najważniejsze iteracje są bardzo kosztowne - powtarzamy
wiele czynności
Model
ewolucyjny:
.
Zarys systemu
Wersja poczatkowa
Rozwój systemu
Weryfikacja
Specyfikacja
Wersja końcowa
Wersje
pośrednie
Czynności przebiegające
równolegle
Model
ewolucyjny:
Zalety modelu ewolucyjnego :
- Pozwala pózniej określić wymagania do naszego systemu
- Prototyp pomaga kształcić przyszłego użytkownika/klienta
- Prototyp podnosi koszty ale potem je obniża
Wady modelu ewolucyjnego :
-Zwykle prototyp jest wyrzucany
-
tworzony jest do rozwiązywania jednego problemu nie
wielu
Model
iteracyjny:
.
Analiza ryzyka
( planowanie )
Projektowanie
Ocena
( testowanie )
Konstrukcja i oddanie do
uzytku ( prototypowanie )
Model
iteracyjny:
Zalety modelu iteracyjnego :
- Pozwala na wczesne wykrywanie bledow
- Polaczenie iteracji z klasycznym modelem kaskadowy
- Zarzadzanie ryzykiem
- Latwosc wprowadzania zmian
Wady modelu iteracyjnego
- Wymogi klienta dotyczace harmonogramu moga utrudnic
skorzystanie z tego modelu
- Problemy z umiejetnosciami oszacowania ryzyka
- Zarzadzanie nie jest takie latwe jak w modelu
kaskadowym
Porownanie Modeli
Ryzyko
blędów
Koszty
blędów
Elastycznosc
Zarzadzanie
Model
Kaskadowy
Model
Ewolucyjny
Model
Iteracyjny
Literatura
Kazimierz Subieta „
Wprowadzenie do
inżynierii oprogramowania
” Wyd.
PJWSTK
„
Praktyczne podejście do inżynierii
oprogramowania
” Roger S. Pressman
wyd. WNT Warszawa 2004
Internet
Dziękuję za uwagę
Autor:
Jaek Rzeszowicz