Wykład 4 Analiza i projektowanie obiektowe
Treść wykładu techniki i notacje zakres analizy i projektowania obiektowego metodyka obiektowa metodyka OMT diagramy i techniki OMT fazy metodyki OMT analiza projektowanie implementacja
Analiza i projektowanie obiektowe wyróżnianie w dziedzinie przedmiotowej będącej zakresem systemu informacyjnego bytów zwanych obiektami grupowanie obiektów w klasy określenie zależności pomiędzy klasami w postaci hierarchii klas określenie atrybutów dla klas oraz ustalenie powiązań asocjacyjnych między obiektami przypisanie do klas metod działających na obiektach tych klas
Stosowane techniki oraz notacje modelowanie obiektów i klas modelowanie zachowania modelowanie dynamiczne modelowanie przepływu danych notacje składnia i semantyka służąca do zapisu modelu diagramy obiektów i klas diagramy dynamiczne diagramy przepływu danych
Zakres analizy i projektowania obiektowego analiza i modelowanie struktur obiektów analiza i modelowanie procesów i sekwencji transakcji analiza i modelowanie interakcji pomiędzy obiektami całościowe modelowanie systemu planowanie projektu zarządzanie projektami dotyczącymi obiektowości analiza wymagań dotyczących systemu projektowanie logiczne projektowanie fizyczne rozwijanie obiektowych aplikacji testowanie, akceptacja, wdrażanie, utrzymywanie
Metodyka obiektowa wykorzystuje pojęcia obiektowości dla celów modelowania konceptualnego oraz analizy i projektowania systemów informacyjnych podstawowy składnik metodyki to diagram klas obiektów stanowiący wariant notacyjny i pewne rozszerzenie diagramu związków encji składniki diagramu klas obiektów klasy wraz ze specyfikacjami atrybutów oraz metod struktura dziedziczenia pomiędzy klasami związki asocjacji oraz agregacji, liczność związków więzy integralnościowe
Diagramy uzupełniające diagram obiektów diagramy dynamiczne stany poszczególnych procesów przetwarzania i przejścia pomiędzy tymi stanami diagram komunikatów diagram zależności pomiędzy wywołaniami metod diagramy funkcjonalne diagramy będące mutacją diagramów przepływu danych diagramy użycia (use cases) diagramy przedstawiające system z punktu widzenia użytkownika
Metodyki obiektowe OMT - Rumbaugh OOA/OOD - Coad, Yourdon OOSA - Shlaer, Mellor UML - Booch, Jacobson, Rumbaugh
Metodyka OMT wprowadzenie do OMT podstawowe modele OMT diagramy i techniki OMT klasy oraz obiekty atrybuty, operacje i metody agregacja generalizacja dziedziczenie
OMT- wprowadzenie technika modelowania obiektów podstawa metody UML nie opiera się na funkcjonalnej dekompozycji procesów zachodzących w dziedzinie przedmiotowej a na opisie obiektów odgrywających rolę w dziedzinie przedmiotowej obiektowość jest sposobem myślenia i organizacji oprogramowania polegająca na wyborze dyskretnych obiektów wybrane obiekty odwzorowują statyczną strukturę dziedziny przedmiotowej dodatkowo obiekty odwzorowują zachowania w dziedzinie przedmiotowej
Charakterystyki obiektowości wykorzystywane w OMT tożsamość obiektów klasyfikacja - grupowanie obiektów w klasy polimorfizm dziedziczenie
Cechy podejścia obiektowego większy nacisk na istotne własności obiektów co wymusza dokładniejszą analizę czym są obiekty i co właściwie robią podejście nie redukuje samego czasu rozwoju systemu redukuje czas powtórnego użycia klas i innych fragmentów projektu, błędów i pracochłonności utrzymania przesunięcie kosztu rozwoju na fazę analizy koncentracja na struktury danych mniejsza koncentracja na funkcje podejście iteracyjne niż sekwencyjne
Modele OMT model obiektów model funkcjonalny model dynamiczny odpowiedzialny jest za aspekt strukturalny opisuje statyczną strukturę obiektów oraz związków model funkcjonalny odpowiedzialny za aspekt funkcjonalny opisuje zależności funkcyjne między wartościami model dynamiczny odpowiedzialny za aspekt sterowania opisuje zachowanie się obiektów projektowanie i implementacja polega na uszczegółowianiu i łączeniu modeli
Diagramy i techniki OMT model asocjacji klas diagram asocjacji klas - Class Association Diagram CAD statyczna struktura systemu opisywana siecią klas i związków model dynamiczny diagram zmiany stanów - State Transition Diagram STD struktura sterowania systemu, sekwencja działań między stanami systemu w postaci stanów i przejść diagram sekwencji zdarzeń - Event Trace Diagram ETD sekwencja zdarzeń między różnymi obiektami w postaci uporządkowanej listy
Diagramy i techniki OMT c.d. model funkcjonalny diagram przepływu danych - Data Flow Diagram DFD procesy systemu oraz przepływy wartości danych od ich źródeł w obiektach poprzez procesy do ich przeznaczenia w innych obiektach model komunikacji klas diagram komunikacji klas - Class Communication Diagram CCD definiuje komunikację wewnątrz systemu poprzez pokazanie interfejsów między obiektami diagram generalizacji komunikatów - Message Generalization Diagram MGD dekomponuje strukturę złożonych komunikatów
Fazy metodyki OMT analiza dziedziny przedmiotowej projektowanie systemowe uwzględniające zagadnienia architektoniczne projektowanie obiektowe uwzględniające budowę modeli obiektowych implementacja projektu z wykorzystaniem narzędzi CASE, języka programowania wszystkie fazy są powtarzane
Analiza specyfikowanie oraz dokumentowanie dziedziny przedmiotowej ustalenie zakresu projektu ustalenie wymagań użytkowników ustalenie wymagań organizacyjnych ustalenie wymagań sprzętowych, oprogramowania, ograniczeń finansowych oraz ram czasowych analiza nie zajmuje się zmianą rzeczywistości
Cechy właściwej analizy analiza nie zajmuje się zmianami w dziedzinie przedmiotowej rozpoznanie wszystkich aspektów dziedziny przedmiotowej ustalenie wszystkich czynników mających wpływ na postać projektowanego systemu analiza nie powinna odwoływać się do aspektów implementacyjnych
Projektowanie systemowe całościowa struktura systemu wyodrębnienie podsystemów wynikających z etapów analizy strategie optymalizacji charakterystyk wydajnościowych konfiguracja sprzętu, protokoły sieciowe
Projektowanie obiektowe bazuje na wynikach analizy oraz projektowania systemowego zawiera wiele elementów implementacyjnych oraz metod przetwarzania potrzebnych do implementacji klas niektóre klasy nie są implementowane może zaistnieć potrzeba uzupełnienia fazy analizy o dodatkowe klasy niezbędne do implementacji systemu analiza obiektowa oraz projektowanie obiektowe są opisywane z wykorzystaniem tej samej notacji obiektowej
Implementacja obiekty i klasy wyodrębnione w trakcie fazy projektowania są implementowane z wykorzystaniem narzędzia CASE oraz obiektowego języka programowania baza danych oraz konfiguracja sprzętowa bazuje na założeniu, że wszystkie decyzje dotyczące fazy implementacji zostały podjęte i udokumentowane na etapie analizy oraz projektowania fragment projektu powinien być jednoznacznie odwzorowany w odpowiedni fragment oprogramowania
Zależności pomiędzy obiektami modele opisują specyficzne aspekty modelowanej dziedziny przedmiotowej zawierają odniesienia do pozostałych modeli model obiektów opisuje strukturę, nad którą działają model dynamiczny oraz model funkcjonalny metody w modelu obiektów odpowiadają zdarzeniom w modelu funkcjonalnym oraz funkcjom w modelu funkcjonalnym struktura sterowania opisana jest przez model dynamiczny
Zależności pomiędzy obiektami c.d. model funkcjonalny zawiera funkcje wywoływane przez operacje zawarte w modelu obiektów argumenty wywoływanych funkcji akcje w modelu dynamicznym ograniczenia na wartości obiektów