Typy relacji UML: skojarzenie, zależność, generalizacja

Co to jest relacja UML?

Relacje w UML-u służą do reprezentowania połączenia między rzeczami strukturalnymi, behawioralnymi lub grupującymi. Nazywa się to również łączem opisującym, w jaki sposób dwie lub więcej rzeczy mogą być ze sobą powiązane podczas wykonywania systemu. Typy relacji UML to skojarzenie, zależność, uogólnienie i realizacja.

Przestudiujmy je szczegółowo

Rodzaje relacji w diagramie klas UML

Relacje w diagramie klas UML

Stowarzyszenie

Jest to zbiór łączy łączących elementy modelu UML. Określa także, ile obiektów bierze udział w tej relacji.

Zależność

W relacji zależności, jak sama nazwa wskazuje, dwa lub więcej elementów jest od siebie zależnych. W tego rodzaju związku, jeśli dokonamy zmiany w konkretnym elemencie, wówczas jest prawdopodobne, że zmiana będzie miała wpływ na wszystkie pozostałe elementy.

Uogólnienie

Nazywa się to również relacją rodzic-dziecko. Uogólniając, jeden element jest specjalizacją innego ogólnego komponentu. Można go zastąpić. Jest używany głównie do reprezentowania dziedziczenia.

Realizacja

W relacji realizacji UML jeden podmiot oznacza pewną odpowiedzialność, która sama nie jest realizowana, a drugi podmiot, który ją wdraża. Zależność ta występuje najczęściej w przypadku interfejsy.

Stowarzyszenie

Jest to relacja strukturalna, która przedstawia, że ​​obiekty mogą być połączone lub skojarzone z innym obiektem wewnątrz systemu. Do relacji skojarzenia można zastosować następujące ograniczenia.

  • {domniemany} – Ukryte ograniczenia określają, że związek nie jest oczywisty; opiera się na koncepcji.
  • {zamówiłem} – Uporządkowane wiązania określają, że zbiór obiektów na jednym końcu skojarzenia jest w określony sposób.
  • {zmienny} – Zmienne ograniczenie określa, że ​​połączenia pomiędzy różnymi obiektami w systemie mogą być dodawane, usuwane i modyfikowane zgodnie z wymaganiami.
  • {dodaj tylko} – Określa, że ​​nowe połączenia można dodawać z obiektu znajdującego się na drugim końcu skojarzenia.
  • {mrożony} – Określa, że ​​po dodaniu połączenia pomiędzy dwoma obiektami nie można go modyfikować, gdy na danym łączu lub połączeniu aktywne jest zamrożone ograniczenie.

Możemy także stworzyć klasę posiadającą właściwości asocjacyjne; nazywa się to klasą asocjacyjną.

Odruchowe skojarzenie

Powiązanie zwrotne jest podtypem relacji powiązania w języku UML. W skojarzeniu zwrotnym instancje tej samej klasy mogą być ze sobą powiązane. Instancję klasy nazywa się także obiektem.

Asocjacja zwrotna stwierdza, że ​​łącze lub połączenie może występować w obiektach tej samej klasy.

Rozważmy przykład owocu klasowego. Klasa Fruit ma dwie instancje, takie jak mango i jabłko. Skojarzenie refleksyjne stwierdza, że ​​może występować związek między mango i jabłkiem, ponieważ są to egzemplarze tej samej klasy, np. owoce.

Stowarzyszenie kierowane

Jak sama nazwa wskazuje, skojarzenie ukierunkowane jest związane z kierunkiem przepływu w klasach skojarzeń.

W skojarzeniu ukierunkowanym przepływ jest kierowany. Powiązania z jednej klasy do drugiej przebiegają tylko w jednym kierunku.

Jest to oznaczone linią ciągłą ze strzałką.

Przykład:

Można powiedzieć, że istnieje ukierunkowane powiązanie pomiędzy serwerem a klientem. Serwer może przetwarzać żądania klienta. Ten przepływ jest jednokierunkowy i przepływa tylko od serwera do klienta. Dlatego też w serwerach i klientach systemu może występować ukierunkowana relacja skojarzenia.

Zależność

Korzystając z relacji zależności w języku UML, można powiązać, w jaki sposób różne elementy w danym systemie są od siebie zależne. Zależność służy do opisu relacji między różnymi elementami w języku UML, które są od siebie zależne.

