1 Cykle życia oprogramowaniaPiotr Chmielewski, Tomasz Janas
2 3 podstawowe fazy życia Wyodrębnienie ze środowiskaŻycie i współdziałanie z otoczeniem przy pełnej efektywności Stopniowa utrata efektywności i powrót do środowiska
3 Cykle życia oprogramowania a projektowanieCykl życia oprogramowania opisuje historię systemu informatycznego począwszy od jego narodzin aż do wdrożenia i utrzymania opisuje zależności (czasowe) pomiędzy różnymi aktywnościami podejmowanymi przy wytwarzaniu oprogramowania określa , jak proces projektowania współdziała z innymi procesami
4 Poszczególne kroki CŻOFaza strategiczna: określenie strategicznych celów, planowanie i definicja projektu Określenie wymagań Analiza: dziedziny przedsiębiorczości, wymagań systemowych Projektowanie: pojęciowe, logiczne Implementacja / konstrukcja: rozwijanie, testowanie, dokumentacja Testowanie Dokumentacja Instalacja Utrzymanie, konserwacja, pielęgnacja
5 Model kaskadowy Kolejne aktywności następują po sobie bez możliwości powrotu
6 Model kaskadowy - analiza wymagańwymagania funkcjonalne - co system ma robić z punktu widzenia użytkownika po wyjściu z fazy analizy, wymagania stawiane systemowi nie mogą być już zmienione
7 Model kaskadowy - projektowanieuszczegółowienie wyników analizy projektowanie składowych systemu nie związanych z dziedziną problemu optymalizacji systemu dostosowanie do ograniczeń i możliwości środowiska implementacji określenie fizycznej struktury systemu
8 Model kaskadowy – implementacja, oprogramowaniezakodowanie rozwiązań w języku programowania wstępne testowanie na poziomie funkcji lub modułów
9 Model kaskadowy - testowaniewykrycie i usunięcie błędów w systemie ocena niezawodności systemu Rodzaje testów: testy statystyczne testy dynamiczne 3 fazy testowania systemu: testy modułów testy systemu Testy akceptacji
10 Model kaskadowy - Wdrożenie i utrzymanieinstalacja i konfiguracja systemu u klienta dostarczenie wparcia technicznego wdrożeniu odpowiadają działania marketingowe zmierzające do wprowadzenia produktu na rynek
11 Model kaskadowy - podsumowanie1. Zalety: łatwość zarządzania przedsięwzięciem łatwość planowania łatwość harmonogramowania łatwość monitorowania ścisła kontrola nad kolejnością wykonywania prac (rygorystyczny styl pracy) 2. Wady: trudno naprawić popełnione błędy we wcześniejszych fazach (błędy w fazie określenia wymagań najprawdopodobniej zostaną wykryte dopiero w fazie testowania lub konserwacji) długa przerwa w kontaktach z klientem (zmniejszenie zainteresowania, bo fazy projektowania i implementacji odbywają się bez jego udziału) brak iteracji (jeżeli już, to są to sytuacje wyjątkowe)
12 Model kaskadowy z nawrotamiModyfikacja modelu kaskadowego -wprowadzenie do niego iteracji Możliwość powrotu do poprzedniego etapu powoduje, że model może być zastosowany w praktyce Projektanci i programiści tracą gwarancję niezmienności wymagań
13 Model oparty o prototypowaniezebranie wymagań dotyczących sytemu realizacja projektu i implementacja zaprezentowanie wyników użytkownikowi i powrót do punktu określania wymagań
14 Model oparty o prototypowanie1. Zalety: możliwość szybkiej demonstracji pracującej wersji systemu możliwość szkoleń zanim zbudowany zostanie pełen system 2. Wady: dodatkowy koszt budowy prototypu frustracja klienta, że ma „prawie” gotowy system
15 Model spiralny zakłada cykliczne przechodzenie przez kolejne fazy realizacji projektu cztery cyklicznie powtarzane etapy: Określanie wymagań i planowanie Analiza ryzyka Wytworzenie systemu Ocena użytkownika i przejście do punktu 1
16 Programowanie odkrywczeokreślenie wymagań szybka realizacja systemu weryfikowana przez klienta Brak akceptacji klienta: kolejna wersja systemu lub modyfikuje się poprzednią wersję Akceptacja klienta: kontynuujemy prace nad danym systemem
17 Programowanie odkrywcze1. Zalety: możliwość określenia trudnych wymagań klienta 2. Wady: trudno zachować sensowną strukturę systemu Mało profesjonalna metoda
18 Realizacja kierowana dokumentamiModel zgodny ze standardem DOD STD sposób wykonywania oprogramowania dla armii amerykańskiej Każda faza kończy się szczegółowym opracowaniem dokumentów opisujących wyniki tej fazy Kolejna faza rozpoczynana jest tylko w przypadku zaakceptowania przez klienta dokumentacji
19 Realizacja kierowana dokumentami1. Zalety: możliwość kontynuowania projektu w innej firmie w przypadku przerwania pracy (mając komplet dokumentacji) 2. Wady: duży nakład pracy na opracowanie dokumentów zgodnych ze standardem (ponad 50% całkowitych nakładów) przerwy w realizacji przedsięwzięcia niezbędne dla weryfikacji dokumentów przez klienta
20 Montaż z gotowych elementówwykorzystywane jest ponowne użycie 1. Zalety: wysoka niezawodność zmniejszenie ryzyka efektywne wykorzystanie specjalistów narzucenie standardów redukcja kosztów 2. Wady: dodatkowy koszt przygotowania elementów do ponownego wykorzystania ryzyko uzależnienia się od dostawcy elementów niedostatki narzędzi wspomagających ten rodzaj pracy
21 Podsumowanie Mniej dokładna analiza i projektowanie – więcej pracy dla programistów Staranne projektowanie ułatwia pracę programistom i testerom oraz pozwala zaoszczędzić nakłady w procesie programowania i wdrożenia Im większym zmianom ma podlegać system tym przyjęte rozwiązania muszą być bardziej elastyczne i ogólne
22 Koniec prezentacji APLAUZ ;-)