Magazyn T3
newsy, felietony, testy i tutoriale



Newsy

31/10/2008

Kurs UML – część 4 – przypadki użycia po raz drugi

Więcej artykułów autorstwa »
Napisane przez: Marcin Staniszczak
Tagi:
6f-kurs_uml_-_czesc_4_-_przypadki_uzycia_po_raz_drugi.jpg

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.

Może Cię zainteresować:

  1. Kurs UML – część 3 – przypadki użycia
  2. Kurs UML – część 2 – interfejsy
  3. Kurs UML – część 1 – wstęp i diagramy klas


O autorze

Marcin Staniszczak





0 komentarzy


Skomentuj pierwszy!


Zostaw odpowiedź

Twój adres nie zostanie opublikowany. Wymagane pola są oznaczone *

*

Możesz używać tych tagów i atrybutów HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">