Transcript prez1

Cykle życia oprogramowania
Piotr Chmielewski, Tomasz Janas
3 podstawowe fazy życia
1.
2.
3.
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
Cykle życia oprogramowania a
projektowanie
• Cykl ż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
Poszczególne kroki CŻO
1.
2.
3.
4.
5.
6.
7.
8.
9.
Faza 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
Model kaskadowy
• Kolejne aktywności następują po sobie bez możliwości powrotu
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
Model kaskadowy - projektowanie
• uszczegół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
Model kaskadowy – implementacja,
oprogramowanie
• zakodowanie
rozwiązań w języku
programowania
• wstępne testowanie na
poziomie funkcji lub
modułów
Model kaskadowy - testowanie
• wykrycie i usunięcie błędów w systemie
• ocena niezawodności systemu
Rodzaje testów:
1. testy statystyczne
2. testy dynamiczne
3 fazy testowania systemu:
1.
testy modułów
2.
testy systemu
3.
Testy akceptacji
Model kaskadowy - Wdrożenie i
utrzymanie
• instalacja i konfiguracja systemu u klienta
• dostarczenie wparcia technicznego
• wdrożeniu odpowiadają działania
marketingowe zmierzające do
wprowadzenia produktu na rynek
Model kaskadowy - podsumowanie
1. 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)
Model kaskadowy z nawrotami
• Modyfikacja 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ń
Model oparty o prototypowanie
• zebranie wymagań dotyczących sytemu
• realizacja projektu i implementacja
• zaprezentowanie wyników użytkownikowi i powrót do
punktu określania wymagań
Model oparty o prototypowanie
1. 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
Model spiralny
•
•
1.
2.
3.
4.
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
Programowanie odkrywcze
• okreś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
Programowanie odkrywcze
1. Zalety:
• możliwość określenia trudnych wymagań
klienta
2. Wady:
• trudno zachować sensowną strukturę
systemu
• Mało profesjonalna metoda
Realizacja kierowana dokumentami
• Model zgodny ze standardem DOD STD 2167 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
Realizacja kierowana dokumentami
1. 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
Montaż z gotowych elementów
• wykorzystywane 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
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
• Koniec prezentacji
APLAUZ ;-)