Model przypadków użycia
Model przypadków użycia
• Graficzną reprezentacją modelu jest diagram
przypadków użycia (use case diagram), którego
podstawowymi elementami są ikony aktorów,
owale reprezentujące przypadki użycia oraz linie
przedstawiające zachodzące między nimi relacje.
Istnienie relacji łączącej aktora z przypadkiem
użycia wskazuje na zaangażowanie tego aktora
w realizację danego przypadku.
uc Use Case View
System ubezpieczeń
Klient
Likw idator
System bankow y
zaw arcie
ubezpieczenia
w ypłata
odszkodow ań
likw idacj a szkody
Diagram przypadków użycia firmy ubezpieczeniowej
Aktora inicjującego wykonanie przypadku użycia można wyróżnić
dodatkową strzałką umieszczoną na końcu linii relacji.
Aktorzy diagramu PU modelują zewnętrzne obiekty
współpracujące z budowanym systemem.
Diagram przypadków użycia
• Diagram przypadków użycia (ang. Use Case
Diagram) jest diagramem, który przedstawia
funkcjonalność systemu wraz z jego otoczeniem
• Diagramy przypadków użycia pozwalają na
graficzne zaprezentowanie własności systemu tak,
jak są one widziane po stronie użytkownika
• Diagramy przypadków użycia służą do
zobrazowania usług, jakie są widoczne z zewnątrz
systemu
Diagramy przypadków użycia
• specyfikują wymagania stawiane systemowi,
• obrazują zachowanie systemu,
• modelują otoczenie systemu,
• nie definiują sposobu implementacji systemu,
• opisują jedynie najważniejsze aspekty
zachowania systemu,
• nie są przesadnie szczegółowe,
• są platformą do komunikacji analityka z klientem.
Diagram przypadków użycia
Kluczowymi elementami są:
• aktorzy (actor)
• przypadki użycia (use case)
• związki (association)
Dodatkowo diagram może zwierać:
• notatki (note)
• ograniczenia (constraints)
• pakiety (packages)
Aktor
• Aktor (ang. actor) jest funkcją, jaką pełni
użytkownik w stosunku do systemu oraz przypadków
użycia.
• Aktor reprezentuje spójny zbiór ról, które są
odgrywane przez użytkowników przypadku użycia w
czasie interakcji z tym przypadkiem.
• Aktorem może być człowiek, urządzenie, inny
system lub czas.
• Aktor nie musi być fizycznym obiektem. Istotne by
pełnił określoną funkcję wobec systemu i przypadku
użycia, którego używa.
Aktor
Aktorzy mogą występować w zależności uogólnienie
(generalization). Potomek dziedziczy całe zachowanie
i znacznie po przodku.
Klient indywidualny i klient instytucjonalny są
szczególnym
rodzajem
klienta.
Przypadek użycia
Przypadek użycia opisuje, co system robi, lecz
nie określa, jak to robi.
Sprawdź
stan konta
Przypadek użycia
Przypadek użycia to opis zbioru akcji
wykonywanych przez system w celu
dostarczenia aktorowi wyniku.
W UML przypadek użycia jest przedstawiony
w postaci elipsy z nazwą po środku.
Sprawdź
stan konta
Klient banku
Przypadek użycia
Elementy żyjące wewnątrz systemu (przypadki
użycia) są odpowiedzialne za wykonanie działań,
których elementy zewnętrzne (aktorzy) oczekują
od systemu.
Nazwa przypadku użycia musi być czynnością.
Przypadek użycia
Budując model należy pamiętać o oddzieleniu
pojęć – tego, co dotyczy pracy systemu, od tego,
co dotyczy jego realizacji.
Informacyjna zawartość DPU jest dość uboga
i nie opisuje wystarczająco dokładnie sposobu
używania systemu przez użytkowników. Dlatego
podstawowym środkiem dokumentowania
modelu jest tekstowy zapis scenariuszy,
opisujących krok po kroku sposób wykonania
wszystkich przypadków użycia.
Związki
Związki w diagramach przypadków użycia:
• powiązania
(tylko między
aktorem a przypadkiem użycia)
• uogólnienia
• zawierania – include
• rozszerzenia - extend
Związki
Związek zawierania stosuje się w celu uniknięcia
wielokrotnego opisywania tego samego ciągu
zdarzeń.
Przyjmij towar... zawsze zawiera
Czytaj kod...
<< include >>
uc Use Case View
przeanalizuj ryzyko
określ w artość
w yceń kontrakt
«include»
«include»
Do relacji zawierania dochodzi wtedy, gdy kilka przypadków użycia ma
wspólną sekwencję podobnych kroków, której nie warto ciągle
kopiować z jednego przypadku do drugiego. Przykładowo „przeanalizuj
ryzyko” i „wyceń kontrakt” wymagają, aby określić wartość kontraktu.
Opisanie określenia wartości kontraktu wymaga sporo pracy, stąd
należy utworzyć oddzielny przypadek użycia „określ wartość
kontraktu” i odwołać się do niego z innych PU.
Zawieranie
Uogólnienie
uc zw iązek uogolnienia
zarej estruj
transakcj e
limit przekroczony
Uogólnienia używa się wówczas, gdy dany przypadek użycia jest podobny do
innego, ale jest nieco obszerniejszy. Jest to jeszcze jeden ze sposobów
uchwycenia scenariuszy alternatywnych. W przykładzie podstawowym PU
jest „zarejestruj transakcję”. Jest to pomyślany przypadek użycia systemu,
w sytuacji gdy wszystko się powiodło. Coś mogło jednak przeszkodzić
pomyślnej rejestracji transakcji, np. przekroczenie limitu, który biuro
maklerskie ustaliło dla konkretnego kontrahenta. W takiej sytuacji nie
wykonuje się typowych kroków związanych z tym PU, lecz alternatywny
przypadek użycia. Specjalistyczny PU może przesłonić dowolną część
podstawowego PU, ale zawsze powinien dotyczyć osiągnięcia tego samego
celu użytkownika co podstawowy PU.
Relacja rozszerzenia
Jest ta relacja podobna do uogólnienia, jednak bardziej formalna.
Rozszerzenie PU może wzbogacić go o dodatkowe zachowania, ale w takiej
sytuacji podstawowy PU musi określić pewne punkty rozszerzenia,
a rozszerzający PU może dodać nowe zachowania tylko w tych punktach.
Przypadek użycia może mieć wiele punktów rozszerzeń, a rozszerzający PU
może rozszerzać podstawowy PU w kilku z tych punktów.
PU pożycz książkę można podzielić na zwykły PU, w którym użytkownik
może pożyczyć książkę, i wyjątkowy PU, w którym użytkownik nie może jej
pożyczyć, ponieważ wypożyczył już maksymalną dopuszczalną liczbę
książek.
uc zw iazek extend
pozycz ksiazke
odmow a pozyczki
«extend»
Związki
Związek rozszerzenia służy do modelowania
fragmentów przypadku użycia postrzeganych
przez użytkownika jako opcjonalne zachowanie
systemu.
Ekspresowa...
opcjonalnie rozszerza Przesyłkę...
<< extend >>
Bazowy PU
Rozszerzający PU
extend
Wykonaj
ćwiczenie
Wysłuchaj
wykładu
extend
Związek rozszerzania (ang. Extend) wskazuje, że dany
przypadek użycia opcjonalnie rozszerza funkcjonalność
bazowego przypadku użycia. Funkcjonalność bazowego
przypadku użycia jest rozszerzana o inny przypadek użycia po
spełnieniu określonego warunku.
Związek rozszerzania
Warunek: {standard
nauczania wymaga ćwiczeń}
Student
Użytkownik
Związek zawierania i rozszerzania
Sprawdź
ocenę
Zobacz zaległości
finansowe
Wyświetl
wszystkie oceny
extend
include
Przykład
od Analysis View
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
•••••••••••••••••••••••••• •••••••••••••••••••••••••• ••••••••••••••••••••••••••
Moduł rezerwacji
rezerw acj a
rezerw acj a
czasopisma
rezerw acj a ksiązki
czytelnik
w yszukanie
pow iadomienie
«include»
«extend»
Uogólnienie
Zawieranie
Rozszerzenie
Diagram przypadków użycia
Dobre rady przy budowaniu diagramu:
• nazwij diagram zgodnie z przeznaczeniem
• tak rozmieść przypadku użycia i aktorów żeby
zminimalizować liczbę przecinających się
związków
• poukładaj przypadki użycia blisko siebie, które
są podobne pojęciowo
• korzystaj z notatek
• nie musisz przedstawiać wszystkich
przypadków użycia na jednym diagramie
Diagram przypadków użycia
• Przypadki użycia służą do modelowania
oczekiwanego zachowania systemu
(bez
zgłębiania sposobu implementacji systemu)
.
• Dobrze zbudowane przypadki użycia
reprezentują jedynie najważniejsze aspekty
zachowania systemu
(nie są przesadnie szczególne
ani zbyt ogólne)
.
Diagram przypadków użycia
Siec telefonii komorkowej
Uzytkownik
Zainicjuj
polaczenie
Zaakceptuj
polaczenie
Uzyj programu
wybierajacego
Zainicjuj
telekonferencje
Zaakceptuj
dodatkowe
polaczenie
<< extend >>
<< extend >>
Telefon komorkowy
Diagram przypadków użycia
uc Use Case View
System maklerski
Kierow nik sali
System księgow y
ustal limity
przeanalizuj ryzyko
w yceń kontrakt
zarej estruj
transakcj e
limit przekroczony
zaktualizuj rachunki
określ w artość
Sprzedaw ca
Makler
«include»
«include»
Niektóre przypadki użycia dla systemu maklerskiego
uc Use Case View
Zarządzaj ący zbiorami
Wypożyczaj ący
System biblioteki
głów nej
w prow adź now y
egzemplarz
dodaj istniej ący
egzemplarz
w yszukaj książkę
rej estruj rezerw acj ę
rej estruj rezerw acj ę
zdalnie
w ypozycz ksiazke
«include»
«include»
«extend»
uc obsługa realizacj i szkoleń
System obsługi szkoleń
Koordynator szkoleń
(from Aktorzy)
Trener
(from Aktorzy)
(from Obsługa realizacji szkoleń)
Rej estruj
Trenera
(from Obsługa realizacji szkoleń)
Przej rzyj moj e
szkolenia
(from Obsługa realizacji szkoleń)
Przypisz zasoby
do szkolenia
(from Obsługa realizacji szkoleń)
Oceń
zrealizow ane
szkolenie
(from Obsługa realizacji szkoleń)
Przypisz Trenera
do szkolenia
Wprow adź
dane
uczestnika
(from Obsługa realizacji szkoleń)
Przej rzyj listę
uczestników
przypisanych do
szkolenia
Prezentuj
informacj ę o
szkoleniu
Prezentuj
informacj e o
szkoleniu
zrealizow anym
Prezentuj
informacj e o
szkoleniu
otw artym
Przypisz
uczestnika do
szkolenia
Abstrakcyjny przypadek
użycia. Nie jest
implementowany w
systemie niemniej
jednak jego istnienie
można zaznaczyć w
modelu
«include»
«extend»
«include»
«extend»
«include»
«include»
«include»
uc Use Case View
System wspierający pracę kancelarii prawniczej
Praw nik
Szef kancelarii
anuluj spraw ę
rej estruj spraw ę
rej estruj rozpraw ę
przydziel praw nika
do spraw y
Podsystem czasu
usuń spraw ę
podaj listę spraw
zakończonych
sukcesem
spraw dź czy
praw nik j est w olny
odsuń praw nika od
spraw y
«extend»
«include»
Ćwiczenie