W dziedzinie projektowania i modelowania oprogramowania Unified Modeling Language (UML) pełni ważną rolę jako narzędzie do wizualizacji i dokumentowania struktury i zachowania systemów. Jednym z kluczowych pojęć w UML jestwielokrotność, która określa ograniczenia dotyczące liczby obiektów, które mogą uczestniczyć w związku. Niniejszy artykuł omawia pojęcie wielokrotności, jej znaczenie oraz sposób jej stosowania w diagramach UML.
Co to jest wielokrotność?
Wielokrotność w UML to ograniczenie określające liczbę obiektów, które mogą uczestniczyć w jednym końcu związku. Odpowiada na pytania takie jak „Ile samochodów może posiadać osoba?” lub „Ile osób może prowadzić dany samochód?” Definiując wielokrotność, ustalasz zasady, jak obiekty w każdej klasie mogą być ze sobą powiązane, oferując jasny i zwięzły sposób wyrażania tych relacji.
Wyrażanie wielokrotności
Wielokrotność zwykle wyraża się jako zakres określający minimalną i maksymalną liczbę obiektów dozwolonych w związku. Format wyrażania wielokrotności to:
- Dokładna liczba: Jedna liczba wskazująca dokładną liczbę obiektów.
- Zakres: Para liczb oddzielonych dwoma kropkami (..), wskazująca liczbę minimalną i maksymalną.
- Gwiazdka (*): Wskazuje na nieograniczoną liczbę obiektów.
Na przykład:
1: Dokładnie jeden obiekt.0..1: Zero lub jeden obiekt.1..*: Przynajmniej jeden obiekt, bez ograniczenia górnego.*: Dowolna liczba obiektów, w tym zero.

Stosowanie wielokrotności w związku
Podczas modelowania relacji między klasami, wielokrotność przypisuje się do każdego końca związku. Na przykład rozważmy relację między klasąOsoba a klasąSamochód klasą:
- Pytanie 1: Ile samochodów może posiadać osoba?
- Pytanie 2: Ilu ludzi może prowadzić dany samochód?
Odpowiedzi na te pytania umieszcza się obok odpowiednich klas w związku. Jeśli osoba może posiadać od zera do wielu samochodów, wielokrotność obok klasySamochód będzie0..*. Z kolei, jeśli samochód może być prowadzony przez jednego do wielu osób, wielokrotność obok klasyOsoba będzie1..*.
Przykład: Wysyłka i Produkt
Aby to ilustrować, rozważ sytuację, w którejWysyłka musi zawierać co najmniej jedenProdukt ale może zawierać tyle produktów, ile potrzeba. Wielokrotność dlaProdukt końca związku będzie1..*, co oznacza, że wysyłka musi zawierać co najmniej jeden produkt, ale może zawierać wiele.
Notacja i symbole
W diagramach UML wielokrotność oznacza się za pomocą określonych oznaczeń:
- Gwiazdka (*): Oznacza nieograniczoną liczbę obiektów.
- Zakres (
min..max): Określa minimalną i maksymalną liczbę obiektów. - Dokładna liczba: Wskazuje dokładną liczbę obiektów.
Te oznaczenia pomagają jasno określić ograniczenia i zasady regulujące relacje między klasami.
Przykład 1: Osoba i samochód
W tym przykładzie biblioteka Osoba może posiadać od zera do wielu samochodów, a samochód może być prowadzony przez jedną do wielu osób.

Przykład 2: Przesyłka i produkt
W tym przykładzie biblioteka Przesyłka musi zawierać co najmniej jeden produkt ale może zawierać tyle produktów, ile potrzeba.

Przykład 3: Biblioteka i książka
W tym przykładzie biblioteka bibliotece może mieć wiele książek, a książka może się znajdować w jednej bibliotece.

Przykład 4: Nauczyciel i uczeń
W tym przykładzie nauczyciela może nauczać wieluuczniów, a uczeń może być nauczany przez jednegonauczyciela.

Przykład 5: Zamówienie i pozycja
W tym przykładzie zamówieniemoże zawierać jedną lub więcejpozycji, a pozycjamoże być częścią zera lub więcejzamówień.

Przykład 6: Firma i pracownik
W tym przykładzie firmymoże mieć wielupracowników, a pracownikpracuje dla jednejfirmy.

Te przykłady ilustrują, jak wielokrotność jest używana do definiowania liczby obiektów uczestniczących w związku, zapewniając jasny i zwięzły sposób wyrażania relacji międzyklasami w UML diagramami.
Wnioski
Wielokrotność to podstawowy koncept w UML, który zapewnia zorganizowany sposób definiowania liczby obiektów uczestniczących w związku. Określając wielokrotność, projektanci mogą zapewnić, że relacje między klasami są dobrze zdefiniowane i zrozumiałe, co prowadzi do bardziej wytrzymały i utrzymywalny projekt systemu. Niezależnie od tego, czy modelujesz proste związki, czy złożone relacje, zrozumienie i stosowanie wielokrotności jest kluczowe dla skutecznego modelowania UML.
Zasoby
- Rysowanie diagramu relacji encji w Visual Paradigm
- Visual Paradigm. (n.d.). Rysowanie diagramu relacji encji w Visual Paradigm 4.
- Diagram relacji encji – wielokrotności
- Stack Overflow. (n.d.). Diagram relacji encji – wielokrotności 5.
- Diagramy relacji encji
- GitHub. (n.d.). Diagramy relacji encji 6.
- Określ wielokrotność na kształcie UML
- Wsparcie Microsoft. (n.d.). Określ wielokrotność na kształcie UML 7.
- Co to jest diagram relacji encji (ERD)?
- Visual Paradigm. (n.d.). Co to jest diagram relacji encji (ERD)? 8.
- Visual Paradigm schemat relacji encji dodawanie tabel
- Stack Overflow. (brak daty). Visual Paradigm schemat relacji encji dodawanie tabel 9.
- Jak dodajesz wielokrotność do diagramu klas w Visual Paradigm?
- TheNewsIndependent. (2020, 29 grudnia). Jak dodajesz wielokrotność do diagramu klas w Visual Paradigm? 10.
- Podręcznik dla początkujących: Diagramy relacji encji (ER)
- Blog Visual Paradigm. (2023, 21 września). Podręcznik dla początkujących: Diagramy relacji encji (ER) 11.
- Wielokrotność w porównaniu z licznością
- Stack Overflow. (brak daty). Wielokrotność w porównaniu z licznością 12.