Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

OMT - Model obiektów, cz.1. Obiekt, klasa obiektów Obiekt Pojęcie, abstrakcja lub rzecz istniejąca w świecie rzeczywistym, posiadająca dobrze określone.

Podobne prezentacje


Prezentacja na temat: "OMT - Model obiektów, cz.1. Obiekt, klasa obiektów Obiekt Pojęcie, abstrakcja lub rzecz istniejąca w świecie rzeczywistym, posiadająca dobrze określone."— Zapis prezentacji:

1 OMT - Model obiektów, cz.1

2 Obiekt, klasa obiektów Obiekt Pojęcie, abstrakcja lub rzecz istniejąca w świecie rzeczywistym, posiadająca dobrze określone granice i relewantna dla problemu SI, sprzyjająca zrozumieniu modelowanego świata rzeczywistego i implementowalna komputerowo. Obiekt posiada tożsamość i stan. Obiekty mogą być identyczne, posiadać ten sam stan, ale być innymi obiektami. Tożsamość oznacza, że obiekty są wyróżnialne w rzeczywistości poprzez ich istnienie, a nie poprzez jakikolwiek ich własności. Klasa (obiektów) Klasa (obiektów) Grupa obiektów posiadających podobne własności (atrybuty), podobne zachowanie (operacje), podobne związki z innymi obiektami, podobną semantykę. Osoba Klasa (Osoba) Jan Nowak (Osoba) Ewa Stycz (Osoba) Obiekty (wystąpienia)

3 Atrybuty Atrybut jest (nazwaną) wartością przechowywaną przez obiekty w ramach klasy. nazwisko wiek atrybuty obiektu Osoba Atrybut jest wartością, nie jest obiektem. Nie posiada tożsamości. Osoba nr_osoby: nr nazwisko: string wiek: integer Klasa z atrybutami (Osoba) Jan Nowak 53 (Osoba) Ewa Stycz 24 Obiekty (wystąpienia) z wartościami Atrybut unikalnie identyfikujący obiekt (klucz) nie jest wymagany. System obiektowy automatycznie generuje wewnętrzny unikalny identyfikator obiektu. Nie mają one znaczenia dla dziedziny problemu. Osoba nazwisko: string wiek: integer

4 Operacje i metody Operacja jest funkcją lub transformacją, która może być zastosowana do obiektu (lub przez obiekt). Jest ona własnością klasy obiektów. zatrudnij zwolnij wypłać_dewidendę operacje na obiektach klasy Firma Wszystkie obiekty w ramach klasy podlegają tym samym operacjom. Ta sama operacja może być zastosowana do obiektów wielu różnych klas => polimorfizm. Metoda jest implementacją operacji dla jednej klasy. drukuj Plik ASCII Plik postscript Plik graficzny Różne operacje drukowania

5 Argumenty operacji Operacja/metoda może mieć argumenty (oprócz obiektu, który jest argumentem implicite). Sygnatura operacji: liczba i typ argumentów + typ wyniku operacji. Wszystkie metody implementujące daną operację muszą mieć tę samą sygnaturę. operacje Osoba nazwisko wiek zmień_pracę zmień_adres Plik nazwa_pliku długość_w_bajtach ostatnia_zmiana drukuj Obiekt geometryczny kolor pozycja przesuń( delta: Wektor ) wewnątrz( p: Punkt ): Boolean obróć( kąt ) Cecha jest pojęciem ogólniejszym zarówno dla atrybutu jak i dla operacji. Jeżeli argumenty nie są specyfikowane, to może ich być dowolnie dużo. zwolnij() - zero argumentów Nie zaleca się pomijania specyfikacji wyniku operacji

6 Powiązania i związki Powiązanie Fizyczny lub pojęciowy związek pomiędzy wystąpieniami obiektów związek Grupa powiązań posiadających wspólną strukturę i semantykę. Powiązanie jest wystąpieniem związku. Osoba Firma pracuje_w (Osoba) Kasia (Firma) Krawiecka pracuje_w (Osoba) Jasio (Firma) Szewska (Osoba) Ewa pracuje_w Klasy i związek Obiekty i powiązania Powiązania i związek nie mają kierunku (ale ich nazwy mogą ten kierunek określać). związek mogą mieć więcej argumentów niż dwa (ale nie jest to zalecane). związek a może być nie nazwana, jeżeli jej znaczenie wynika z klas, które łączy.

