Relacje diagramów klas UML wyjaśnione na przykładach

Wiele osób uważa diagramy klas za nieco bardziej skomplikowane w budowie w porównaniu do diagramów ER. W większości przypadków jest to spowodowane niemożnością zrozumienia różnych zależności w diagramach klasowych. Ten artykuł wyjaśnia, jak poprawnie określić i zaimplementować różne zależności diagramu klas, które mają zastosowanie w modelowaniu obiektowym. Co więcej, możesz łatwo tworzyć diagramy klas online za pomocą naszego narzędzia do diagramowania.

Diagram klas - zależności ( UML )

Relacje w diagramach klas UML

Co to są diagramy klas?

Diagramy klas są głównym elementem składowym modelowania obiektowego. Służą one do przedstawienia różnych obiektów w systemie, ich atrybutów, operacji i relacji między nimi. Poniższy rysunek jest przykładem prostej klasy:

Prosty diagram klas

Diagram klasy prostej z atrybutami i operacjami

W przykładzie przedstawiona jest klasa o nazwie “konto kredytowe”. Klasy w diagramach klas są reprezentowane przez pola, które są podzielone na trzy części:

  1. Górna partycja zawiera nazwę klasy.
  2. Środkowa część zawiera atrybuty klasy.
  3. Dolna partycja pokazuje możliwe operacje, które są związane z daną klasą.

Przykład ten pokazuje, jak klasa może enkapsulować wszystkie istotne dane danego obiektu w bardzo systematyczny i przejrzysty sposób. Diagram klas jest zbiorem klas podobnym do tego powyżej.

Relacje w diagramach klas

Klasy są ze sobą powiązane w określony sposób. W szczególności, relacje w diagramach klas zawierają różne typy połączeń logicznych. Poniżej przedstawiono takie typy połączeń logicznych, które są możliwe w UML:

Stowarzyszenie

Asocjacja - Jedna z najczęściej występujących na diagramie klas relacji

Asocjacja

jest szerokim terminem, który obejmuje po prostu każde logiczne połączenie lub relację pomiędzy klasami. Na przykład pasażer i linia lotnicza mogą być powiązane w sposób opisany powyżej:

Stowarzyszenie Kierowane

Bezpośrednia relacja asocjacyjna w diagramach klas UML

Directed Association

odnosi się do relacji kierunkowej reprezentowanej przez linię z grotem strzałki. Grot strzałki wskazuje na zamknięty w pojemniku przepływ kierunkowy.

Stowarzyszenie refleksyjne

Refleksyjna relacja asocjacyjna w diagramach klas UML

Reflexive Association

Występuje wtedy, gdy klasa może mieć wiele funkcji lub odpowiedzialności. Na przykład, członek personelu pracującego na lotnisku może być pilotem, inżynierem lotnictwa, dyspozytorem biletów, strażnikiem lub członkiem załogi technicznej. Jeśli członek załogi technicznej jest zarządzany przez inżyniera lotniczego, może istnieć relacja managed by w dwóch instancjach tej samej klasy.

Mnogość

Relacja mnogości w diagramach klas UML

Multiplicity

jest aktywną asocjacją logiczną, gdy przedstawiana jest kardynalność klasy względem innej. Na przykład, jedna flota może obejmować wiele samolotów, podczas gdy jeden samolot komercyjny może pomieścić od zera do wielu pasażerów. Zapis 0..* w diagramie oznacza “od zera do wielu”.

Agregacja

Relacja agregacji

Agregacja

odnosi się do powstawania danej klasy w wyniku agregacji jednej klasy lub budowania jej jako zbioru. Na przykład, klasa “biblioteka” składa się z jednej lub więcej książek, wśród innych materiałów. W agregacji, zawarte klasy nie są silnie zależne od cyklu życia kontenera. W tym samym przykładzie, książki pozostaną nimi nawet wtedy, gdy biblioteka zostanie rozwiązana. Aby pokazać agregację na diagramie, narysuj linię od klasy nadrzędnej do klasy podrzędnej w kształcie rombu w pobliżu klasy nadrzędnej. Aby pokazać agregację na diagramie, narysuj linię od klasy nadrzędnej do klasy podrzędnej w kształcie rombu w pobliżu klasy nadrzędnej.

