W diagramach UML relacje służą do łączenia kilku rzeczy. Jest to połączenie pomiędzy rzeczami strukturalnymi, behawioralnymi lub grupującymi. Poniżej znajdują się standardowe relacje UML:
- Stowarzyszenie
- Zależność
- Uogólnienie
- Realizacja
Stowarzyszenie
Relacja asocjacyjna to relacja strukturalna, w której różne obiekty są powiązane w systemie. Wykazuje binarną relację pomiędzy obiektami reprezentującymi czynność. Przedstawia relację między obiektami, np. nauczycielem, może być powiązany z wieloma nauczycielami.
git dodaj --all
Jest reprezentowany przez linię między klasami, po której następuje strzałka wskazująca kierunek, a gdy strzałka znajduje się po obu stronach, nazywa się to powiązaniem dwukierunkowym. Wielość skojarzeń możemy określić dodając ozdoby w wierszu, który będzie oznaczał skojarzenie.
Przykład:
1) Jeden nauczyciel ma wielu uczniów.
2) Jeden uczeń może współpracować z wieloma nauczycielami.
Skład i agregacja to dwa podzbiory asocjacji. W obu przypadkach przedmiot jednej klasy jest własnością przedmiotu innej klasy; jedyna różnica polega na tym, że w składzie dziecko nie istnieje niezależnie od rodzica, podczas gdy w agregacji dziecko nie jest zależne od rodzica, tj. jest samodzielne. Agregacja jest specjalną formą skojarzenia, a kompozycja jest specjalną formą agregacji.
Zbiór
Agregacja jest podzbiorem skojarzeń, jest zbiorem różnych rzeczy. Reprezentuje związek. Jest to bardziej szczegółowe niż stowarzyszenie. Opisuje relację część-całość lub część--. Jest to skojarzenie binarne, tj. obejmuje tylko dwie klasy. Jest to rodzaj relacji, w której dziecko jest niezależne od rodzica.
Na przykład:
czym jest struktura w strukturze danych
Rozważamy tutaj przykład samochodu i koła. Samochód nie może poruszać się bez koła. Koła można jednak używać niezależnie z rowerem, hulajnogą, rowerem lub jakimkolwiek innym pojazdem. Obiekt koło może istnieć bez obiektu samochód, co okazuje się relacją agregacji.
Kompozycja
Kompozycja jest częścią agregacji i przedstawia relację całość-część. Obrazuje zależność pomiędzy kompozytem (rodzicem) i jego częściami (dziećmi), co oznacza, że jeśli kompozyt zostanie wyrzucony, jego części również zostaną usunięte. Istnieje pomiędzy podobnymi obiektami.
Jak widać na przykładzie podanym poniżej, relacja skojarzenia kompozycji łączy klasę Person z klasą Brain, Heart i Legs. Jeśli dana osoba zostanie zniszczona, mózg, serce i nogi również zostaną wyrzucone.
Stowarzyszenie a agregacja a kompozycja
Stowarzyszenie | Zbiór | Kompozycja |
---|---|---|
Relacja asocjacyjna jest reprezentowana za pomocą strzałki. | Relację agregacji reprezentuje linia prosta z pustym rombem na jednym końcu. | Zależność kompozycji jest reprezentowana przez linię prostą z czarnym rombem na jednym końcu. |
W UML może istnieć pomiędzy dwiema lub większą liczbą klas. | Jest to część relacji stowarzyszeniowej. | Jest częścią relacji agregacji. |
Zawiera powiązania jeden do jednego, jeden do wielu, wiele do jednego i wiele do wielu pomiędzy klasami. | Wykazuje rodzaj słabej zależności. | Wykazuje silny typ relacji. |
Może skojarzyć ze sobą jeszcze jeden obiekt. | W relacji agregacji powiązane obiekty istnieją niezależnie w zakresie systemu. | W relacji kompozycji powiązane obiekty nie mogą istnieć niezależnie w zakresie systemu. |
W tym przypadku obiekty są ze sobą powiązane. | W tym przypadku połączone obiekty są od siebie niezależne. | Tutaj połączone obiekty są od siebie zależne. |
Jeśli jeden element zostanie usunięty, może to mieć wpływ na inny powiązany element lub nie. | Usunięcie jednego elementu w relacji agregacji nie ma wpływu na inne powiązane elementy. | Wpływa na drugi element, jeśli jeden z powiązanych z nim elementów zostanie usunięty. |
Przykład: Nauczyciel może powiązać się z wieloma uczniami lub jeden uczeń może powiązać się z wieloma nauczycielami. | Przykład: Samochód potrzebuje koła do prawidłowego funkcjonowania, ale może nie potrzebować tego samego koła. Może działać również z innym kołem. | Przykład: Jeśli plik zostanie umieszczony w folderze, który zostanie usunięty. Plik znajdujący się w tym folderze również zostanie usunięty w momencie usunięcia folderu. |