Stereotypy

  • "wiązać" – Powiązanie to ograniczenie określające, że źródło może zainicjować szablon w lokalizacji docelowej, korzystając z podanych parametrów lub wartości.
  • "czerpać" – Oznacza, że ​​lokalizację obiektu źródłowego można obliczyć na podstawie obiektu docelowego.
  • «przyjaciel» – Określa, że ​​źródło ma unikalną widoczność w obiekcie docelowym.
  • "wystąpienie" – Określa, że ​​instancja klasyfikatora docelowego jest obiektem źródłowym.
  • «instancja» – Określa, że ​​obiekt źródłowy może tworzyć instancje obiektu docelowego.
  • "oczyścić" – Określa, że ​​obiekt źródłowy ma wyjątkową abstrakcję niż obiekt docelowy.
  • "używać" – Jest używany, gdy pakiety są tworzone w języku UML. Stereotyp użycia opisuje, że elementy pakietu źródłowego mogą znajdować się również w pakiecie docelowym. Opisuje, że pakiet źródłowy wykorzystuje pewne elementy pakietu docelowego.
  • "zastąpić" – określa, że ​​klient może zastąpić dostawcę w czasie wykonywania.
  • "dostęp" – Określa, że ​​pakiet źródłowy ma dostęp do elementów pakietu docelowego zwane także łączeniem prywatnym.
  • "Import" – Określa, że ​​cel może importować elementy pakietu źródłowego, tak jak są one zdefiniowane w pliku target, zwany także łączeniem publicznym.
  • "zezwolenie" – określa, że ​​element źródłowy ma dostęp do elementu dostawcy niezależnie od zadeklarowanej widoczności dostawcy.
  • "rozszerzyć" – Pomaga określić, że cel może rozszerzyć zachowanie elementu źródłowego.
  • "włączać" – Umożliwia określenie elementu źródłowego, do którego można uwzględnić zachowanie innego elementu w określonej lokalizacji. (tak samo jak wywołanie funkcji w c/c++)
  • "stać się" – Określa, że ​​cel jest podobny do źródła, ale ma różne wartości i role.
  • "dzwonić" – Określa, że ​​źródło może wywołać metodę obiektu docelowego.
  • "Kopiuj" – Określa, że ​​obiekt docelowy jest niezależną kopią obiektu źródłowego.
  • «parametr» – tzw dostawca jest parametrem operacji klienta.
  • "wysłać" - Klient jest operacją wysyłającą dostawcy nieokreślony cel.

Stereotypy wśród machiny państwowej

  • "wysłać" – Określa, że ​​operacja źródłowa wysyła zdarzenie docelowe.

Uogólnienie

Jest to relacja pomiędzy bytem ogólnym a bytem unikalnym obecnym w systemie.

W relacji uogólnienia koncepcja obiektowa nazywa się dziedzictwo można wdrożyć. Pomiędzy dwoma obiektami, zwanymi także bytami lub rzeczami, istnieje relacja uogólnienia. W relacji uogólnienia jedna jednostka jest rodzicem, a druga mówi się, że jest dzieckiem. Podmioty te można przedstawić za pomocą dziedziczenia.

W przypadku dziedziczenia dziecko dowolnego elementu nadrzędnego może uzyskać dostęp, aktualizować lub dziedziczyć funkcjonalność określoną w obiekcie nadrzędnym. Obiekt podrzędny może dodawać do siebie swoją funkcjonalność, a także dziedziczyć strukturę i zachowanie obiektu nadrzędnego.

Ten typ relacji jest zbiorczo nazywany relacją uogólnienia.

Stereotypy i ich ograniczenia

  • "realizacja" – Ten stereotyp jest używany do przedstawienia, że ​​jednostka podrzędna jest implementowana przez jednostkę nadrzędną poprzez dziedziczenie struktury i zachowania obiektu nadrzędnego bez naruszania zasad.Note Ten stereotyp jest szeroko stosowany w jednym dziedzictwo.

Relacja generalizacji zawiera ograniczenia, takie jak kompletność, niekompletność, aby sprawdzić, czy wszystkie encje podrzędne są uwzględnione w relacji, czy nie.

Realizacja

W relacji realizacji UML jeden podmiot oznacza pewną odpowiedzialność, która sama nie jest realizowana, a drugi podmiot, który ją wdraża. Zależność ta występuje najczęściej w przypadku interfejsy.

