Cykl życiowy oprogramowania
description
Transcript of Cykl życiowy oprogramowania
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 wzajemniespójnych tematów pozwalających na pełne i skuteczniejsze stworzenie, anastępnie używanie ( okres od momentu uświadomienia potrzeby systemudo 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ŁADYPRZYKŁADY MODELI TWORZENIA OPROGRAMOWANIAMODELI TWORZENIA 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śleniewymagań
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