7 Liczność związku (1) cardinality Cecha o dyżym znaczeniu informacyjnym w analizie i modelowaniu. Jezeli związek wiąże klasy A i B, to istotne jest: jaka jest minimalna liczba wystąpień obiektów B widziana z jednego obiektu A, jaka jest maksymalna liczba wystąpień obiektów B widziana z jednego obiektu A, jaka jest minimalna liczba wystąpień obiektów A widziana z jednego obiektu B, jaka jest maksymalna liczba wystąpień obiektów A widziana z jednego obiektu B. Zwykle, minimalna liczbaje jest 0 lub 1, maksymalna zaś 1 lub n (dowolnie dużo). AAAA B A BB AB: min = 0, max = 1 BA: min = 1, max = n AAAA B A BB AB: min = 1, max = n BA: min = 1, max = n Rózne metodyki mają rózne notacje dla oznaczenia liczności związek i.

8 Liczność związku (2) Liczność związku określa jak wiele wystąpień jednej klasy może być związana z jednym wystąpieniem drugiej klasy. Generalnie, może to być dowolny podzbiór liczb całkowitych nieujemnych. OMT wprowadza następujące oznaczenia liczności: 1 2,3,4,... 3,4,5 2,4, ,4,18 Wielokrotność jest oznaczana specjalnymi końcówkami linii związek i ,1 dokładnie 1 zero, jeden lub więcej zero lub jeden PaństwoStolica FirmaPracownik OsobaAdres

9 Atrybuty powiązań Atrybuty mogą być przypisane nie tylko do obiektów ale również do powiązań. Plik Użytkownik prawo dostępu Dostępny przez czytanie czytanie-pisanie Osoba nazwisko pesel adres Firma nazwa adres zarobek stanowisko szef pracownik Pracuje_w ocena wydajności Kieruje

10 Zalecany przypadek atrybutów powiązań Osoba nazwisko pesel adres Firma nazwa adres zarobek stanowisko Pracuje_w Forma zalecana (bardziej elastyczna) Osoba nazwisko pesel adres zarobek stanowisko Firma nazwa adres Pracuje_w Forma nie zalecana (nie elastyczna; np. po zmianie powiąza- nia na wiele-do-wielu) Zalecenie: Starać się przypisać do klasy tylko te atrybuty, które są dla tej klasy stabilne. W przeciwnym przypadku diagram staje się mniej elastyczny.

11 Modelowanie związku jako klasy UżytkownikStacja robocza Autoryzacja priorytet przywileje start sesji Katalog główny katalog użytk. Ma autoryzację na (Wydaje się, że taka potrzeba występuje rzadko)

12 Role związku, uporządkowanie związku Role mogą dodatkowo specyfikować końce związku. FirmaOsoba Pracuje-w pracownikpracodawca Role są konieczne, jeżeli związek łączy obiekty tej samej klasy. właściciel Katalog zawierający zawartość Użytkownik uprawniony Uporządkowanie związek i: OknoEkran Widoczne na {uporządkowane}

13 Związki ternarne, n-arne ternary association, n-ary association ProjektJęzyk Osoba (Projekt) System księgowy (Osoba) Jan (Projekt) Program CAD (Język) Cobol (Język) C Dość często związek wyższego rzędu wymagają zastosowania nazw ról. Oznaczenia dla liczności związku wyższego rzędu są pewnym problemem: należy traktować rombik tak jak klasę.

14 Związek kwalifikowany związek kwalifikowany wiąże dwie klasy i kwalifikator, który jest specjalnym atrybutem redukującym efektywnie liczność związku. Kwalifikowane mogą być związki 1:n i m:n. Kwalifikator jest stawiany od strony wiele Plik nazwa pliku Katalog Plik może należeć do jednego katalogu. Wewnątrz tego katalogu nazwa pliku jest unikalna. Stąd, Katalog + nazwa plikuPlik związek 1:1

