Modelowanie obiektowe Diagramy klas
description
Transcript of Modelowanie obiektowe Diagramy klas
Modelowanie obiektoweDiagramy klas
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
Modelowanie obiektowe – diagramy klas
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
Diagramy klas/obiektów - rola
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
Diagramy klas - typy
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
Diagramy klas/obiektów –pojęcia podstawowe
6
Diagramy klas –pojęcia podstawowe
Klasa
Nazwa klasy
Metody z typami danych
wyjściowych
Atrybuty z typami danych
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
Diagramy klas –pojęcia podstawowe
8
Notacje UML dotyczące liczebności
Liczebność UML
Notacja
Związki z liczebnościami asocjacji
Znaczenie
Dokładnie1
1
OddziałPracownik 1pracuje dla
DepartmentEmployee
Pracownikpracuje w jednymi tylko jednymoddziale.
Zero lub jeden 0..1 0..1ma WspółmałżonekPracownikPracownik może ale nie musi mieć jednego
współmałżonka.
Zero lubwięcej
0..*
lub
*
0..*dokonuje PłatnośćKlient
PłatnośćKlient dokonuje *
Klient może niedokonać żadnejpłatności, albowielu płatności.
Jeden lub więcej 1..*
KursUniwersytet oferuje 1..*Uniwersytet
oferuje co najmniejjeden lub wiele
kursów.
Określonyzakres
7..9
przypisanych
GraZespół 7..9ma Zespół ma 7, 8 lub 9przypisanych gier
9
Diagramy klas –pojęcia podstawowe
0..*Klient Zamówienie
składa1
zamawiający zamówienie
Asocjacja
RoleRole
Nazwa asocjacji
LiczebnośćLiczebność
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 obiekty-
części składają się na obiekt-całości i są z nim nierozerwalnie związane,
◦częściowa/agregacja/ - zakłada, że obiekty-części mogą być współdzielone przez wiele obiektów-całości.
10
Diagramy klas –pojęcia podstawowe
11
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)
12
Relacja kompozycji
Zamówienie
Pozycja zamówienia
Relacje typu “składa się z”(wszystkie obiekty-części składają się na obiekt-całość i są z
nim nierozerwalnie związane)
Książka
Strona
Asocjacja zwrotna – sytuacja kiedy istnieje asocjacja pomiędzy różnymi obiektami tej samej klasy (asocjacja wiążąca klasę z samą sobą).
13
Pojazd platforma
< transportuje
osobowy
1
1..10
Diagramy klas –pojęcia zaawansowane
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
Diagramy klas – pojęcia zaawansowane
15
Relacja uogólnienia/dziedziczenia
Relacja typu “jest rodzajem”
Pracownik
Doktor PielęgniarkaPracownik
administracji
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
Tworzenie diagramu klas