230 likes | 456 Views
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.
E N D
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 • techniki • 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 • 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