Diagram przypadków użycia,
tablice decyzyjne,
diagram sekwencji
dr Tomasz Ordysiński
Definicja
Jeden z podstawowych i najczęściej używanych
diagramów w czasie modelowania systemów. Służy
do zobrazowania funkcjonalności jakie posiada
system.
Diagramy przypadków użycia opisują, co robi
system z punktu widzenia zewnętrznego
obserwatora. Eksponują to, co robi system, a nie jak
to robi.
W diagramach przypadków użycia możemy
wyróżnić 3 elementy:
-
przypadek użycia
- aktor
- relacja.
Połączenie ze scenariuszami
Diagramy przypadków użycia pozostają w bliskim
związku ze scenariuszami. Scenariusz to przykład
tego, co się dzieje, kiedy ktoś wchodzi w interakcję z
systemem. Oto scenariusz dla kliniki medycznej:
"Pacjent dzwoni do kliniki, aby umówić się na coroczne
badania. Recepcjonistka znajduje najbliższy wolny termin
w książce przyjęć i wyznacza badanie na tę datę".
Przypadek użycia to podsumowanie scenariuszy
pojedynczego zadania lub celu.
Aktor
Aktor
to ktoś albo coś, co inicjuje zdarzenia związane z tym
zadaniem. Aktor po prostu określa rolę, którą odgrywa
człowiek lub obiekt. Rysunek poniżej przedstawia przypadek
użycia Ustalanie terminu badania w klinice medycznej. Aktor
to Pacjent. Połączenie między aktorem a przypadkiem użycia
to skojarzenie komunikacyjne
(w skrócie komunikacja).
Przykład 1
Aktorzy to schematyczne sylwetki. Przypadki to owale.
Komunikacje to linie łączące aktorów z przypadkami użycia.
Diagram przypadków użycia to zbiór aktorów, przypadków
użycia i ich komunikacji. Umieściliśmy przypadek Ustalanie
terminu badania na diagramie z czterema aktorami i czterema
przypadkami użycia. Zwróć uwagę, że jeden przypadek
użycia może mieć wielu aktorów.
Przykład 2
Wypożyczalnia kaset video
Klient wypożycza i zwraca kasety, prosząc o wykonanie tych
czynności pracownika wypożyczalni. Pracownik wypożyczalni
nalicza karę w przypadku nieterminowego oddania kasety, może też
dodawać nowe i usuwać zniszczone kasety. Klient, korzystając
komputera, może poprzez stronę WWW przeglądać nowości oraz
zarezerwować wybraną przez siebie kasetę.
Diagram przypadków użycia będzie wyglądał następująco:
Przykład 3
Bankomat
Bankomat umożliwia klientowi wypłatę pieniędzy. W tym celu klient
wkłada do bankomatu kartę, określa kwotę, jaką chce wypłacić,
zabiera kartę i zabiera pieniądze. Klient może przez bankomat
sprawdzic środki na rachunku. Raz na jakiś czas bankomat musi
być uzupełniany przez serwisanta w środki finansowe.
Przykład 4
A system boundary rectangle separates the
clinic system from the external actors.
A use case generalization shows that one
use case is simply a special kind of another.
Pay Bill is a parent use case and Bill
Insurance is the child. A child can be
substituted for its parent whenever
necessary. Generalization appears as a line
with a triangular arrow head toward the
parent use case.
Include relationships factor use cases into
additional ones. Includes are especially
helpful when the same use case can be
factored out of two different use cases. Both
Make Appointment and Request
Medication include Check Patient Record
as a subtask. In the diagram, include
notation is a dotted line beginning at base
use case ending with an arrows pointing to
the include use case. The dotted line is
labeled <<include>>.
An extend relationship indicates that one
use case is a variation of another. Extend
notation is a dotted line, labeled <<extend>>,
and with an arrow toward the base case. The
extension point, which determines when the
extended case is appropriate, is written
inside the base case.
Zastosowania
Diagramy przypadków użycia mają trzy zastosowania:
Określanie funkcji (wymagań). Nowe przypadki użycia często
generują nowe wymagania, kiedy system jest analizowany i
projekt przybiera coraz wyraźniejszy kształt.
Komunikacja z klientami. Prostota notacji sprawia, że diagramy
przypadków użycia są dobrym sposobem porozumiewania się
programistów z klientami.
Generowanie przypadków testowych. Zbiór scenariuszy danego
przypadku użycia może zasugerować sposoby testowania tych
scenariuszy.
Tablica decyzyjna
Tablica decyzyjna
jest pewną
strukturą opisu zbioru
związanych ze sobą reguł
decyzyjnych.
Reguła decyzyjna jest to
wyrażenie opisujące zbiór
warunków, które muszą być
spełnione, aby został wykonany
ciąg czynności.
Dla warunków symbole
oznaczają odpowiednio:
N -
konieczność spełnienia
danego warunku,
T -
warunek nie może być
spełniony,
spacja - warunek nieistotny.
Oznaczenia dla czynności:
X -
konieczność wykonania
danej czynności
spacja -
dana czynność może
być zignorowana.
WARUNKI:
Scenariusze N/T
warunek 1
N
N
N
N
N
N
N
N
T
T
T
T
T
T
T
T
T
warunek 2
T
T
T
T
T
T
T
T
N
N
N
N
N
N
N
N
N
warunek 3
N
N
N
N
N
N
N
N
T
warunek 4
T
T
T
T
T
T
T
T
N
warunek 5
N
N
N
N
N
T
T
T
N
N
N
N
N
T
T
T
warunek 6
T
T
T
T
T
N
N
N
T
T
T
T
T
N
N
N
PROCESY:
Co należy wykonać? X – jeżeli należy wykonać proces
proces 1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
proces 2
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
proces 3
X
X
X
X
X
X
X
X
X
X
X
X
proces 4
X
X
X
X
X
X
X
X
X
X
X
X
proces 5
X
X
X
X
X
X
X
X
X
X
X
X
proces 6
X
X
X
X
X
X
X
X
X
X
X
X
proces 7
X
X
X
X
X
X
X
X
X
X
X
X
proces 8
X
X
X
X
X
X
X
X
X
X
X
X
proces 9
X
X
X
X
X
X
proces 10
X
X
X
X
WARUNKI:
mamy wolny termin (zgodny z wymaganiami klienta)
N
N
N
N
N
N
N
N
T
T
T
T
T
T
T
T
T
nie mamy wolnego terminu (zgodnego z oczekiwaniami klienta)
T
T
T
T
T
T
T
T
N
N
N
N
N
N
N
N
N
klient jest skłonny poczekać
N
N
N
N
N
N
N
N
T
klient nie czeka
T
T
T
T
T
T
T
T
N
klient zamawia dodatkowe usługi
N
N
N
N
N
T
T
T
N
N
N
N
N
T
T
T
klient nie jest zainteresowany dodatkowymi usługami
T
T
T
T
T
N
N
N
T
T
T
T
T
N
N
N
klient wpłaca zaliczkę
N
N
N
N
T
N
N
T
N
N
N
N
T
N
N
T
klient nie wpłaca zaliczki
N
T
T
N
T
T
T
T
N
T
T
N
potwierdzenie wykonania usług zewn. w terminie
N
N
T
T
N
N
T
T
zlecenia “Charona” nie zostaną wykonane w terminie
T
T
N
N
T
T
N
N
klient wpłaca resztę zapłaty
N
T
N
T
N
T
N
T
N
T
N
T
klient nie wpłaca reszty zapłaty
T
N
T
N
T
N
T
N
T
N
T
N
PROCESY:
przedstawienie możliwości realizacji
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
uzgodnienie konkretnych warunków zlecenia (kosztorys)
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
pobranie zaliczki
X
X
X
X
X
X
X
X
X
X
X
X
wystawienie upoważnienia do odebrania zwłok
X
X
X
X
X
X
X
X
X
X
X
X
uzupełn. zbioru upoważnień
X
X
X
X
X
X
X
X
X
X
X
X
wystawienie pokwitowania
X
X
X
X
X
X
X
X
X
X
X
X
uzupełn. zbioru zleceń do wykonania (1)
X
X
X
X
X
X
X
X
X
X
X
X
uzupełn. zbioru ewidencji wpłat (1)
X
X
X
X
X
X
X
X
X
X
X
X
zlecenie usług firmom współpracującym
X
X
X
X
X
X
zwrócenie się do innych firm świadczących usługi niezbędne do zreal. zlecenia
X
X
X
X
wypisanie zlecenia dla firmy zewn.
X
X
X
X
X
X
X
X
uzupełnienie zbioru instytucji wykonujących zlecenia dla "Charona" (1)
X
X
X
X
X
X
X
X
podział zadań dla pracowników
X
X
X
X
X
X
X
X
X
X
X
X
transport zwłok do firmy
X
X
X
X
X
X
X
X
X
X
X
X
przygot. zmarłego do pochówku
X
X
X
X
X
X
X
X
X
X
X
X
pogrzeb
X
X
X
X
X
X
X
X
X
X
X
X
potwierdzenie wykonania usługi
X
X
X
X
X
X
X
X
X
X
X
X
uzupełn. zbioru instytucji wykonujących zlecenia dla "Charona" (2)
X
X
X
X
X
X
X
X
Sequence diagram
(Diagram sekwencji)
Diagram sekwencji jest to graficzny sposób prezentacji
scenariusza, który pokazuje interakcje pomiędzy
obiektami w dziedzinie czasu.
Diagramy sekwencji ustalają role obiektów oraz pomagają
dostarczyć istotnych informacji do określenia zakresu
odpowiedzialności klasy oraz wyznaczenia interfejsów.
Diagram sekwencji posiada dwa wymiary:
pionowy – reprezentuje czas
poziomy – pokazuje obiekty
Prośba o składnik
elektroniczny
Ekat:
Katalog
: Składnik
biblioteki
Lib1:
Serwer
sieciowy
: Użytkownik biblioteki
Wyszukaj
Wyświetl
Zamów
Zaakceptuj
warunki
Wyślij warunki
Skompresuj
Dostarcz
Sequence diagram
Zadania
Ćwiczenie 1
Przygotuj diagram przypadków użycia dla systemu
przygotowanego dla obsługi hotelu posiadającego
restaurację, sale konferencyjne oraz organizującego
wesela.
Ćwiczenie 2
Przygotuj prostą tablicę decyzyjną dla sytuacji
przyznania stypendium naukowego studentowi.
Ćwiczenie 3
przygotuj diagram sekwencji dla procesu
tankowania na automatycznej stacji paliw