Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Cykl życia oprogramowania

Podobne prezentacje


Prezentacja na temat: "Cykl życia oprogramowania"— Zapis prezentacji:

1 Cykl życia oprogramowania
AUTORZY: Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

2 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Plan Prezentacji Wstęp. Modele cyklu życia oprogramowania. Omówienie faz cyklu życia oprogramowania. Podsumowanie. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

3 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Różne modele cykli Kaskadowy Realizacja kierowana dokumentami Prototypowanie Programowanie odkrywcze Spiralny Formalne transformacje Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

4 Model Kaskadowy (Wodospadu, Liniowy)
Określenie wymagań Analiza Projektowanie Implementacja Testowanie Konserwacja Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

5 Realizacja kierowana dokumentami
Każda faza kończy się opracowaniem szeregu dokumentów Zaleta: Przerwanie realizacji w dowolnym czasie i wznowienie jej przez inną firmę Wady: Ponad 50% więcej nakładu pracy na opracowanie dokumentów zgodnych ze standardem. Przerwy w realizacji przedsięwzięcia niezbędne dla weryfikacji dokumentów przez klienta Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

6 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Prototypowanie Ogólne określenie wymagań Budowa prototypu Weryfikacja prototypu przez klienta Pełne określenie wymagań Realizacja pełnego systemu zgodnie z modelem kaskadowym Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

7 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Prototypowanie c.d. Zalety: Wczesna demonstracja działającej wersji systemu Możliwość szkolenia przed wykonaniem systemu Wady: Dodatkowy koszt budowy prototypu Długi czas oczekiwania na całkowitą wersję programu w stosunku do oczekiwania na prototyp Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

8 Programowanie odkrywcze
Określenie ogólnego wymagania Budowa systemu Testowanie systemu Jesli niedziała to powrót do punktu 2 Dostarczenie systemu Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

9 Programowanie odkrywcze c.d.
Zaleta: Możliwość stosowania w wypadkach, kiedy trudno jest określić wymagania klienta Wady: Praktycznie niemożliwe zachowanie sensownej struktury Testowanie może odbywać się prawie wyłącznie przy bezpośrednim udziale klienta Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

10 Realizacja przyrostowa
Zalety: Skrócenie przerw w kontaktach z klientem Możliwość wczesnego wykorzystania przez klienta dostarczonych frgmentów systemu Opóźnienie realizacja fragmentu systemu nie wpływa na opóźnienie realizacji całego przedsięwzięcia Wada: Dodatkowy koszt związany z realizacją niezależnego fragmentu systemu Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

11 Montaż z gotowych elementów (programowanie z półki)
Zalety: Wysoka niezawodność Zmniejszenie ryzyka błedów Potencjalna redukcja kosztów Wady: Dodatkowy koszt przygotowania elementów do ponownego użycia Ryzyko uzależnienia się od dostawcy elementów Brak narzędzi wspomagających ten rodzaj pracy Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

12 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Model spiralny Analiza rezyka Konstrukcja (model kaskaowy) Atestowanie Planowanie Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

13 Formalne transformacje
Formalna specyfikacja wymagań Postać pośrednia... Kod Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

14 Formalne transformacje c.d.
Zaleta: Wysoka niezawodność tak stworzonego oprogramowania Wady: Trudność formalnego wyspecyfikowania wymagań Mała efektywność kodu uzyskanego w ten sposób Brak dobrze rozwiniętych, uniwersalnych języków formalnej specyfikacji wymagań Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

15 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Strategiczna (1) Czynności Fazy Strategicznej Dokonanie serii rozmów (wywiadów) z przedstawicielami klienta Określenie celów przedsięwzięcia z punktu widzenia klienta Określenie zakresu oraz kontekstu przedsięwzięcia Ogólne określenie wymagań, wykonanie zgrubnej analizy i projektu systemu Propozycja kilku możliwych rozwiązań (sposobów realizacji systemu) Oszacowanie kosztów oprogramowania Analiza rozwiązań Prezentacja wyników fazy strategicznej przedstawicielom klienta oraz korekta wyników Określenie wstępnego harmonogramu przedsięwzięcia oraz struktury zespołu realizatorów Określenie standardów, zgodnie z którymi realizowane będzie przedsięwzięcie Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

