Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Cykl tworzenia oprogramowania

Podobne prezentacje


Prezentacja na temat: "Cykl tworzenia oprogramowania"— Zapis prezentacji:

1 Cykl tworzenia oprogramowania
Bartosz Marcinkowski Michał Kuciapski

2 Prezentacja cyklu

3 Metodyka tworzenia oprogramowania
Wyróżnia się 3 rodzaje metodyk: Strukturalne Obiektowe Społeczne

4 Tworzenie oprogramowania
Tworzenie oprogramowania jest procesem. Jest to skończony ciąg kroków (czynności) powiązanych ze sobą relacjami, które mają doprowadzić do osiągnięcia zamierzonego celu w postaci oprogramowania (systemu) spełniającego przyjęte wymagania. W procesie tworzenia oprogramowania możliwe są pętle.

5 Metodyki tworzenia oprogramowania
Zstępujące (ang. Top-down) Wstępujące (ang. Bottom-up)

6 Cykl życia oprogramowania (systemu)
Cykl życia oprogramowania jest analogiczny do cyklu tworzenia systemów. Reprezentuje powtarzającą się w czasie całość działań prowadzonych od ujawnienia potrzeby budowy systemu aż po zakończenie jego użytkowania W cyklu życia obrazowane są kolejne etapy rozwoju i eksploatacji systemu, wraz z ich kontekstem, produktami, wzajemnymi relacjami i zależnościami w czasie Do najbardziej znanych cykli życia systemu należą: Cykl kaskadowy (liniowy, klasyczny) Cykl spiralny Cykl przyrostowy (i podejścia pochodne)

7 Elementy faz cyklu W każdej fazie określa się: Cele Działania Kolejność realizowanych działań Punkty przeglądu Produkty i dokumentacje

8 Kaskadowy cykl życia systemu
Planowanie Identyfikacja problemu Wizja rozwiązania problemu Ocena możliwych rozwiązań Decyzja na temat podjęcia projektu Czy mamy cokolwiek robić?

9 Planowanie Należy odpowiedzieć sobie na pytania:
W jaki sposób system przyczyni się do rozwiązania problemu? Jakie konkretne efekty biznesowe osiągną udziałowcy systemu po zrealizowaniu celu? Czy cel jest uzasadniony ekonomicznie? Czy cel jest osiągalny w kontekście istniejących ograniczeń (budżet, zasoby, technologia, uwarunkowania o charakterze organizacyjnym na etapie użytkowania, prawo) Jaki konkretnie miałby być zakres systemu? Jakie jest ryzyko podjęcia się tego projektu?

10 Planowanie – cd Zakres Jakość Koszt Zasoby

11 Planowanie – cd Informatyzacja hotelu: przykład Cele:
Poprawa obsługi gości Obniżenie kosztów własnych hotelu Efekty biznesowe: Przechwycenie klientów od konkurencji Mniejsze koszty własne Przyjęte kryteria: Zwiększenie liczby gości o 10% w pierwszym roku użytkowania systemu Wskaźnik (kosztyWłasne / gość) w pierwszym roku powinien spaść o 20% ceteris paribus (z pominięciem takich czynników jak spadek zatrudnienia czy fluktuacje płac)

12 Kaskadowy cykl życia systemu – cd
Planowanie Analiza Szczegółowe badanie dziedziny przedmiotowej Wyszukanie potencjalnych usprawnień Identyfikacja podstawowych problemów na styku przyszły system – organizacja Identyfikacja i dokładna specyfikacja wymagań Co my tak naprawdę mamy zrobić?

13 Kaskadowy cykl życia systemu – cd
Planowanie Analiza Projektowanie Stworzenie kompletnej dokumentacji systemu Weryfikacja stworzonego modelu pod kątem zgodności z wymaganiami i dziedziną przedmiotową Jak dokładnie ma to działać?

14 Kaskadowy cykl życia systemu – cd
Planowanie Analiza Projektowanie Implementacja Kodowanie Testowanie na niskim poziomie (moduły)