Skład

Relacja kompozycji w diagramach klas

Kompozycja

Relacja kompozycji jest bardzo podobna do relacji agregacji. z jedyną różnicą polegającą na jej kluczowym celu, jakim jest podkreślenie zależności klasy zawartej od cyklu życia klasy kontenera. Oznacza to, że zawarta klasa zostanie wymazana, gdy klasa kontenera zostanie zniszczona. Na przykład, boczna kieszeń torby na ramię również przestanie istnieć, gdy torba na ramię zostanie zniszczona. Aby pokazać relację kompozycji na diagramie UML, użyj linii kierunkowej łączącej dwie klasy, z wypełnionym kształtem rombu przylegającym do klasy kontenera i strzałką kierunkową do klasy zawartej.

Dziedziczenie / Generalizacja

Relacja dziedziczenia w diagramach klas UML

Dziedziczenie

odnosi się do typu relacji, w której jedna powiązana klasa jest dzieckiem innej na mocy przyjęcia tych samych funkcjonalności klasy nadrzędnej. Innymi słowy, klasa dziecka jest specyficznym typem klasy nadrzędnej. Aby pokazać dziedziczenie na diagramie UML, linia ciągła od klasy dziecka do klasy rodzica jest rysowana za pomocą niewypełnionego grotu strzałki.

Realizacja

Relacja realizacji w diagramach klas UML

Realization

oznacza implementację funkcjonalności zdefiniowanej w jednej klasie przez inną klasę. Aby pokazać tę relację w UML, linia łamana z niewypełnionym, pełnym grotem strzałki jest rysowana od klasy, która definiuje funkcjonalność do klasy, która implementuje daną funkcję. W przykładzie preferencje drukowania, które zostały ustawione za pomocą interfejsu konfiguracji drukarki, są realizowane przez drukarkę.

Rysowanie diagramów klas za pomocą Creately

Poświęciliśmy wiele uwagi relacjom podczas tworzenia naszych narzędzi do diagramowania klas. Nasze konektory dostosowują się do kontekstu i pokazują tylko najbardziej logiczne zależności podczas łączenia klas. To znacznie zmniejszyło szanse na popełnienie błędu. Rysowanie od podstaw może być kłopotliwe. Możesz od razu zacząć korzystać z naszych profesjonalnie zaprojektowanych diagramów klas. Przejrzyj nasze przykłady diagramów klas i wybierz ten, który jest ściśle związany z Twoim systemem.

Masz jeszcze jakieś pytania dotyczące relacji w diagramie klas?

Mam nadzieję, że jasno wyjaśniłem różne zależności pomiędzy diagramami klas. Nie są one tak skomplikowane jak myślisz i można je opanować przy odrobinie praktyki. Używając naszego narzędzia nie powinieneś mieć żadnych problemów z tworzeniem diagramów klas. Jeśli masz jeszcze jakieś pytania, nie wahaj się zapytać w sekcji komentarzy. Sprawdź również ten przewodnik po typach diagramów UML z przykładami, aby dowiedzieć się więcej. Referencje: 1. Podstawy UML: Diagram klas Wprowadzenie do diagramów strukturalnych w UML 2 autorstwa Donalda Bella 2. Diagram klas opublikowany na stronie Wikipedii 3. Diagram klas UML część 1 opublikowany na stronie developer.com 4. Diagram klas z Visual Case Tool – UML Tutorial opublikowany na stronie Visual Case 5. Stowarzyszenia opublikowane na stronie internetowej Sybase

Leave a comment

*
*

2 × 1 =

Back to top