Relacje UML z PRZYKŁADEM: Zależność, uogólnienie, realizacja

Spisie treści:

Anonim

Co to jest relacja UML?

Relacje w UML są używane do reprezentowania powiązań między elementami strukturalnymi, behawioralnymi lub grupującymi. Nazywa się to również łączem, które opisuje, 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.

Przyjrzyjmy się im szczegółowo

  • Stowarzyszenie

Jest to zbiór linków łączących elementy modelu UML. Określa również, 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 relacji, jeśli dokonamy zmiany w jakimś elemencie, prawdopodobnie będzie to miało wpływ na wszystkie inne elementy.

  • Uogólnienie

Nazywa się to również relacją rodzic-dziecko. W uogólnieniu jeden element jest specjalizacją innego składnika ogólnego. Może go zastąpić. Jest najczęściej używany do reprezentowania dziedziczenia.

  • Realizacja

W relacji realizacji UML jeden podmiot oznacza pewną odpowiedzialność, która nie jest realizowana samodzielnie, a drugi podmiot, który je realizuje. Ta zależność występuje głównie w przypadku interfejsów.

Z tego samouczka UML dowiesz się:

  • Stowarzyszenie
  • Zależność
  • Uogólnienie
  • Realizacja
  • Kompozycja
  • Zbiór

Stowarzyszenie

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

  • {implicit} - niejawne ograniczenia określają, że relacja nie jest manifestowana; opiera się na koncepcji.
  • {uporządkowane} - uporządkowane ograniczenia określają, że zbiór obiektów na jednym końcu asocjacji jest w określony sposób.
  • {zmienny} - zmienne ograniczenie określa, że ​​połączenie między różnymi obiektami w systemie może być dodawane, usuwane i modyfikowane zgodnie z wymaganiami.
  • {addOnly} - Określa, że ​​nowe połączenia mogą być dodawane z obiektu, który znajduje się na drugim końcu skojarzenia.
  • {frozen} - określa, że ​​gdy łącze jest dodawane między dwoma obiektami, nie można go modyfikować, gdy zamrożone ograniczenie jest aktywne dla danego łącza lub połączenia.

Możemy również stworzyć klasę, która ma właściwości asocjacyjne; nazywana jest klasą asocjacyjną.

Odruchowe skojarzenie

Asocjacja zwrotna jest podtypem relacji asocjacyjnej w języku UML. W skojarzeniu zwrotnym instancje tej samej klasy mogą być ze sobą powiązane. O wystąpieniu klasy mówi się również, że jest obiektem.

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

Rozważmy przykład owocu klasy. Klasa owoców ma dwa przypadki, takie jak mango i jabłko. Skojarzenie zwrotne stwierdza, że ​​może istnieć związek między mango i jabłkiem, ponieważ są one instancjami tej samej klasy, takimi jak owoce.

Stowarzyszenie kierowane

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

W powiązaniu ukierunkowanym przepływ jest ukierunkowany. Skojarzenie z jednej klasy do drugiej przepływa tylko w jednym kierunku.

Jest oznaczony linią ciągłą ze strzałką.

Przykład:

Można powiedzieć, że istnieje bezpośredni związek między serwerem a klientem. Serwer może przetwarzać żądania klienta. Ten przepływ jest jednokierunkowy, przepływa tylko od serwera do klienta. Stąd skierowana relacja skojarzenia może występować w serwerach i klientach systemu.

Zależność

Używając relacji zależności w UML, można określić, jak różne rzeczy w danym systemie są od siebie zależne. Zależność służy do opisywania relacji między różnymi elementami w UML, które są od siebie zależne.

Stereotypy

  • Bind” - Powiązanie jest ograniczeniem, które określa, że ​​źródło może zainicjować szablon w docelowej lokalizacji, używając podanych parametrów lub wartości.
  • «Derive» - oznacza, że ​​położenie obiektu źródłowego można obliczyć na podstawie obiektu docelowego.
  • «Przyjaciel» - określa, że ​​źródło ma unikalną widoczność w obiekcie docelowym.
  • «InstanceOf» - Określa, że ​​instancja klasyfikatora docelowego jest obiektem źródłowym.
  • «Instantiate» - określa, że ​​obiekt źródłowy może tworzyć instancje obiektu docelowego.
  • «Refine» - określa, że ​​obiekt źródłowy ma wyjątkową abstrakcję niż obiekt docelowy.
  • «Use» - Jest używany, gdy pakiety są tworzone w 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 niektóre elementy pakietu docelowego.
  • «Substitute» - określa, że ​​klient może zostać zastąpiony dostawcą w czasie wykonywania.
  • «Access» - Określa, że ​​pakiet źródłowy ma dostęp do elementów pakietu docelowego, co jest również nazywane łączeniem prywatnym.
  • «Import» - Określa, że ​​cel może importować element pakietu źródłowego, tak jak są one zdefiniowane wewnątrz celu, co jest również nazywane łączeniem publicznym.
  • «Zezwolenie» - określa, że ​​element źródłowy ma dostęp do elementu dostawcy niezależnie od deklarowanej widoczności dostawcy.
  • «Rozszerz» - Pomaga określić, że cel może rozszerzyć zachowanie elementu źródłowego.
  • «Include» - umożliwia określenie elementu źródłowego, który może zawierać zachowanie innego elementu w określonej lokalizacji. (tak samo jak wywołanie funkcji w c / c ++)
  • «Get» - określa, że ​​cel jest podobny do źródła z różnymi wartościami i rolami.
  • «Call» - Określa, że ​​źródło może wywołać metodę obiektu docelowego.
  • «Copy» - Określa, że ​​obiekt docelowy jest niezależną kopią obiektu źródłowego.
  • «Parametr» - dostawca jest parametrem operacji klienta .
  • «Wyślij» - klient jest operacją, która wysyła dostawcy jakiś nieokreślony cel.