15 Kaskadowy cykl życia systemu – cd
Planowanie Analiza Projektowanie Implementacja Testowanie integracyjne Weryfikacja Walidacja Testy akceptacyjne Cośmy tak naprawdę stworzyli? Testowanie i walidacja

16 Testowanie i walidacja
Weryfikacja Czy rezultat danego etapu jest zgodny z tym, co stworzyliśmy wcześniej? Czy jesteśmy konsekwentni? Walidacja Czy to, co robimy, jest tym, o co nam chodziło? Czy idziemy we właściwym kierunku?

17 Kaskadowy cykl życia systemu – cd
Planowanie Analiza Projektowanie Implementacja Testowanie i walidacja Użytkowanie i adaptacja

18 Użytkowanie i adaptacja
Przygotowanie środowiska Instalacja systemu Przeniesienie danych Szkolenia Udostępnienie manuali Audyt Konserwacja (diagnostyka, drobne błędy) Adaptacja (np. prawo) Ulepszanie (nowe wymagania, lifting)

19 Zalety Kompletny Sprawdzony w praktyce
Strukturyzowalny (wsparcie narzędzi) Pozwala na łatwą dekompozycję pracy Brak nadmiarowości (koszty!)

20 Wady Wszystkie wymagania muszą być znane na początku
Brak sprzężenia zwrotnego wymagania – efekty (bardzo późna walidacja) Duża bezwładność (technologia) Olbrzymie koszty usuwania błędów popełnionych na wczesnych etapach oraz korekty wymagań Problemy z alokacją zasobów i znużeniem zespołu

21 Spiralny cykl życia systemu

22 Zalety Bardzo elastyczny (zmiany otoczenia, alokacja zasobów, niestabilność wymagań) Nieustanna walidacja Niskie ryzyko niepowodzenia (zakres, jakość)

23 Wady Długotrwałe dochodzenie do rozwiązania docelowego
Dodatkowe koszty tworzenia kolejnych prototypów Kłopoty z zarządzaniem Presja na zmniejszenie jakości

24 Podejście przyrostowe
Stopniowo realizowane w całości kolejne usługi systemu Funkcje te są na bieżąco walidowane przez użytkowników Po każdym przyroście można zakończyć budowę systemu (ucierpi zakres, nie jakość) Wymagania mogą być tylko częściowo zidentyfikowane Klient szybko otrzymuje jakiś rezultat Niestety czasochłonny Kłopoty z dekompozycją usług

25 Podejście przyrostowe – cd

26 Proces przygotowania aplikacji przy wykorzystaniu podejścia obiektowego

27 Proces przygotowania aplikacji
Analiza obiektowa – analiza opierająca się na obiektach, ich atrybutach, oferowanych usługach oraz wzajemnych powiązaniach. Projektowanie obiektowe – rozszerzanie modelu analizy o warstwy: dialogu, zarządzania danymi, zarządzania zadaniami oraz elementy specyficzne dla implementacji. Implementacja – stworzenie na podstawie dokumentacji przygotowanej podczas analizy i projektowania aplikacji.

28 Proces przygotowania aplikacji przy wykorzystaniu podejścia obiektowego
Analiza obiektowa

29 Analiza obiektowa (OOA) - korzyści
Umożliwia precyzyjne określenie i zamodelowanie wymagań w stosunku do aplikacji (systemu) ze strony klienta i użytkowników. Zwiększa wewnętrzną spójność wyników analizy. Umożliwia budowanie specyfikacji poddających się zmianom. Przyśpiesza i zwiększa szanse przygotowania aplikacji zgodnie wymaganymi funkcjonalnościami.

30 Analiza obiektowa (OOA) – proces
Definiowanie dziedziny problemu Znajdowanie klas-i-obiektów Znajdowanie struktur Znajdowanie tematów Definiowanie atrybutów Definiowane usług