16 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Strategiczna Wyodrębnienie w procesie projektowania klienta, użytkownika i wykonawcę. Określenie celów z punktu widzenia klienta. Określenie ograniczeń klienta. Zakres przedsięwzięcia: określenie fragmentu procesów informacyjnych zachodzących w organizacji, które będą objęte przedsięwzięciem. Na tym etapie może nie być jasne, które funkcje będą wykonywane przez oprogramowanie, a które przez personel, inne systemy lub standardowe wyposażenie sprzętu. Kontekst przedsięwzięcia: systemy, organizacje, użytkownicy zewnętrzni, z którymi tworzony system ma współpracować. Decyzje Strategiczne i ograniczenia Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

17 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Strategiczna (3) Studium i ocena problemu Wybór narzędzi modelowania i prognozowania. Problem może się nie kalkulować (np. finansowo). Określanie możliwych terminów. Ocena Ryzyka Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

18 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Strategiczna (4) Na koszt oprogramowania składa się: koszt sprzętu będącego częścią tworzonego systemu koszt wyjazdów i szkoleń koszt zakupu narzędzi nakład pracy Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

19 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy Rezultaty Fazy Strategicznej Dokument będący podstawą dalszych prac i rozmów. definicję celów przedsięwzięcia opis zakresu przedsięwzięcia opis systemów zewnętrznych, z którymi system będzie współpracować ogólny opis wymagań ogólny model systemu opis proponowanego rozwiązania oszacowanie kosztów wstępny harmonogram prac Raport oceny rozwiązań, zawierający informację o rozważanych rozwiązaniach oraz przyczynach wyboru jednego z nich. Opis wymaganych zasobów - pracownicy, oprogramowanie, sprzęt, lokale, ... Definicje standardów. Harmonogram fazy analizy Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

20 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy (1) Celem fazy analizy jest ustalenie wymagań klienta wobec tworzonego systemu. Dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie tych celów. Klient rzadko wie, jakie wymagania zapewnią osiągniecie jego celów. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

21 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy (2) Wywiady i przeglądy. Studia na istniejącym oprogramowaniem.. Studia wymagań systemowych. Studia osiągalności.. Prototypowanie. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

22 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy (3) Dostępne źródła informacji Wywiady i przeglądy. Studia na istniejącym oprogramowaniem.. Studia wymagań systemowych. Studia osiągalności.. Prototypowanie. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

23 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy (4) Dostępne narzędzia analizy Język naturalny Formalizm matematyczny. Język naturalny strukturalny Tablice, formularze. Diagramy blokowe Diagramy kontekstowe Diagramy przypadków użycia Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

24 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy (5) Wymaganie Funkcjonalne Określenie użytkowników systemu. Określenie dostępnych funkcji dla użytkowników. Określenie środowiska zewnętrznego dla systemu. Wymagania Niefunkcjonalne Wymagania dotyczące produktu. (ograniczenia dla programu) Wymagania dotyczące procesu. (np. standardy) Wymagania zewnętrzne. (środowiskowe np. zew. Baza danych) Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

25 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Analizy (6) Kluczowe Czynniki Sukcesu Zaangażowanie właściwych osób ze strony klienta Pełne rozpoznanie wymagań, wykrycie przypadków i dziedzin szczególnych i nietypowych. Błąd popełniany w tej fazie polega na koncentrowaniu się na sytuacjach typowych. Sprawdzenie kompletności i spójności wymagań. Przed przystąpieniem do dalszych prac, wymagania powinny być przejrzane pod kątem ich kompletności i spójności. Określenie wymagań niefunkcjonalnych w sposób umożliwiający ich weryfikację Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

26 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Projektowania (1) Wynikiem jest logiczny model systemu, opisujący sposób realizacji przez system postawionych wymagań, lecz abstrahujących od szczegółów implementacyjnych. W odróżnieniu, celem fazy projektowania jest udzielenie odpowiedzi na pytanie: Jak system ma być zaimplementowany? Wynikiem jest opis sposobu implementacji. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

