UML
Unified Modeling Language
Wykład 3Diagram klas
WSM dr Marek Szepski 2
Diagram klas
Diagram klas to graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków miedzy nimi.
WSM dr Marek Szepski 3
WSM dr Marek Szepski 4
Klasa
Klasa jest uogólnieniem zbioru obiektów, które mają takie same atrybuty, operacje, związki i znaczenie.
WSM dr Marek Szepski 5
Klasy
A-nazwa
B-nazwa+atrybuty
C-nazwa+operacje
D-n+a+o
WSM dr Marek Szepski 6
Klasy
WSM dr Marek Szepski 7
Klasa Klasa jest pojęciem ogólnym i składa się z pewnej
liczny obiektów. Przykładami klas są: projekty, zespoły, produkty
pracy, wymagania, systemy. Klasa definiuje typ obiektu i jego właściwości,
w tym cechy strukturalne oraz behawioralne. Cechy strukturalne definiują, co obiekty z danej
klasy „wiedzą” (atrybuty i asocjacje). Cechy behawioralne określają co obiekty mogą
robić (operacje i metody). Klasy mogą być aktywne. Klasy zawierające zero obiektów nazywamy klasami
abstrakcyjnymi. Graficznie klasy są reprezentowane jak na
schemacie.
WSM dr Marek Szepski 8
Asocjacje
Związek klas:NazwaRoleNawigacjaLiczebnośćAgregacja
WSM dr Marek Szepski 9
Nazwa
Role
Nawigacja
WSM dr Marek Szepski 10
WSM dr Marek Szepski 11
Liczeb-ność
WSM dr Marek Szepski 12
Agregacja
Związek: całość - część
a) całkowita b) częściowa
WSM dr Marek Szepski 13
Agregat – obiekt stanowiący całość
Segment – część
W A. Całkowitej części nie mogą istnieć bez agregatu
WSM dr Marek Szepski 14
WSM dr Marek Szepski 15
Diagram klas:Konceptualny (analityczny, poziom
koncepcyjny) Implementacyjny – zawiera szczegóły
atrybutów, operacji, zobowiązań
Do diagramu implementacyjnego dochodzi się w kolejnych krokach dodając szczegóły
WSM dr Marek Szepski 16
Widoczność
Określa dostępność atrybutów i operacji
+, publiczny, obiekty wszystkich klas maja dostęp
-, prywatny, tylko obiekty danej klasy mają dostęp do atrybutów i operacji
#, chroniony, dostęp maja obiekty z klas dziedziczących
WSM dr Marek Szepski 17
Jeśli nie ma istotnego powodu do atrybuty powinny być prywatne.
Wartości atrybutów są wtedy zmieniane przez operacje, które są publiczne.
Aby klasa potomna miała dostęp do atrybutów klasy nadrzędnej musza one być chronione.
WSM dr Marek Szepski 18
Atrybuty
WSM dr Marek Szepski 19
Składnia atrybutuwidoczność nazwa_atrybutu
[liczebność uporządkowanie] : typ [= wartość początkowa]
widoczność (+ publiczna, - prywatna, # chroniona)
nazwa_atrybutu nazwa opisywanego atrybutu liczebność (domyślna = 1; granica_dolna
granica_górna) uporządkowanie (unordered, ordered) typ (może być każda klasa; Boolean; Integer;
Real; String) wartość początkowa jest opcjonalna i oznacza
wartość początkową atrybutu
WSM dr Marek Szepski 20
Oper-acje
WSM dr Marek Szepski 21
Składnia operacjiwidoczność nazwa_operacji (lista_
parametrów) : typ_zwracany widoczność (+ publiczna, - prywatna, # chroniona) nazwa_operacji (nazwa opisywanej operacji) lista_parametrów według składni:
rodzaj nazwa : typ = wartość_początkowa rodzaj jest opcjonalny, ma wartość domyślną in. Rodzaj może
przyjmować wartości in, out, inout typ – jest opcjonalny, nie ma wartości domyślnej – wskazuje
typ danych które może zawierać parametr. Typem parametru może być inna klasa lub Boolean, Integer, Real, String
wartość_początkowa – jest opcjonalna i oznacza wartość początkową parametru
typ_zwracany jest opcjonalny, nie ma wartości domyślnej – wskazuje typ danych zwracanych przez operację.
WSM dr Marek Szepski 22
Operacje są publiczneSzczególnymi operacjami są
konstruktor i destruktor
WSM dr Marek Szepski 23
Zobowiązania
WSM dr Marek Szepski 24
Nazwy:
Poziom implementacyjnyNazwaKlasyJakoRzeczownikwLPojnazwaAtrybutunazwaCzynnosciCzasownik
Na poziomie koncepcyjnym – nazwy naturalne: liczba sztuk.....
WSM dr Marek Szepski 25
Klasa asocjacyjnaOpisuje związek między klasami.Związek może być złożony mieć
atrybuty i operacjenp..
Pracownik – pracodawca: umowa o pracę
Osoba – projekt: harmonogram
WSM dr Marek Szepski 26
Klasa asocjacyjna
WSM dr Marek Szepski 27
Klasa abstrakcyjna
Klasa która nie posiada obiektów
nazywana jest klasą abstrakcyjną.
Przykładem klasy abstrakcyjnej
jest Interfejs (Interface).
WSM dr Marek Szepski 28
Dziedziczenie
WSM dr Marek Szepski 29
WSM dr Marek Szepski 30
Dziedziczenie Uogólnienie (generalization) to związek
pomiędzy dwoma bytami: Ogólnym (przodek) Szczegółowym (potomek)
Obiekt bytu szczegółowego może być używany w zastępstwie bytu ogólnego.
Jeżeli bytami są klasy to byt ogólny nazywamy nadklasą czyli przodkiem a byt szczegółowy klasą czyli potomkiem.
Potomek dziedziczy wszystkie właściwości przodka, a w szczególności jego atrybuty i operacje.
WSM dr Marek Szepski 31
WSM dr Marek Szepski 32
WSM dr Marek Szepski 33
WSM dr Marek Szepski 34
Polimorfizm Operacja potomka mająca tą samą
sygnaturę co operacja przodka jest ważniejsza (ma pierwszeństwo) od operacji zdefiniowanej dla przodka.
Zjawisko to nazywane jest polimorfizmem.
WSM dr Marek Szepski 35
Przykłady diagramów klas
WSM dr Marek Szepski 36
WSM dr Marek Szepski 37
WSM dr Marek Szepski 38
WSM dr Marek Szepski 39
WSM dr Marek Szepski 40
WSM dr Marek Szepski 41
WSM dr Marek Szepski 42
Tabela <-> Klasa Pasywna Jest wzorcem oraz
zbiorem obiektów Trwała Musi zawierać
atrybuty Atrybuty
elementarne
Musi posiadać unikalny identyfikator- klucz
Aktywna Jest tylko wzorcem
obiektów Trwała lub ulotna Są klasy nie
posiadające atrybutów Atrybuty elementarne
lub złażone Obiekty danej klasy są
zawsze rozróżnialne niezależnie od wartości atrybutów
WSM dr Marek Szepski 43
Diagram klas -> ERDłatwe przekształcenie:
1. Zastąp złożone atrybuty dodatkowymi tabelami i pomiń operacje
2. Dodaj klucze główne3. Dodaj tabele łączące, które
zlikwidują związki wiele do wielu4. Określ klucze obce i związki5. Przeprowadź normalizację tabel
WSM dr Marek Szepski 44
Tworzenie diagramu klasAnaliza obiektowaKarty CRC (class-responsibility-
collaboration)Arkusz analizy obiektowej
RebeccaWirfs-Brock, Allan McKean:Projektowanie obiektowe, Helion
Edward Yourdon, Carl Argila: Analiza obiektowa i projektowanie, WNT
WSM dr Marek Szepski 45
Wzorce projektowe
Korzystaj z gotowych rozwiązań
Gamma, Helm, Johnson, Vlissides: Wzorce projektowe, WNT- IO
Shalloway, Trott: Projektowanie zorientowane obiektowo, wzorce projektowe. Helion
Top Related