31 Analiza obiektowa (OOA) – definiowanie dziedziny problemu
Dziedzina problemu – rozważane pole działania. Zakres obowiązków systemu – powiązany w całość zbiór rzeczy, za które odpowiada system. Przykład: Dziedzina problemu: księgowania procesów. finansowych firmy. Zakres obowiązków systemu: księgowania odnośnie zakupu/sprzedaży/likwidacji środków trwałych.

32 Analiza obiektowa (OOA) – definiowanie dziedziny problemu
Dziedzina problemu: obliczanie parametrów figur płaskich i brył. Zakres obowiązków systemu: obliczanie pól i obwodów dla określonych figur płaskich i brył. opis dziedziny problemu z uwzględnieniem zakresu obowiązków systemu - link

33 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Obiekt – abstrakcja czegoś w dziedzinie problemu, odzwierciedlająca zdolności systemu do przechowywania informacji o tym, interakcji z tym czymś, lub obie te rzeczy. Klasa – opis obiektu lub obiektów z jednolitym zbiorem atrybutów i usług, zawierający opis tworzenia nowych obiektów w klasie. Klasa-i-obiekt – termin oznaczający „klasę i obiekty w tej klasie”.

34 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Klasa-i-obiekt Symbol „klasy-i-obiektu” analizy obiektowej

35 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Gdzie szukać: Samodzielna obserwacja Aktywnie słuchaj ekspertów Zapoznaj się z dotychczasowymi rezultatami Zapoznaj się z innymi systemami Dokument formułujący potrzeby

36 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Czego szukać: Struktury – już istniejące relacje, np.: osoba: student, wykładowca, pracownik administracyjny. Inne systemy – systemy, z którymi współpracuje, np.: monitoring, system dystrybucyjny. Urządzenia – z jakimi zewnętrznymi urządzeniami będzie współpracować, np.: czujnik, radar, układ sterowania.

37 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Czego szukać: Zapamiętywana rzecz lub zdarzenie – zdarzenia historyczne przechowywane w systemie, np.: data zdawania egzaminu, zapis położenia statku. Odgrywana rola – rola ludzi w systemie: użytkownik systemu, przechowywane są informacje o nich np.: egzaminator, kierownik magazynu. Procedury operacyjne – jakie procedury operacyjne, służące interakcji z człowiekiem, powinien pokazywać system, np.: polecenie egzaminacyjne.

38 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Czego szukać: Miejsca – punkt w przestrzeni, miejscu, np.: las - las tropikalny, las barbarzyńców, głusza. Jednostki organizacyjne – do jakich jednostek organizacyjnych należą ludzie, np.: powiat, gmina.

39 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Co kwestionować: Co system ma pamiętać o obiekcie Wymagane zachowanie Zazwyczaj wiele atrybutów Zazwyczaj więcej niż jeden obiekt w klasie Atrybuty stosowane zawsze Usługi stosowane zawsze Wymagania wynikające z dziedziny problemu Wyniki dające się wywnioskować

40 Analiza obiektowa (OOA) – znajdowanie klas-i-obiektów
Przykłady w oparciu o metodologię: Symulacja zdawania na prawo jazdy – link Obliczanie pól i obwodów figur – link

41 Analiza obiektowa (OOA) – znajdowanie struktur
Struktura – jest wyrazem złożoności dziedziny problemu, właściwej dla zakresów obowiązku systemu. Typy struktur: Generalizacja-specjalizacja (gen-spec) – odnosi się do klas, wyrażana słowami „jest” lub „jest rodzajem”, np.: „Informatyka stosowana jest kierunkiem studiów”. Całość-część - odnosi się do obiektów, wyrażana słowem „posiada”, np.: „Prowadzący zajęcia posiada protokoły ocen”.

42 Analiza obiektowa (OOA) – znajdowanie struktur
Generalizacja Specjalizacja1 Specjalizacja2 Oznaczenie dla struktury „gen-spec”

43 Analiza obiektowa (OOA) – znajdowanie struktur
Całość 1,m 1,m 1 1 Część1 Część2 Oznaczenie dla struktury „całość-część”

