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:
- 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”.
- 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.