Title: Cykl zyciowy oprogramowania
1Cykl zyciowy oprogramowania
Wykonanie Jacek Rzeszowicz gr. 522
2Co to jest oprogramowanie ???
- Oprogramowanie (ang. software) to zestaw
instrukcji przeznaczonych do wykonania dla
komputera. Celem oprogramowania jest
przetwarzanie danych w okreslonym przez twórce
zakresie. Oprogramowanie jest synonimem terminów
program komputerowy oraz aplikacja, przy czym
stosuje sie go zazwyczaj do okreslania wiekszych
programów oraz ich zbiorów
- Rodzaje oprogramowania
- - Powszechne
- - Dostosowane ( inaczej na zamowienie )
3Koszty oprogramowania
- Koszty oprogramowania sa czesto dominujacym
skladnikiem kosztów calego systemu. Zdarza sie,
ze koszt oprogramowania znacznie przekracza sama
wartosc sprzetu komputerowego np. komputera
osobistego. - Koszt utrzymania i konserwacji oprogramowania
jest wiekszy niz koszt jego wytworzenia.
Wieloletnia konserwacja oprogramowania moze
kosztowac wielokrotnie wiecej niz jego zakup.
4Jak powstaje oprogramowanie
- Inzynieria oprogramowania to dziedzina
inzynierii systemów, zajmujaca sie - wszelkimi aspektami produkcji oprogramowania, do
których zaliczamy nastepujace fazy - Specyfikacja
- Projektowanie
- Implementacja
- Integracja
- Ewolucje gotowego oprogramowania
- Inzynierowie oprogramowania pracuja w sposób
systematyczny i uporzadkowany poniewaz jest to
najskuteczniejszy sposób tworzenia oprogramowania
wysokiej jakosci
5Etapy zyciowe oprogramowania
Cykl zyciowy oprogramowania jest procesem
zlozonym z ciagu wzajemnie spójnych tematów
pozwalajacych na pelne i skuteczniejsze
stworzenie, a nastepnie uzywanie ( okres od
momentu uswiadomienia potrzeby systemu do momentu
jego wycofania z eksploatacji )
6Poszczególne Fazy Rozwojowe
- Faza Strategiczna ( ustalenie strategicznych
celów, definicja projektu, ogólne planowanie ) - Definiowanie wymagan ( zrozumienie celów klienta,
wymagania, oszacowanie kosztów ) - Analiza ( specyfikacja problemu, zakres obowiazku
systemu, ustalenia celów do jakich ma sluzyc ) - Projektowanie ( co system ma robiac zeby spelnil
wymagania uzytkownika, w jaki sposób system
ma byc zaimplementowany ) - Konstrukcja ( tworzenie systemu, rozwijanie,
wykorzystanie gotowych elementów, dokumentacja ) - Testowanie ( wykrycie i usuniecie bledów,
sprawdzenie zgodnosci ze specyfikacja ocena
niezawodnosci ) - Dokumentacja ( przygotowanie dokumentów dla
róznych odbiorców zarówno dla czlonków
zespolu jak i uzytkowników ) - Instalacja ( instalacja gotowego sprzetu, systemu
operacyjnego u klienta ) - Przygotowanie uzytkowników (szkolenia, akceptacja
) - Konserwacja (utrzymanie w nalezytym stanie,
pielegnacja ) -
7Etapy zyciowe oprogramowania
8Modele cyklu zycia oprogramowania
- Model cyklu jest to uproszczona prezentacja
procesu oprogramowania, modele ze swej natury sa
uproszczeniami. - PRZYKLADY MODELI TWORZENIA
OPROGRAMOWANIA - - Model kaskadowy ( wodospadowy )
- separacja faz specyfikacji i
implementacji - - Model ewolucyjny
- planowanie - analiza ryzyka
konstruowanie weryfikacja -
- - Model iteracyjny
- elementy modelu kaskadowego i
ewolucyjnego
9 Model Kaskadowy
Okreslenie wymagan
Analiza
Projektowanie
Implementacja
Testowanie
Konserwacja
10 Model Kaskadowy
-
- Zalety modelu kaskadowego
-
- - Rozliczenia finansowe z klientem
na paczatku - - Po kazdej fazie wymusza konczenie
dokumentacji - - Formalny odbiór poszczególnych
etapów - monitorowanie postepu pracy
- - Zmusza do zdyscyplinowanego
podjecia - - Latwosc budzetowania
11 Model Kaskadowy
- Wady modelu kaskadowego
- - Z góry narzucona scisla kolejnosc faz
- - Nie mozesz przejsc do nastepnej fazy jesli
poprzednia sie nie zakonczy - - Przerwy w kontaktach z klientami
- - Bardzo nieelastyczny podzial na kolejne
fazy - - Wysoki koszt bledów ze wczesnych faz
- - I co najwazniejsze iteracje sa bardzo
kosztowne - powtarzamy wiele czynnosci
12 Model ewolucyjny
Specyfikacja
Wersja poczatkowa
Rozwój systemu
Zarys systemu
Wersje posrednie
Weryfikacja
Wersja koncowa
Czynnosci przebiegajace równolegle
13 Model ewolucyjny
- Zalety modelu ewolucyjnego
- - Pozwala pózniej okreslic wymagania do
naszego systemu - - Prototyp pomaga ksztalcic przyszlego
uzytkownika/klienta - - Prototyp podnosi koszty ale potem je
obniza -
- Wady modelu ewolucyjnego
- -Zwykle prototyp jest wyrzucany
- - tworzony jest do rozwiazywania jednego
problemu nie wielu -
14 Model iteracyjny
Analiza ryzyka ( planowanie )
Projektowanie
Konstrukcja i oddanie do uzytku ( prototypowanie
)
Ocena ( testowanie )
15 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
16Porownanie Modeli
Ryzyko bledów Koszty bledów Elastycznosc Zarzadzanie
Model Kaskadowy
Model Ewolucyjny
Model Iteracyjny
17Literatura
- Kazimierz Subieta Wprowadzenie do inzynierii
oprogramowania Wyd. PJWSTK - Praktyczne podejscie do inzynierii
oprogramowania Roger S. Pressman wyd. WNT
Warszawa 2004 - Internet
18Dziekuje za uwageAutor Jaek Rzeszowicz