44 Analiza obiektowa (OOA) – znajdowanie struktur
Strategia tworzenia struktur gen-spec: Traktowanie każdej klasy jako generalizacji i zapytanie w stosunku do potencjalnych specjalizacji: Czy jest w dziedzinie problemu? Czy mieści się w zakresie obowiązków systemu? Czy będzie miało miejsce dziedziczenie? Czy spełnione są kryteria „na co zwracać uwagę i co kwestionować” Analogiczne pytania w stosunku do specjalizacji w poszukiwaniu potencjalnych generalizacji

45 Analiza obiektowa (OOA) – znajdowanie struktur
Strategia tworzenia struktur całość-część: Zestawienie-części – np.: komputer- podzespoły Pojemnik-zawartość - np.: samochód-pasażerowie Kolekcja-elementy – np.: uczelnia-studenci

46 Analiza obiektowa (OOA) – znajdowanie struktur
Przykłady w oparciu o metodologię: Nauczyciel akademicki – link Obliczanie pól i obwodów figur – link

47 Analiza obiektowa (OOA) – znajdowanie tematów
Temat – jest mechanizmem prowadzącym czytelnika (analityka, eksperta, menedżera, klienta) przez duży złożony model. Tematy umożliwiają ogólniejsze spojrzenie na złożoność dziedziny problemowej. 2 podejścia: Znajdowanie tematów na początku analizy – duże systemy. Znajdowanie tematów po ustalenie struktur – pozostałe.

48 Analiza obiektowa (OOA) – znajdowanie tematów
1 1 2 2 1. Temat1 2. Temat2 Tematy zwinięte 1. Temat1 Klasa-i-obiekt1 Klasa-i-obiekt2 Tematy rozwinięte 2. Temat2 Klasa-i-obiekt1 Klasa-i-obiekt2 Tematy częściowo zwinięte

49 Analiza obiektowa (OOA) – znajdowanie tematów
Strategia: Najwyższą klasę każdej struktury awansowuje się na tematy Poddziedziny problemu Minimalizacja zależności pomiędzy strukturami i połączeniami obiektów Zasada odnośnie ilości elementów

50 Analiza obiektowa (OOA) – znajdowanie tematów
Przykłady w oparciu o metodologię: Obliczanie pól i obwodów figur – link

51 Analiza obiektowa (OOA) – definiowanie atrybutów
Atrybut – jest pewną daną (stanem systemu), dla których każdy obiekt danej klasy ma swoją własną wartość. Atrybuty uszczegóławiają analizę. Hermetyzacja – polega na ukrywania dostępu do atrybutów, dostęp wyłącznie za pośrednictwem usług.

52 Analiza obiektowa (OOA) – definiowanie atrybutów
Klasa-i-obiekt Atrybut1 Atrybut2 Oznaczenia stosowane dla atrybutów

53 Analiza obiektowa (OOA) – definiowanie atrybutów
Strategia: Identyfikujemy atrybuty – jaką wiedzę powinien posiadać obiekt: Jak zazwyczaj jestem opisany Co muszę wiedzieć W jakim mogę być stanie Czy należę do dziedziny problemu i obowiązków systemu Do czasu projektowania odroczone: normalizacja, mechanizmy identyfikacji, atrybuty obliczalne

54 Analiza obiektowa (OOA) – definiowanie atrybutów
Strategia: Umieszczamy atrybuty – sprawdzamy strukturę. Identyfikujemy powiązania obiektów – określenie skojarzenia pomiędzy obiektami konieczne do wykonania obowiązków. Samolot PlanLotu 0,m 1

55 Analiza obiektowa (OOA) – definiowanie atrybutów
Strategia: Sprawdzamy specjalne przypadki: Wartość nie dotyczy Klasy tylko z jednym atrybutem Powtarzające się wartości Powiązania wiele-do-wielu Wielokrotne powiązania Specyfikujemy atrybuty: jednostka miary, zakres, ograniczenie, wykaz, precyzja, domyślna wartość, wymagany, warunki tworzenia i dostępu, wartości narzucone przez inne atrybuty, kody stanów.

