Projektowanie SI
folia: 1
Przypadki użycia
(use cases)
Literatura
Spis treści
• Booch G., Rumbaugh J., Jacobsen I.: UML –
Przewodnik użytkownika. WNT, 2001
• Szejko St. (red). Metody wytwarzania
oprogramowania. Mikom 2002.
• Wrycza St, Marcinkowski B., Wyrzykowski K.:
Język UML 2.0 w modelowaniu systemów
informatycznych. Helion, 2006
,
• Modelowanie za pomocą
przypadków użycia; pojęcia
• Reprezentacja przypadków użycia
• Związki między przypadkami
użycia
• Przykłady
Projektowanie SI
folia: 2
Podstawowe motywacje
• Potrzeba przejrzystego wyrażenia
(zamodelowania) funkcjonalności systemu
• Powiązanie funkcjonalności z punktami
widzenia użytkowników systemu
• Wypowiedzenia, jak winna przebiegać realizacja
tych funkcjonalności
• Dokonanie systematyzacji opisu
W oderw
aniu od
impleme
ntacji
Projektowanie SI
folia: 3
Modelowanie za pomocą przypadków
użycia
Kasjer
Klient
Tankowanie
Płacenie
Dystrybutor
Diagram przypadków użycia dla samoobsługowej stacji benzynowej
[Metody wytwarzania oprogramowania, MIKOM 2002]
Projektowanie SI
folia: 4
Modelowanie funkcji – przypadki użycia
Recepcjonista
Gość
Zameldowanie
Wymeldowanie
Sprzątnięcie
pokoju
Pokojowa
Przypadki użycia:
• ilustrują zbiór sytuacji
korzystania
z systemu
• określają aktorów
i ich interakcje
z systemem
• definiują granice
systemu
Model przypadków użycia można stale rozbudowywać poprzez dodawanie
nowych aktorów, nowych przypadków użycia i nowych powiązań.
Projektowanie SI
folia: 5
Przypadki użycia - pojęcia
• Model przypadków użycia
- system widziany jest jako „czarna
skrzynka”, zapewniająca pewną funkcjonalność
• Przypadek użycia
-
ciąg interakcji pomiędzy aktorem
a systemem, dostarczający aktorowi pożądanych wyników
• Aktor -
abstrakcyjny użytkownik systemu, reprezentujący grupę
rzeczywistych użytkowników o podobnych funkcjach i sposobie
komunikacji z systemem; najczęściej aktor jest sprawcą
zdarzenia powodującego uruchomienie przypadku użycia
Przypadek użycia
Projektowanie SI
folia: 6
Modelowanie przypadków użycia -
aktorzy
• Identyfikacja aktorów
– kto używa systemu
– kto będzie potrzebował funkcji
systemu
– kto będzie system pielęgnował
– jakie urządzenia system
obsługuje
– z jakimi innymi systemami
wymagana jest interakcja
– kto lub co jest zaintersowane
wynikami pracy systemu
• Główni aktorzy
– używają podstawowych
funkcji systemu
• Aktorzy drugorzędni
– używają głównie funkcji do realizacji
zadań administrowania
i pielęgnacji systemu
• Aktor aktywny
– inicjuje przypadek użycia
• Aktor pasywny
– nie inicjuje przypadku użycia,
lecz tylko w nim uczestniczy
• Związki pomiędzy aktorami
Aktor
Projektowanie SI
folia: 7
Identyfikacja przypadków użycia
• Dla każdego aktora odpowiedz na pytania:
– jakiej funkcji aktor wymaga od systemu?
– czy aktor musi pamiętać, tworzyć, usuwać, modyfikować informacje
w systemie?
– czy aktor ma być powiadamiany o zdarzeniach w systemie i na odwrót?
– czy codzienna praca aktora może być ułatwiona i bardziej efektywna przez nowe
funkcje systemu?
• Rozważ jakie są wejścia i wyjścia systemu
• Staraj się powiązać w jeden przypadek użycia zespół funkcji wspólnie
realizujących ten sam cel
• Opisz przypadki użycia w języku naturalnym
• Uporządkuj i zobrazuj aktorów i przypadki użycia w postaci diagramu
• Przeanalizuj powiązania aktorów i przypadków użycia
Projektowanie SI
folia: 8
Przykład: Hotel -
opis problemu
System hotelowy
Hotel Hilton przyjmuje gości. Recepcjonista rejestruje
i wymeldowuje gości oraz pobiera opłaty.
W hotelu jest wiele pokoi, sprzątają je sprzątaczki.
Pokój może być wynajęty bezpośrednio przy przyjeździe gościa,
jeżeli istnieją wolne pokoje.
Gość płaci recepcjoniście przed wymeldowaniem.
Pokój może być sprzątany po zwolnieniu. Pokój musi być
sprzątnięty przed jego wynajęciem.
Projektowanie SI
folia: 9
Diagram przypadków użycia
Recepcjonista
Gość
Zameldowanie
Wymeldowanie
Sprzątnięcie
pokoju
Pokojowa
Projektowanie SI
folia: 10
Opis tekstowy przypadku użycia
• Przypadek użycia: Zameldowanie (Check_in)
S1: Aktor gość wchodzi do hotelu.
S2: System sprawdza czy gość zarezerwował pokój.
S3: Jeśli “Tak” wtedy przejdź S4. Jeśli “Nie”, system sprawdza czy są wolne
pokoje. Jesli “Tak”, pokój jest rezerwowany dla gościa i następuje przejście do
S4. Jeśli “Nie”, przypadek jest zakończony w komunikatem : “Brak miejsc”.
S4: Pokój jest przydzielony gościowi. Komunikat “Podaj Klucze” jest wysyłany
do recepcjonisty. Gość otrzymuje Kartę Gościa.
• Przypadek użycia: Wymeldowanie (Check_out)
S1: Aktor gość przybywa do recepcji z zamiarem opuszczenia hotelu.
S2: System oblicza rachunek. Gość płaci. System wysyła komunikat do
sprzątaczki, aby sprzątnęła zwalniany pokój. Komunikat “Pobierz Klucze” jest
wysyłany do recepcjonisty. Gość zwraca klucze i Kartę Gościa.
Projektowanie SI
folia: 11
Co modelujemy?
Model biznesowy a model systemu
informatycznego
Projektowanie SI
folia: 12
Diagram przypadków użycia
systemu
informatycznego
Recepcjonista
Gość
Zameldowanie
Wymeldowanie
Sprzątnięcie
pokoju
Pokojowa
Projektowanie SI
folia: 13
Diagram przypadków użycia
biznesowy
Recepcjonista
Gość
Zameldowanie
Wymeldowanie
Sprzątnięcie
pokoju
Pokojowa
Projektowanie SI
folia: 14
Diagram przypadków użycia uwzględniający
Placenie przy wymeldowaniu
Recepcjonista
Gość
Zameldowanie
Wymeldowanie
Sprzątnięcie
pokoju
Pokojowa
Płacenie
Projektowanie SI
folia: 15
Związki między przypadkami użycia
• include (uses, zawiera)
– Wskazuje na wspólny fragment przypadków użycia
(wspólne zachowanie, „procedura”)
<<include>>
Dokonaj przeglądu
samochodu
Rejestruj
samochód
Właściciel
Projektowanie SI
folia: 16
Związki między przypadkami użycia
• extend (extends, rozszerza)
– Przypadek użycia A rozszerza przypadek użycia B
o opcjonalną funkcjonalność
Dokonaj przeglądu
samochodu
Rejestruj
samochód
Odbierz nowy
dowód rej.
<<extend>>
Właściciel
<<include>>
Projektowanie SI
folia: 17
Związki między przypadkami użycia
• Dziedziczenie (uszczegółowienie)
– Przypadek potomek dziedziczy całe zachowanie i znaczenie przypadku
przodka. Potomek może dodać do przodka nowe elementy lub zmienić
przypisane zachowanie.
Dokonaj przeglądu
samochodu
Rejestruj
samochód
Odbierz nowy
Dowód rej.
Zrób przegląd
układu hamulcowego
Dokonaj przeglądu
skorodowania
<<extend>>
Właściciel
Drugi
właściciel
<<include>>
Projektowanie SI
folia: 18
Opis (specyfikacja) przypadków użycia
• Tekst nieformalny
• Aktorzy – opis, specyfikacja
• Diagram przypadków użycia
• Opis ustrukturalizowany
• Opis realizacji na diagramach interakcji
i/lub diagramach czynności
Cechy opisu
:
• Powinien opisywać użyteczną funkcjonalność systemu
• Powinien określać jak i kiedy przypadek się zaczyna i kończy
• Powinien zawierać opis interakcji przypadku użycia z aktorami
(przepływ zdarzeń, uczestniczące obiekty)
• Powinien składać się z przebiegu podstawowego oraz
przebiegów alternatywnych (wyjątkowych)
• Powinien opisywać związki pomiędzy przypadkami użycia
Projektowanie SI
folia: 19
Uzytkownik
Zgloszenie na
kurs
Zgloszenie
propozycji kursu
Przyjmowanie od
uzytkownika
Przedstawienie
oferty CKU
Przyjmowanie
pytan, sugestii i
opinii uzytkownikow
Rejestrowanie
uzytkownika
Logowanie
uzytkownika
Prezentowanie
informacji o
wykladowcach CKU
Przedstawienie
statystyk i opinii
CKU
Wyswietlanie
informacji
extends
extends
extends
extends
extends
System dla CKU - Diagram
przypadkow uzycia nr 1- WWW
Autorzy: Wojciech Gutowski
Dariusz Kuc
Diagram przypadków użycia
i opis aktorów
przykład CKU,
Podsystem informacyjny
N A ZWA
OPIS
PR ZYPAD KI U ŻYC IA
Ad ministrato r
Osoba adm inistrująca system
operacyjny, serwer WW W oraz
serwer Ba zy Danych, adm inistrator
sieci WETI PG
N adz orow anie i admin istracja
K iero w nik,
K iero w nik CK U
T w orz enie rap ortów i statysty k, Logow anie do
systemu, Prz egląd anie i ana liz ow anie z głosz eń
na kursy ,
T w orz enie p rogramów kursów , M ody fikow anie
p rogramów kursów ,
Prz eglądan ie p ytań, sugestii i op inii,
A dministrow anie z aw artością baz y dany ch,
A dministrow anie p raw ami dostęp u,
Z arz ądz anie kursami, Prz egląd anie i
analiz ow anie p rop ozy cji kursów ,
M ody fikow anie informacji o materiała ch,
D odaw anie p rop ozy cji kursów i z głosz eń na
kursy
K iero w nik k ursu Pracownik CKU organizujący
k urs(y) – Szef własnego k ursu
Logow an ie do sy stemu, Prz egląd anie i
analiz ow anie z głosz eń na kursy ,
T w orz enie p rogramów kursów , M ody fikow anie
p rogramów kursów ,
Prz eglądan ie p ytań, sugestii i op inii,
Prz eglądan ie i analiz ow anie p rop ozy cji kursów ,
M ody fikow anie informacji o materiała ch,
D odaw anie p rop ozy cji kursów i z głosz eń na
kursy
Wyk ładowca
Pracownik CKU prowadzący
zajęcia w ram ach k ursów
M ody fikow anie informacji o materiała ch,
Logow an ie do sy stemu
K ierownik Centrum Kształcenia
U stawicznego, osoba k ierująca
pracą CKU
zapytan do systemu
Projektowanie SI
folia: 20
Opis ustrukturalizowany przypadku
użycia
Wzorzec
opisu
Nazwa
nazwa przypadku użycia
Nazwa obiektu
obiekt, którego dotyczy przypadek użycia
Aktorzy
obiekty inicjujące /biorące udział w przypadku
Streszczenie
skrótowy opis najważniejszych zachowań modelowanych przez
przypadek użycia
Zdarzenie inicjujące zdarzenie rozpoczynające sekwencję interakcji
Specyfikacja zagnieżdżania opis struktury przypadku użycia
Warunki początkowe warunki umożliwiające wystąpienie danego przypadku użycia
Pełny opis
opis interakcji pomiędzy obiektami, z wyszczególnieniem miejsc
w których mogą wystąpić sytuacje wyjątkowe
Sytuacje wyjątkowe opis niestandardowych przebiegów mogących wystąpić w ramach
przypadku użycia
Warunki końcowe
stan w jakim przypadek użycia pozostawia uczestniczące w nim
obiekty
Komentarz
dodatkowe informacje nie związane z funkcjonalnością danego
przypadku użycia, przydatne w dalszych etapach modelowania
Projektowanie SI
folia: 21
Opis ustrukturalizowany przypadku
użycia
Przykład
opisu
Nazwa przypadku
Wymeldowanie
Nazwa obiektu
system hotelowy
Aktorzy
Gość, Recepcjonista, Pokojowa
Streszczenie
Procedura realizowana przy opuszczaniu hotelu przez gościa
Zdarzenie inicjujące Zgłoszenie wyjazdu
Specyfikacja zagnieżdżania
Warunki początkowe Zapłacono rachunek za pobyt
Pełny opis
Gość zgłasza wyjazd i zwraca klucze od pokoju (wyjątek: zgubione klucze).
Recepcjonista sprawdza zapłacenie rachunku (wyjątek: nie zapłacono)
i wydaje Pokojowej polecenie sprzątnięcia pokoju...
Sytuacje wyjątkowe Zgubiono klucze: żądanie zapłacenia przez Gościa
Nie zapłacono: żądanie zapłacenia rachunku przez Gościa
Warunki końcowe
Sprzątnięty pokój, gotowy do ponownego wynajęcia
Komentarz
Sprzątanie oraz obsługa sytuacji Zgubiono klucze mogą być modelowane
osobnymi przypadkami użycia, tu wykorzystywanymi
Pytanie: jakie zmiany wprowadza ten przykład w stosunku do przedstawionego
wcześniej modelu biznesowego?
Projektowanie SI
folia: 22
Diagram interakcji (sekwencji)
Diagramy interakcji – ogólna nazwa diagramów sekwencji lub diagramów współpracy, wykorzystywanych
do modelowania dynamiki systemu. Diagramy te ukazują przebieg komunikacji pomiędzy obiektami, zachodzą-
cej przy realizacji pewnej funkcji systemu (np. pewnego przypadku użycia albo ciągu przypadków). Na diagra-
mie sekwencji interakcja pomiędzy obiektami rozpatrywana jest z punktu widzenia upływu czasu.
Recepcjonista
Wyjeżdżam!
Bon voyage!
Gość
Sprzątająca
c
Pokój do sprzątnięcia
za
s
Pokój ok.
Projektowanie SI
folia: 23
Diagram interakcji (sekwencji)
- przykład
Hotelu Hilton
Wyjeżdżam!
Bon voyage!
Posprzątaj pokój!
Pokój OK
System
komputerowy
Recepcjonista
Pokojowa
Gość
Pokój OK
Oto dane
Wszystko OK
Pokaż dane!
Oto rachunek
Oto pieniądze
Diagram sekwencji dla przypadków użycia Wymeldowanie i Sprzątniecie pokoju
[Metody wytwarzania oprogramowania, MIKOM 2002]
Projektowanie SI
folia: 24
Diagram czynności
Diagram czynności – służy do opisu dynamiki systemu. Opisuje czynności wykonywane przez obiekty
z uwzględnieniem kolejności ich wykonywania i przekazywania danych danych pomiędzy czynnościami;
uwzględnia możliwości współbieżnego wykonywania czynności.
Gość
Recepcjonista
Zgłoszenie
chęci wyjazdu
Opuszczenie
hotelu
Polecenie
dla pokojowej
Płacenie i
zwrot klucza
Diagram czynności dla przypadku użycia Wymeldowanie
[Metody wytwarzania oprogramowania, MIKOM 2002]
Projektowanie SI
folia: 25
Przykłady modelu przypadków użycia
Portal IO
• Grupowanie przypadków użycia na diagramie
– hierarchicznie, „aktorami”, ...
Call centre
Projektowanie SI
folia: 26
Niektóre zalety modelu przypadków
użycia
• Określenie granic systemu i aktorów
• Funkcjonalność systemu postrzegana przez zewnętrznych aktorów
• Logika realizacji funkcjonalności w systemie
• Zrozumiałość i komunikatywność
• Przydatność w różnych fazach cyklu
• Przydatność dla celów prezentacji i dokumentacji
Projektowanie SI
folia: 27
Wykorzystanie przypadków użycia
w cyklu wytwarzania oprogramowania
• specyfikacja wymagań funkcjonalnych na system
• weryfikacja poprawności i kompletności specyfikacji wymagań
• wspomaganie walidacji wymagań
• punkt wyjścia do opracowania testów (w tym akceptacyjnych)
systemu
• identyfikacja składowych, obiektów systemu
• podstawa do opracowania diagramów interakcji
• możliwość śledzenia, jak wymagania przeradzają się w klasy
obiektów i operacje systemu
• podstawa do oceny rezultatów testów
Projektowanie SI
folia: 28
Jakość specyfikacji wymagań,
jakość modelu przypadków użycia
• Weryfikacja
– weryfikacja specyfikacji
– weryfikacja modeli
- wspomaganie narzędziowe
- weryfikacja zgodności modelowanych
aspektów
– analiza, modele pomocnicze
• Walidacja wymagań
– walidacja modeli
– prototypowanie?
• Pielęgnacja wymagań, zarządzanie wymaganiami
– procedury obsługi żądań zmian