Transcript Document

Dr Karolina Muszyńska
Na podst.: http://www.csun.edu/~dn58412/IS431/IS431_SP13.html
S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”

Ujęcie statyczne- diagramy klas
◦
◦
◦
◦
rola
pojęcia podstawowe
pojęcia zaawansowane
przykłady
2


Diagram klas – rodzaj diagramów UML
pokazujących statyczny obraz systemu,
stanowiących podstawę dla przyszłej bazy
danych. Diagramy klas opisują strukturę obiektów
systemu i pokazują klasy obiektów, z których
złożony jest system, jak również relacje pomiędzy
klasami.
Diagramy obiektów – są podobne do diagramów
klas ale zamiast opisywać klasy przedstawiają
model rzeczywistych wystąpień obiektów,
ukazując strukturę systemu w danym momencie
czasu.
3


Diagram konceptualny – diagram klas zawierający
podstawowe elementy, wykorzystujący nazwy
klas, atrybutów oraz metod zrozumiałe dla
użytkownika.
Diagram implementacyjny – diagram klas
wzbogacony o dodatkowe elementy takie jak typy
danych, widoczność, klasy asocjacyjne, związki
uogólnienia (dziedziczenia), czy realizacje.
4
 Obiekt – to coś co można zobaczyć, dotknąć, albo
w inny sposób wyczuć i o czym użytkownicy
gromadzą dane i czemu przypisują określone
procedury (metody)
 Atrybuty - to dane, które reprezentują cechy
charakteryzujące obiekt (wszystko co wiemy na
temat obiektu jest reprezentowane przez atrybuty)
 Operacje/metody - odnoszą się do tych rzeczy,
które obiekt może robić i które odpowiadają
funkcjom wykonywanym na danych (atrybutach)
obiektu
 Klasa - to zbiór obiektów, które posiadają taką
samą strukturę – te same atrybuty i metody oraz
wspólne relacje i znaczenie.
5
Klasa
Nazwa klasy
Atrybuty z typami
danych
Metody z typami
danych wyjściowych
6
 Relacja klas to naturalne biznesowe powiązanie, które
istnieje między klasami. Są cztery typy relacji
pomiędzy klasami: asocjacja, uogólnienie
(dziedziczenie), zależność i realizacja.
 Asocjacja - główny typ relacji opisujący możliwe
związki pomiędzy obiektami powiązanych klas.
 Nawigacja jest zdefiniowanym kierunkiem komunikacji
pomiędzy klasami; jeżeli nie jest zdefiniowana
domyślnie jest ona dwustronna.
 Liczebność określa ile wystąpień jednej klasy może być
w związku z jednym wystąpieniem innej klasy.
7
Notacja
Liczebność
Dokładnie1
Zero lub jeden
Zero lub
więcej
Jeden lub więcej
Określony
zakres
Znaczenie
Związki z liczebnościami
UML
1
Pracownik
0..1
Employee
Pracownik
0..*
lub
Klient
*
Klient
1..*
7..9
Uniwersytet
Zespół
pracuje dla 1
ma
asocjacji
Oddział
Department
0..1 Współmałżonek
dokonuje 0..*
Płatność
dokonuje *
Płatność
Pracownik
pracuje w jednym
i tylko jednym
oddziale.
Pracownik może ale
nie musi mieć jednego
współmałżonka.
Klient może nie
dokonać żadnej
płatności, albo
wielu płatności.
oferuje
1..*
Kurs
Uniwersytet
oferuje co najmniej
jeden lub wiele
kursów.
ma
7..9
Gra
Zespół ma 7, 8 lub 9
przypisanych gier
przypisanych
8
Nazwa asocjacji
Klient
1
Asocjacja
składa
zamawiający
Liczebność
0..*
zamówienie
Zamówienie
Role
9

Agregacja – to specjalny rodzaj relacji, pokazujący,
że niektóre klasy składają się z innych klas.
Poprzez stworzenie relacji agregacji możemy
podzielić bardzo złożony obiekt i wyznaczać
metody i atrybuty poszczególnym obiektom,
składającym się na niego. Są dwa typy relacji
agregacji:
◦ całkowita /kompozycja/- wszystkie obiektyczęści składają się na obiekt-całości i są z nim
nierozerwalnie związane,
◦ częściowa/agregacja/ - zakłada, że obiektyczęści mogą być współdzielone przez wiele
obiektów-całości.
10
Relacja agregacji
Zespół operacyjny
Doktor
Pielęgniarka
Anestezjolog
Relacja typu “jest częścią”
(obiekty-części mogą być współdzielone przez wiele obiektów-całości)
11
Relacja kompozycji
Zamówienie
Książka
Pozycja zamówienia
Strona
Relacje typu “składa się z”
(wszystkie obiekty-części składają się na obiekt-całość i są z
nim nierozerwalnie związane)
12
 Asocjacja zwrotna – sytuacja kiedy istnieje asocjacja
pomiędzy różnymi obiektami tej samej klasy (asocjacja
wiążąca klasę z samą sobą).
1
platforma
Pojazd
osobowy
1..10
< transportuje
13
 Relacja uogólnienia – wskazuje, że jedna z dwóch
powiązanych klas – podklasa (dziecko) uważana jest za
rodzaj drugiej klasy - nadklasy (rodzica) i nadklasa
uważana jest za ‘uogólnienie’ podklasy. Innymi słowy
klasa dziecko jest specyficznym typem klasy rodzic i
dziedziczy wszystkie cechy i metody z klasy rodzica.
 Związek uogólnienia występuje również pod nazwą
związku dziedziczenia.
 Klasa rodzic może być albo konkretną klasą albo
abstrakcyjną. Klasa abstrakcyjna nie ma konkretnych
instancji obiektów, stanowi jedynie uogólnienie
obiektów konkretnych znajdujących się na niższych
poziomach hierarchii jako klasy dzieci.
14
Relacja uogólnienia/dziedziczenia
Pracownik
Doktor
Pielęgniarka
Pracownik
administracji
Relacja typu “jest rodzajem”
15
 Znalezienie potencjalnych obiektów
(najlepszy sposób to
przegląd każdego przypadku użycia w poszukiwaniu rzeczowników).
 Wybór proponowanych obiektów
(oczyszczenie listy z: synonimów,
rzeczowników nie dotyczących systemu, rzeczowników które są rolami, lub
rzeczowników które są akcjami lub atrybutami).
 Identyfikacja atrybutów i metod dla klas.
 Identyfikacja asocjacji i liczebności.
 Identyfikacja relacji uogólnienia (należy wyszukać związków
jeden-do-jednego gdyż to są potencjalne relacje uogólnienia, jak również
klas o wspólnych atrybutach lub metodach).
 Identyfikacja relacji agregacji
(należy pamiętać, że relacje
agregacji nie oznaczają dziedziczenia ale propagują metody).
 W pierwszej kolejności należy zidentyfikować klasy i
stworzyć diagram klas dla każdego przypadku użycia a
następnie zbudować zintegrowany diagram klas dla
całego systemu.
16