56 Analiza obiektowa (OOA) – definiowanie atrybutów
Przykłady w oparciu o metodologię: Obliczanie pól i obwodów figur – link

57 Analiza obiektowa (OOA) – definiowanie usług
Usługa – jest to określone zachowanie obiektu, które jest on zobowiązany przejawić. Usługi uszczegóławiają analizę Ustalają komunikację pomiędzy obiektami Operują na atrybutach

58 Analiza obiektowa (OOA) – definiowanie usług
Klasa-i-obiekt Usługa1 Usługa2 Oznaczenia stosowane dla usług

59 Analiza obiektowa (OOA) – definiowanie usług
Strategia: Identyfikacja stanów obiektu – zmiana zachowania obiektu, np.: ZmieńStatusWindy Identyfikacja wymaganych usług: Algorytmicznie proste: Utwórz, Powiąż, PobierzUstaw, Zwolnij Algorytmicznie złożone: Oblicz, monitoruj Identyfikacja powiązań odpowiadających komunikatom – relacja pomiędzy obiektami typu nadawca komunikatu/odbiorca komunikatu

60 Analiza obiektowa (OOA) – definiowanie usług
Strategia: Przykład: Egzaminator -> Egzaminowany komunikat związany z WykonajPolecenie(…) Nadawca Odbiorca

61 Analiza obiektowa (OOA) – definiowanie usług
Strategia: Odpowiedź na pytania: Usługi jakich innych obiektów są mu potrzebne Jakie inne obiekty potrzebują jego usług Specyfikacja usług – diagram przepływu sterowania

62 Analiza obiektowa (OOA) – definiowanie usług
Warunek (jeśli; war. wstępny; war. rozpoczęcia, zakończenia) Blok tekstowy Pętla (dopóki; wykonuj; powtarzaj; rozpocznij/zakończ) Łącznik (dowiązany do górnej części następnego symbolu) Notacja dla schematu usługi

63 Analiza obiektowa (OOA) – definiowanie usług
Warunek wstępny: Podstawa = „Trójkąt” Tak TwórzObiekt typu trójkąt Ustaw długości krawędzi Warunek wstępny: Podstawa = „…”

64 Analiza obiektowa (OOA) – definiowanie usług
Przykłady w oparciu o metodologię: Obliczanie pól i obwodów figur – link

65 Proces przygotowania aplikacji przy wykorzystaniu podejścia obiektowego
Analiza obiektowa

66 Projektowanie obiektowe (OOD) - cechy
Niższy poziom abstrakcji niż w przypadku analizy obiektowej Modelowanie szczególnej implementacji W przeciwieństwie do analizy możliwa zależność od języków programowania Dodanie i modyfikacja możliwa w stosunku do wszystkich warstw

67 Projektowanie obiektowe (OOD) - składowe
Składowa kontaktu z człowiekiem – WE/WY, np.: Okno, PrezentacjaWyniku Składowa problemu – modyfikacja OOA Składowa zarządzania zadaniami – zadanie wykonywane w czasie rzeczywistym, komunikację i koordynację, np.: MenadżerZadań, Zadanie Składowa zarządzania danymi – dostęp i zarządzanie danymi: pliki, bazy danych

68 Projektowanie obiektowe (OOD)
Przykłady w oparciu o metodologię: Obliczanie pól i obwodów figur – link

69 OOA oraz OOD Pełna Dokumentacja: Obliczanie pól i obwodów figur – link

70 Implementacja Na podstawie przygotowanej dokumentacji podczas OOA i OOD napisanie aplikacji Proces: Programowanie Testowanie Projektowanie Analiza

71 Proszę o ewentualne pytania
Michał Kuciapski


Pobierz ppt "Cykl tworzenia oprogramowania"

Podobne prezentacje


Reklamy Google