Modelowanie obiektowe Diagramy klas

16
Modelowanie obiektowe Diagramy 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”

description

Modelowanie obiektowe Diagramy 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”. Modelowanie obiektowe – diagramy klas. Ujęcie statyczne - diagramy klas rola - PowerPoint PPT Presentation

Transcript of Modelowanie obiektowe Diagramy klas

Page 1: 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”

Page 2: Modelowanie obiektowe Diagramy klas

Ujęcie statyczne- diagramy klas◦ rola◦ pojęcia podstawowe ◦ pojęcia zaawansowane◦ przykłady

2

Modelowanie obiektowe – diagramy klas

Page 3: 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

Page 4: Modelowanie obiektowe Diagramy klas

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

Page 5: Modelowanie obiektowe Diagramy klas

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

Page 6: Modelowanie obiektowe Diagramy klas

6

Diagramy klas –pojęcia podstawowe

Klasa

Nazwa klasy

Metody z typami danych

wyjściowych

Atrybuty z typami danych

Page 7: Modelowanie obiektowe Diagramy klas

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

Page 8: Modelowanie obiektowe Diagramy klas

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

Page 9: Modelowanie obiektowe Diagramy klas

9

Diagramy klas –pojęcia podstawowe

0..*Klient Zamówienie

składa1

zamawiający zamówienie

Asocjacja

RoleRole

Nazwa asocjacji

LiczebnośćLiczebność

Page 10: Modelowanie obiektowe Diagramy klas

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

Page 11: Modelowanie obiektowe Diagramy klas

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)

Page 12: Modelowanie obiektowe Diagramy klas

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

Page 13: Modelowanie obiektowe Diagramy klas

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

Page 14: Modelowanie obiektowe Diagramy klas

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

Page 15: Modelowanie obiektowe Diagramy klas

15

Relacja uogólnienia/dziedziczenia

Relacja typu “jest rodzajem”

Pracownik

Doktor PielęgniarkaPracownik

administracji

Page 16: Modelowanie obiektowe Diagramy klas

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