Jednym z głównych elementów wykorzystywanych w notacji UML jest diagram przypadków użycia (Use Cases). Diagram ten opisuje funkcjonalność systemu przydzieloną aktorowi (użytkownikowi systemu) w celu osiągnięcia zadeklarowanych celów. Przypadki użycia nie są ścisłym odwzorowaniem podejścia obiektowego, ale pozwalają przygotować graf demonstracji możliwych przypadków w systemie. Graf ten przedstawia interakcje w jakie może wejść użytkownik z systemem.

Relacje (Relationship)

Przypadki użycia (oraz aktorzy) powiązane są ze sobą relacjami (związkami) określanymi w czterech kategoriach.

Powiązanie (Association)

[relacja silna] – jest zestawem linków, które łączą elementy modelu UML. Definiują w ten sposób wzajemne powiązanie wskazanych obiektów.

W ramach powiązania możemy wyróżnić dodatkowe funkcjonalności takie jak:

Asocjacja

Zawiera informacje o powiązaniu wzajemnym klas uczestniczących w asocjacji.

Agregacja

Instancje jednej klasy (oznaczone rombem) grupują instancje drugiej klasy np. Przedsiębiorstwo agreguje swój Dział.

Kompozycja

Instancje jednej klasy (oznaczone czarnym rombem) składają się z instancji drugiej klasy.

Zależność (Dependency)

[relacja słaba] – jest powiązaniem wskazującym na istnienie wzajemnej zależności elementów np. użycie samochodu zależy od kierowcy, który nim pokieruje. Zależności mogą być stereotypowane wskazując kierunek <<include>>, <<exclude>>. Zależność jest związkiem pomiędzy dwoma elementami modelu gdzie zmiana w jednym elemencie (niezależnym, tu: kierowca) ma wpływ na drugi element (zależny, tu: samochód).

<<include>>

Związek między przypadkiem zawierającym i
zawieranym, gdzie przypadek zawierany jest wykonywany zawsze gdy wykonywany jest przypadek zawierający – i
tylko wtedy. Jest przydatna gdy kilka przypadków użycia zawiera tę sama wspólną część. Strzałka skierowana jest od przypadku zawierającego do zawieranego.

<<extend>>

Zależność między przypadkiem podstawowym i przypadkiem który opcjonalnie może wprowadzić dodatkową funkcjonalność do przypadku podstawowego. Jest przydatna gdy przypadek może, w pewnych warunkach, być uzależniony od innych przypadków. Strzałka wskazuje od rozszerzenia do przypadku podstawowego.

Uogólnienie (Generalization)

[relacja silna] – jest rozumiane także jako związek podklasa-nadklasa lub potomek-przodek, czyli jako relacja pomiędzy klasą ogólną, a szczegółową np. okienko dialogowe zapisu jest podklasą okna systemowego.

Realizacja (Realization)

[relacja słaba] – określa funkcjonalność skierowaną na wykonanie czynności zleconej w wyniku interakcji systemu.

Związki strukturalne

Relacje w powiązaniu z klasami dookreślają wzajemne związki strukturalne wykazując powiązania, ich zależności i liczebności.

Związki strukturalne

Zadanie 1:

Rozrysuj system biblioteki w diagramie przypadków użycia, określ wzajemne związki. Określ aktorów i ich wzajemne powiązania.

Zadanie 2:

Rozrysuj system spedytora typu DHL w diagramie przypadków użycia , określ wzajemne związki . Określ aktorów i ich wzajemne powiązania.