Stereotypy wśród machiny państwowej

  • «Send» - określa, że ​​operacja źródłowa wysyła zdarzenie docelowe.

Uogólnienie

Jest to relacja między bytem ogólnym a bytem unikalnym, który jest obecny w systemie.

W relacji uogólnienia można zaimplementować koncepcję obiektową zwaną dziedziczeniem . Relacja uogólnienia istnieje między dwoma obiektami, zwanymi także bytami lub rzeczami. W relacji uogólnienia jeden byt jest rodzicem, a inny jest dzieckiem. Te jednostki mogą być reprezentowane przy użyciu dziedziczenia.

Dziedziczenie, dziecko dowolnego elementu nadrzędnego może uzyskiwać dostęp, aktualizować lub dziedziczyć funkcje określone w obiekcie nadrzędnym. Obiekt potomny może dodać swoją funkcjonalność do siebie, a także odziedziczyć strukturę i zachowanie obiektu nadrzędnego.

Ten typ relacji znany jest jako związek uogólnienia.

Stereotypy i ich ograniczenia

  • «Implementacja» - ten stereotyp służy do reprezentowania, że ​​jednostka podrzędna jest implementowana przez jednostkę nadrzędną poprzez dziedziczenie struktury i zachowania obiektu nadrzędnego bez naruszania reguł. Uwaga Ten stereotyp jest szeroko stosowany w przypadku pojedynczego dziedziczenia .

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

Realizacja

W relacji realizacji UML jeden podmiot oznacza pewną odpowiedzialność, która nie jest realizowana samodzielnie, a drugi podmiot, który je realizuje. Ta zależność występuje głównie w przypadku interfejsów.

Realizację można przedstawić na dwa sposoby:

  • Korzystanie z formy kanonicznej
  • Korzystanie z formularza elided

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

Rodzaje realizacji:

  1. Forma kanoniczna

    W relacji realizacji UML forma kanoniczna jest używana do realizacji interfejsów w całym systemie. Używa stereotypu interfejsu do tworzenia interfejsu, a relacja realizacji służy do realizacji określonego interfejsu.

    W formie kanonicznej relacja realizacji jest oznaczona przerywaną linią skierowaną z dużym, otwartym grotem.

    Na powyższym schemacie interfejs Iruleagent jest zrealizowany przy użyciu obiektu o nazwie „Account Business Rules”.

  2. Forma elided

    Realizację w diagramie klas UML można również przedstawić za pomocą formularza elided. W formie elipsy interfejs jest oznaczony za pomocą okręgu, który jest również nazywany notacją w postaci lizaka.

    Interfejs ten, zrealizowany przy użyciu czegokolwiek obecnego w systemie, tworzy elitarną strukturę.

    Na powyższym diagramie interfejs Iruleagent jest oznaczony za pomocą elided formularz, który jest realizowany przez 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 dwukierunkowa asocjacja między obiektami.
  • Jest to relacja całość / część.
  • Jeśli kompozyt zostanie usunięty, wszystkie inne skojarzone z nim części zostaną usunięte.

Agregacja złożona jest opisywana jako asocjacja binarna ozdobiona wypełnionym czarnym diamentem na końcu agregatu (całego).

Folder to struktura zawierająca n plików. Folder służy do przechowywania znajdujących się w nim plików. Każdy folder może być powiązany z dowolną liczbą plików. W systemie komputerowym każdy 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, a dane związane z tym konkretnym plikiem są niszczone. Jeśli operacja usuwania jest wykonywana na folderze, ma to wpływ również na wszystkie pliki znajdujące się w folderze. Wszystkie pliki skojarzone 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

Agregacja jest podtypem relacji asocjacyjnej w języku UML. Agregacja i kompozycja to typy relacji skojarzeń w UML. Związek 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 jeśli obiekt źródłowy zostanie zniszczony.

Rozważmy przykład samochodu i koła. Samochód potrzebuje koła do prawidłowego funkcjonowania, ale koło nie zawsze potrzebuje samochodu. Może być również używany z rowerem, rowerem lub innymi pojazdami, ale nie z konkretnym samochodem. Tutaj obiekt koła ma znaczenie nawet bez obiektu samochodu. Taki typ relacji nazywany jest relacją agregacji.

Podsumowanie

  • Relacje w UML pozwalają jednej rzeczy odnosić się do innych rzeczy w systemie.
  • Powiązania, zależności, uogólnienia i relacje realizacji są definiowane przez UML.
  • Relacja kompozycji może być również używana do reprezentowania tego obiektu, który może być jednocześnie częścią tylko jednego kompozytu.
  • Skojarzenie jest używane do opisania, że ​​jeden obiekt może być powiązany z innym obiektem.
  • Zależność oznacza, że ​​obiekty mogą być od siebie zależne.
  • Uświadomienie sobie to znacząca relacja między klasyfikatorami.
  • Uogólnienie jest również nazywane relacją rodzic-dziecko.