Urzeczywistnienie można przedstawić na dwa sposoby:

  • Korzystanie Forma kanoniczna
  • Korzystanie z uchylona forma
Realizacja w UML-u
Realizacja w UML-u

Na powyższym schemacie reguły biznesowe konta realizują interfejs IRuleAgent.

Rodzaje realizacji

  1. Forma kanoniczna W relacji realizacji UML forma kanoniczna służy do realizacji interfejsów w całym systemie. Wykorzystuje stereotyp interfejsu do utworzenia interfejsu, a relacja realizacji służy do realizacji konkretnego interfejsu. W formie kanonicznej zależność realizacji jest oznaczana za pomocą przerywanej linii skierowanej z dużym, otwartym grotem strzałki. Na powyższym schemacie interfejs Iruleagent realizowany jest przy pomocy obiektu o nazwie Account Business Rules.
  2. Usunięta forma Realizacja w Diagram klas UML można również przedstawić za pomocą formy z pominięciem. W formie z pominięciem interfejs jest oznaczony za pomocą okręgu, zwanego również notacją Lollipop. Interfejs ten, zrealizowany przy użyciu czegokolwiek znajdującego się w systemie, tworzy strukturę z pominięciem. Na powyższym schemacie interfejs Iruleagent jest oznaczony przy użyciu formy z pominięciem, która jest realizowana przez plik acctrule.dll.

Kompozycja

Nie jest to standardowa relacja UML, ale nadal jest używana w różnych aplikacjach.

Agregacja złożona jest podtypem relacji agregacji o cechach takich jak:

  • jest to dwukierunkowe powiązanie pomiędzy obiektami.
  • Jest to relacja całość/część.
  • Jeśli kompozyt zostanie usunięty, wszystkie inne powiązane z nim części zostaną usunięte.

Agregacja kompozytowa opisywana jest jako binarna asocjacja ozdobiona wypełnionym czarnym rombem na końcu agregatu (w całości).

Kompozycja w UML-u

Kompozycja w UML-u

Folder to struktura, która zawiera n plików. Folder jest używany do przechowywania plików w nim zawartych. Każdy folder może być powiązany z dowolną liczbą plików. W systemie komputerowym każdy pojedynczy plik jest częścią co najmniej jednego folderu w systemie organizacji plików. Ten sam plik może być również częścią innego folderu, ale nie jest to obowiązkowe. Za każdym razem, gdy plik jest usuwany z folderu, folder pozostaje nienaruszony, podczas gdy dane powiązane z tym konkretnym plikiem są niszczone. Jeśli operacja usuwania jest wykonywana na folderze, to wpływa ona również na wszystkie pliki, które są obecne w folderze. Wszystkie pliki powiązane z folderem są automatycznie niszczone po usunięciu folderu z systemu.

Ten typ relacji w UML jest znany jako złożona relacja agregacji.

Zbiór

An zbiór jest podtypem relacji asocjacyjnej w języku UML. Agregacja i kompozycja to typy relacji asocjacyjnych w UML. Relację agregacji można opisać prostymi słowami jako „obiekt jednej klasy może posiadać obiekty innej klasy lub mieć do nich dostęp”.

W relacji agregacji obiekt zależny pozostaje w zakresie relacji nawet wtedy, gdy obiekt źródłowy zostanie zniszczony.

Rozważmy przykład samochodu i koła. Samochód potrzebuje koła, aby działać prawidłowo, ale koło nie zawsze potrzebuje samochodu. Można go również używać z rowerem, rowerem lub dowolnym innym pojazdem, ale nie konkretnym samochodem. Tutaj obiekt koła ma znaczenie nawet bez obiektu samochodu. Tego typu relację nazywa się relacją agregacji.

Podsumowanie

  • Relacje w UML pozwalają jednej rzeczy powiązać się z innymi rzeczami w systemie.
  • Powiązania, zależności, uogólnienia i relacje realizacji są definiowane przez UML.
  • Relacji kompozycji można również użyć do przedstawienia, że ​​obiekt może być częścią tylko jednego kompozytu na raz.
  • Asocjacja służy do opisania, że ​​jeden obiekt może być powiązany z innym obiektem.
  • Zależność oznacza, że ​​obiekty mogą być od siebie zależne.
  • Realizacja to znacząca relacja pomiędzy klasyfikatorami.
  • Generalizacja nazywana jest także relacją rodzic-dziecko.