Tak jak zapowiedziałem to już w poprzednim odcinku, w tym numerze kontynuujemy temat przypadków użycia.
Mam nadzieję, że od lektury ostatniego
odcinka ćwiczyłeś poznany do tej pory
materiał. Jeśli obawiasz się, że możesz już
czegoś nie pamiętać, powróć jeszcze na chwilkę do
poprzedniej części kursu UML.
Liczebność
Definiując asocjacje w diagramach przypadku
użycia, można określić liczebność. Najlepiej zaprezentować
ideę liczebności przedstawiającą prosty,
przykładowy diagram UML. Spójrz więc na rysunek 1.
Co możemy odczytać z tego rysunku? Jeden
klient może dokonać tylko jednej rejestracji w sklepie
– czyli jeden klient ma jedno konto. Każdy
pojedynczy klient może złożyć dowolną liczbę
zamówień. Każdy pracownik sklepu może złożyć
dowolną liczbę zamówień. Każdy pracownik sklepu
może spakować dowolną liczbę zamówień.
Typy liczebności są analogiczne do tych z którymi
spotkałeś się w przypadku diagramów klas.
Liczebność można określi stałą cyfrą, np. 1, 2, 10
itd. Można określić liczebność jako nieskończoność
– *. Można także określić przedział liczebności, np.:
- 0..3 – od 0 do 3
- 1..5 – od 1 do 5
- 10..100 – od 10 do 100
- 1..* – od 1 do nieskończoności (czyli minimum 1) itp.
Kolejnym sposobem jest złożone określane
liczebności:
- 1, 3, 7..20, 23, 30,
- 1..5, 7, 9 itp.
Nawigacja
Najczęściej w przypadku asocjacji na diagramach
przypadków użycia nie używa się strzałek.
Jeśli jednak chce się zaakcentować stronę inicjującą,
można skorzystać ze strzałki, tak jak pokazano
to na rysunku 2.
Nawigację określamy tylko w uzasadnionych
przypadkach i wówczas, gdy kierunek nawigacji
musi zostać udokumentowany. Najczęściej będziesz
się jednak spotykał z diagramami przypadków
użycia bez zaznaczonych kierunków asocjacji.
Realizacja
Dzięki związkom realizacji możemy definiować
relacje pomiędzy ogólnym opisem funkcji systemu,
a jego wdrożeniem. Dzięki temu uzyskujemy jawne
połączenie z innymi diagramami UML. Przydaje się
to głównie wówczas, gdy do pełnego zrozumienia
diagramów przypadków użycia niezbędne jest
poznanie innych diagramów.
Przyjrzyj się diagramowi z rysunku 3. W elipsach
z przerywanej linii znajdują się tzw. modele
współdziałań. Tutaj znajdują się dwa współdziałania,
z których Zdjęcie produktów z magazynu jest
uszczegółowieniem Przetwarzania zamówienia.
Tworzenie, odczytywanie,
aktualizacja, usuwanie – CRUD
Często przypadki użycia definiują przechowywanie
oraz używanie pewnych danych. Wykonują
wówczas one na tych danych operacje:
- create – tworzenia ich,
- read – odczytywania ich,
- update – aktualizacji,
- delete – usuwania.
Jeśli znasz podstawy relacyjnych baz danych,
powinieneś skojarzyć skrót CRUD. Tworząc przypadki
użycia, nie zawsze warto rozdrabniać je do
maksimum, a więc tworzyć przypadki w rodzaju:
- dodaj klienta,
- usuń klienta,
- modyfikuj dane klienta,
- znajdź klienta.
W przypadku dużych systemów może stać się
to mało czytelne. Należy wówczas zastanowić się
nad zebraniem przypadków CRUD w jeden przypadek,
np. Zarządzaj klientami.
Grupowanie przypadków użycia
Jeśli projektowany system składa się z kilku
podsystemów, dla zwiększenia przejrzystości warto
zgrupować przypadki wchodzące w skład poszczególnych
systemów.
Do grupowania używa się prostokąta, który
u góry pośrodku ma tytuł. Jak to wygląda w praktyce
zilustrowano na rysunku 4.
Pamiętaj że aktorów umieszcza się poza prostokątem
grupującym.
Zakończenie
Poznałeś już diagramy przypadków użycia.
Nie zapominaj trenować pomiędzy kolejnymi
odcinkami kursu UML-a. Już w następnej części
kursu zajmiemy się diagramami czynności.