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.
Spis treści
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.
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.