15 Agregacje (1) Specjalna forma związku, określająca związek część-całość. Obiekty będące komponentami czegoś są zwi ązane z obiektem będącym całością. Np. jakaś część zawiera składowe części. Relacja agregacji jest tranzytywna i antysymetryczna: A jest częścią B,B jest częścią C A jest częścią C A jest częścią B nieprawda, że B jest częścią A Pewne własności całości są propagowane do jej składowych: Samochód znajduje się w miejscu X Silnik tego samochodu znajduje się w miejscu X DokumentParagrafZdanie

16 Agregacje (2) Jak odróżnić agregację od związku? Artykuł TytułAutorStreszczenieRozdział Literatura Faktura Dane identyfikacyjne Pozycja Suma Akceptacja Kryterium istnienia: pod-obiekt nie może istnieć bez ojcowskiego obiektu. Kryterium wstawiania: pod-obiekt nie może być samotnie wprowadzony do bazy danych Kryterium usuwania (słaby obiekt): usunięcie obiektu implikuje usunięcie pod-obiektu Kryterium fizycznej części: jakiś obiekt jest fizyczną częścią innego obiektu aggregation

17 Generalizacje/specjalizacje Są to abstrakcje polegające na budowie pojęć bardziej ogólnych (bardziej szczegółowych), jeżeli mamy pojęcia bardziej szczegółowe (bardziej ogólne) generalization/specialization Sklep nazwa adres Rodzaj towaru Firma usługowa nazwa adres Rodzaj usługi Firma nazwa adres Sklep Rodzaj towaru Firma usługowa Rodzaj usługi Firma nazwa adres...Rodzaj towaru?...Rodzaj usługi? Generalizacja Specjalizacja

18 Generalizacja i dziedziczenie Generalizacja jest związkiem pomiędzy klasą i jedną lub więcej jej specjalizacji. Wyposażenie nazwa wytwórca waga koszt Pompa cisnienie ssania cisnienie tłoczenia przepływ Wymiennik ciepła powierzchnia wymiany średnica rury Zbiornik objętość ciśnienie... typ wyposażenia typ pompy typ zbiornika dyskryminator Klasy bardziej wyspecjalizowane dziedziczą wszystkie własności klasy bardziej ogólnej. Dziedziczenie jest tranzytywne. pod-klasy nie są rozłączne

19 Użycie generalizacji, przesłanianie Generalizacja jest użyteczna zarówno do modelowania, jak i do implementacji. Generalizacja wspomaga modelowanie poprzez wprowadzenie struktury klas i określenie ich podobieństwa i różnic. Dziedziczenie operacji jest pomocne w implementacji jako środek do tworzenia kodu wielokrotnego użycia. Dziedziczenie jest własnościa obiektowych języków programowania. Klasa może przesłonić jakąś cechę odziedziczoną z klasy bardziej generalnej. Powody, np: wyspecyfikowanie specyficznego zachowania się podklasy dookreślenie zachowania się lepszy czas wykonania Sygnatura operacji nie powinna być przesłaniana

20 nazwa pozycji Przykład diagramu związku klas Okno x1 y1 x2 y2 wyświetl zdejmij na czubek na spód Okno przesuwalne przesunięcie-x przesunięcie-y przesuń Okno graficzne cx1 cy1 cx2 cy2 dodaj-element usuń-element Panel Okno tekstowe ciąg znakowy wstaw usuń Przesuwalna grafika Figura kolor szer-linii okno elementy Figura zamknięta kolor wypełnienia deseń wypełnienia Punkt x y Przycisk napis zwolniony Pozycja wyboru Pozycja tekstowa max długość obecny napis rejestruj zdarzenie Elipsa x y a b rysuj Poligon rysuj wierzchołki {uporządkowany} zdarzenie na klawiaturze Zdarzenie akcja wybory bież wybór Pozycja panelu x y etykieta Linia x1 y1 x2 y2 rysuj Element wyboru napis wartość {podzbiór}


Pobierz ppt "OMT - Model obiektów, cz.1. Obiekt, klasa obiektów Obiekt Pojęcie, abstrakcja lub rzecz istniejąca w świecie rzeczywistym, posiadająca dobrze określone."

Podobne prezentacje


Reklamy Google