Cykl życiowy
oprogramowania
Zapraszam
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 OPROGRAMOWANIA 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
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 Specyfikacja
Wersje pośrednie
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 Konstrukcja i oddanie do
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