27 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Projektowania (2) Tematy i techniki Analizy Budowa statycznego modelu klas Analiza funkcji i przypadków użycia Weryfikacja klas i obiektów Identyfikacja i definiowanie metod oraz komunikatów Modelowanie stanów i przejść między stanami Modelowanie procesów i przepływów danych Modelowanie przepływu sterowania Inne Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

28 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Projektowania (3) Metodyka wykorzystująca pojęcia obiektowości dla celów modelowania pojęciowego oraz analizy i projektowania systemów informatycznych. Podstawowym składnikiem jest diagram klas, będący zwykle wariantem notacyjnym i pewnym rozszerzeniem diagramów encja-związek. Diagram klas zawiera: klasy, w ramach klas specyfikacje atrybutów i metod, związki generalizacji, związki asocjacji i agregacji, liczności tych związków, różnorodne ograniczenia oraz inne oznaczenia. Uzupełnieniem tego diagramu są inne: diagramy dynamiczne uwzględniające stany i przejścia pomiędzy tymi stanami, diagramy interakcji ustalające zależności pomiędzy wywołaniami metod, diagramy funkcjonalne (będące zwykle pewną mutacją diagramów przepływu danych), itd. Koncepcja przypadków użycia (use cases) zakłada odwzorowanie struktury systemu z punktu widzenia jego użytkownika. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

29 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Projektowania (4) Przykładowe wymagania które można zdefiniować Wymagania dotyczące funkcji systemu Wymagania dotyczące wydajności systemu Wymagania dotyczące zewnętrznych interfejsów Wymagania dotyczące wykonywanych operacji Wymagania dotyczące wymaganych zasobów Wymagania dotyczące sposobów weryfikacji Wymagania dotyczące sposobów testowania Wymagania dotyczące dokumentacji Wymagania dotyczące ochrony Wymagania dotyczące przenośności Wymagania dotyczące jakości Wymagania dotyczące niezawodności Wymagania dotyczące pielęgnacyjności Wymagania dotyczące bezpieczeństwa Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

30 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Implementacji Niezawodność oprogramowania Unikanie błędów Niebezpieczne techniki Zasada ograniczonego dostępu Mocna kontrola typu Tolerancja błędów Porównywanie wyników różnych wersji Transakcja: jednostka działalności systemu Typowe środowiska implementacyjne Czynniki sukcesu i rezultaty fazy implementacji Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

31 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Instalacji Szkolenie użytkowników końcowych i administratorów systemu Instalacja sprzętu i przeniesienie oprogramowania Wypełnienie baz danych Nadzorowane korzystanie z systemu, często równoległe z tradycyjnym sposobem pracy Usuwanie błędów w oprogramowaniu i dokumentacji użytkowej Przekazanie systemu klientowi Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

32 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Konserwacja Modyfikacje poprawiające: polegają na usuwaniu z oprogramowania błędów popełnionych w fazach wymagań, analizy, projektowania i implementacji . Modyfikacje ulepszające: polegają na poprawie jakości oprogramowania. Modyfikacje dostosowujące: polegają na dostosowaniu oprogramowania do zmian zachodzących w wymaganiach użytkownika lub w środowisku komputerowym. Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

33 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Faza Testowania Dwa główne cele testowania: wykrycie i usunięcie błędów w systemie ocena niezawodności systemu Peer Review (Audyt) UAT (User Acceptance Testing) Bug Tracking Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski

34 Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski
Bibliografia „Wprowadzeni do Inżynierii Oprogramowania” -Kazimierz Subieta – Wydawnictwo PJWSTK „Inżynieria oprogramowania” – Andrzej Jaszkiewicz – Wydawnictwo Helion Filip Jakubowski-Drzewiecki, Tomasz Ściwiarski


Pobierz ppt "Cykl życia oprogramowania"

Podobne prezentacje


Reklamy Google