qhta@eti.pg.gda.pl
J.Kuchta@eti.pg.gda.pl
Modelowanie
Modelowanie
przypadków użycia
przypadków użycia
Jarosław Kuchta
Jarosław Kuchta
Dokumentacja i Jakość
Dokumentacja i Jakość
Oprogramowania
Oprogramowania
Dokumentacja i Jako
ść Oprogramowania
2/23
Modelowanie przypadków użyci
a
Podstawowe pojęcia
Podstawowe pojęcia
Przypadek użycia
Przypadek użycia
jest formalnym środkiem dla
jest formalnym środkiem dla
przedstawienia funkcjonalności systemu
przedstawienia funkcjonalności systemu
informatycznego z punktu widzenia jego użytkowników.
informatycznego z punktu widzenia jego użytkowników.
Przypadek użycia reprezentuje
Przypadek użycia reprezentuje
możliwość
możliwość
oferowaną
oferowaną
użytkownikowi przez system
użytkownikowi przez system
Przypadek użycia jest realizowany przez
Przypadek użycia jest realizowany przez
interakcję
interakcję
pomiędzy systemem a jego użytkownikami.
pomiędzy systemem a jego użytkownikami.
Ten sam użytkownik może występować w różnych
Ten sam użytkownik może występować w różnych
rolach w różnych przypadkach użycia.
rolach w różnych przypadkach użycia.
Rolę
Rolę
użytkownika w interakcji z systemem reprezentuje
użytkownika w interakcji z systemem reprezentuje
aktor
aktor
.
.
Aktorem może być też
Aktorem może być też
system zewnętrzny
system zewnętrzny
, o ile
, o ile
korzysta z usług projektowanego systemu.
korzysta z usług projektowanego systemu.
Dokumentacja i Jako
ść Oprogramowania
3/23
Modelowanie przypadków użyci
a
Przykłady
Przykłady
Aktorzy:
Aktorzy:
Klient
Klient
Sprzedawca
Sprzedawca
Magazynier
Magazynier
Przypadki użycia:
Przypadki użycia:
Złożenie zamówienia
Złożenie zamówienia
Wystawienie faktury
Wystawienie faktury
Sprawdzenie stanu towaru
Sprawdzenie stanu towaru
Dokumentacja i Jako
ść Oprogramowania
4/23
Modelowanie przypadków użyci
a
Dwustopniowy proces
Dwustopniowy proces
definiowania przypadków
definiowania przypadków
użycia
użycia
1.
1.
Zespół projektowy we współpracy z
Zespół projektowy we współpracy z
użytkownikami opracowuje
użytkownikami opracowuje
tekstowy opis przypadków użycia
tekstowy opis przypadków użycia
2.
2.
Zespół projektowy na podstawie
Zespół projektowy na podstawie
opisu tekstowego opracowuje
opisu tekstowego opracowuje
diagramy przypadków użycia.
diagramy przypadków użycia.
Dokumentacja i Jako
ść Oprogramowania
5/23
Modelowanie przypadków użyci
a
Rodzaje przypadków
Rodzaje przypadków
użycia
użycia
ogólny(
ogólny(
overview
overview
)
)
/
/
szczegółowy
szczegółowy
(detail)
(detail)
ogólny
ogólny
przypadek użycia prezentuje ogólnie wymagania
przypadek użycia prezentuje ogólnie wymagania
użytkowników co do funkcjonalności systemu
użytkowników co do funkcjonalności systemu
szczegółowy
szczegółowy
przypadek użycia pokazuje szczegóły
przypadek użycia pokazuje szczegóły
interakcji
interakcji
podstawowy(
podstawowy(
essential
essential
)/rzeczywisty
)/rzeczywisty
(real)
(real)
podstawowy
podstawowy
przypadek użycia pokazuje tylko
przypadek użycia pokazuje tylko
podstawowe rozwiązania konieczne dla zrozumienia
podstawowe rozwiązania konieczne dla zrozumienia
wymaganej funkcjonalności niezależnie od implementacji
wymaganej funkcjonalności niezależnie od implementacji
rzeczywisty
rzeczywisty
przypadek użycia pokazuje konkretny ciąg
przypadek użycia pokazuje konkretny ciąg
kroków potrzebnych do realizacji tej funkcjonalności
kroków potrzebnych do realizacji tej funkcjonalności
(implementację)
(implementację)
Dokumentacja i Jako
ść Oprogramowania
6/23
Modelowanie przypadków użyci
a
Opis przypadku użycia
Opis przypadku użycia
Informacje ogólne
Informacje ogólne
Lista aktorów (opis aktorów, relacje
Lista aktorów (opis aktorów, relacje
między nimi)
między nimi)
Relacje z aktorami i innymi
Relacje z aktorami i innymi
przypadkami użycia (diagramy
przypadkami użycia (diagramy
przypadków użycia)
przypadków użycia)
Scenariusz zdarzeń
Scenariusz zdarzeń
Charakterystyka opcjonalna
Charakterystyka opcjonalna
Dokumentacja i Jako
ść Oprogramowania
7/23
Modelowanie przypadków użyci
a
Informacje ogólne
Informacje ogólne
Nazwa przypadku użycia
Nazwa przypadku użycia
czasownik – rzeczownik (np. Złożenie zamówienia)
czasownik – rzeczownik (np. Złożenie zamówienia)
Identyfikator
Identyfikator
identyfikator cyfrowy umożliwiający powiązanie
identyfikator cyfrowy umożliwiający powiązanie
funkcjonalności z przypadkiem użycia
funkcjonalności z przypadkiem użycia
Referencja do wymagania funkcjonalnego ze specyfikacji
Referencja do wymagania funkcjonalnego ze specyfikacji
wymagań
wymagań
umożliwia powiązanie przypadku użycia ze specyfikacją
umożliwia powiązanie przypadku użycia ze specyfikacją
wymagań
wymagań
Poziom ważności
Poziom ważności
umożliwia ustalenie kolejności implementacji przy podejściu
umożliwia ustalenie kolejności implementacji przy podejściu
ewolucyjno-iteracyjnym
ewolucyjno-iteracyjnym
Rodzaj
Rodzaj
ogólny/szczegółowy
ogólny/szczegółowy
podstawowy/rzeczywisty
podstawowy/rzeczywisty
Dokumentacja i Jako
ść Oprogramowania
8/23
Modelowanie przypadków użyci
a
Lista aktorów
Lista aktorów
Lista aktorów wyszczególnia wszystkich
Lista aktorów wyszczególnia wszystkich
aktorów uczestniczących w przypadku
aktorów uczestniczących w przypadku
użycia.
użycia.
Każdy aktor reprezentuje rolę użytkownika
Każdy aktor reprezentuje rolę użytkownika
w interakcji z systemem.
w interakcji z systemem.
Aktor może też reprezentować zewnętrzny
Aktor może też reprezentować zewnętrzny
system współpracujący z danym systemem.
system współpracujący z danym systemem.
Jeden z aktorów jest wyróżniany. Jest to
Jeden z aktorów jest wyróżniany. Jest to
tzw.
tzw.
aktor główny
aktor główny
(
(
primary actor
primary actor
), który
), który
inicjuje interakcję.
inicjuje interakcję.
Dokumentacja i Jako
ść Oprogramowania
9/23
Modelowanie przypadków użyci
a
Wielu aktorów w jednym
Wielu aktorów w jednym
przypadku użycia
przypadku użycia
Złożenie
zamówienia
Klient
Sesja gry
Gracz
2
Sprzedaw
ca
Dokumentacja i Jako
ść Oprogramowania
10/23
Modelowanie przypadków użyci
a
Relacje między
Relacje między
aktorami
aktorami
Użytkow
nik
Klient
Administrato
r
Użytkownik reprezentuje
uogólnioną klasę
użytkowników. Ma ogólne
możliwości (np. logowanie)
Klient
reprezentuje klasę
klientów. Ma
możliwości
biznesowe (np.
złożenie
zamówienia)
Administrator
reprezentuje użytkownika
pełniącego funkcję
nadzorczą. Ma możliwości
administracyjne (np.
zarządzanie
użytkownikami)
Dokumentacja i Jako
ść Oprogramowania
11/23
Modelowanie przypadków użyci
a
Relacje między
Relacje między
przypadkami użycia
przypadkami użycia
relacja zawierania (
relacja zawierania (
include
include
)
)
zachodzi wówczas, gdy jeden przypadek użycia jest
zachodzi wówczas, gdy jeden przypadek użycia jest
obowiązkowo
obowiązkowo
częścią innego przypadku użycia, tzn.
częścią innego przypadku użycia, tzn.
scenariusz jednego przypadku użycia wchodzi w skład
scenariusz jednego przypadku użycia wchodzi w skład
scenariusza innego przypadku użycia.
scenariusza innego przypadku użycia.
relacja rozszerzenia (
relacja rozszerzenia (
extend
extend
)
)
zachodzi wówczas, gdy jeden przypadek użycia
zachodzi wówczas, gdy jeden przypadek użycia
może być
może być
częścią innego przypadku użycia, tzn. scenariusz jednego
częścią innego przypadku użycia, tzn. scenariusz jednego
przypadku użycia może zostać wykonany w scenariuszu
przypadku użycia może zostać wykonany w scenariuszu
innego przypadku użycia w pewnych warunkach.
innego przypadku użycia w pewnych warunkach.
relacja generalizacji-specjalizacji
relacja generalizacji-specjalizacji
zachodzi wówczas, gdy jeden przypadek stanowi stanowi
zachodzi wówczas, gdy jeden przypadek stanowi stanowi
szczególną (wyspecjalizowaną) wersję innego przypadku
szczególną (wyspecjalizowaną) wersję innego przypadku
użycia, np. jeden z aktorów jest wyspecjalizowaną klasą
użycia, np. jeden z aktorów jest wyspecjalizowaną klasą
aktora z drugiego przypadku użycia
aktora z drugiego przypadku użycia
Dokumentacja i Jako
ść Oprogramowania
12/23
Modelowanie przypadków użyci
a
Przykłady relacji między
Przykłady relacji między
przypadkami użycia
przypadkami użycia
Zarządzanie
użytkownikami
Dodawanie
użytkownika
Edycja danych
użytkownika
Usuwanie
użytkownika
Złożenie
zamówienia
Określenie terminu
dostawy
«include»
Logowanie
użytkownika
Rejestracja nowego
użytkownika
«extend»
Dokumentacja i Jako
ść Oprogramowania
13/23
Modelowanie przypadków użyci
a
Relacje między aktorami
Relacje między aktorami
i przypadkami użycia (1)
i przypadkami użycia (1)
User
Admin
Logowanie
User
Admin
Logowanie
Logowanie
Dokumentacja i Jako
ść Oprogramowania
14/23
Modelowanie przypadków użyci
a
Relacje między aktorami
Relacje między aktorami
i przypadkami użycia (2)
i przypadkami użycia (2)
Zarządzanie
użytkownikami
Dodawanie
użytkownika
Edycja danych
użytkownika
Usuwanie
użytkownika
Administrato
r
Dodawanie
użytkownika
Edycja danych
użytkownika
Usuwanie
użytkownika
Administrato
r
Dokumentacja i Jako
ść Oprogramowania
15/23
Modelowanie przypadków użyci
a
Diagram przypadków
Diagram przypadków
użycia
użycia
Klient
Złożenie zamówienia
Sprawdzenie zamówienia
Zmiana zamówienia
Anulowanie zamówienia
Spedytor
Realizacja zamówienia
Sprzedawca
Magazynier
Sprawdzenie stanu
w magazynie
Dokumentacja i Jako
ść Oprogramowania
16/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
Podstawowy ciąg zdarzeń
Podstawowy ciąg zdarzeń
Aktywności zagłębione
Aktywności zagłębione
Sytuacje wyjątkowe
Sytuacje wyjątkowe
Dokumentacja i Jako
ść Oprogramowania
17/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
– opis tekstowy (1)
– opis tekstowy (1)
Złożenie zamówienia:
Złożenie zamówienia:
1.
1.
Akceptacja klienta
Akceptacja klienta
2.
2.
Negocjacje pozycji
Negocjacje pozycji
3.
3.
Akceptacja zamówienia
Akceptacja zamówienia
Dokumentacja i Jako
ść Oprogramowania
18/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
- opis tekstowy (2)
- opis tekstowy (2)
Akceptacja klienta:
Akceptacja klienta:
1.
1.
Po zgłoszeniu się klienta sprzedawca
Po zgłoszeniu się klienta sprzedawca
wyszukuje jego dane na liście klientów.
wyszukuje jego dane na liście klientów.
2.
2.
Jeśli brak klienta na liście klientów, to
Jeśli brak klienta na liście klientów, to
sprzedawca wprowadza nowego klienta.
sprzedawca wprowadza nowego klienta.
3.
3.
Sprzedawca potwierdza aktualne dane
Sprzedawca potwierdza aktualne dane
klienta.
klienta.
4.
4.
Jeśli dane klienta nie są aktualne, to
Jeśli dane klienta nie są aktualne, to
sprzedawca uaktualnia dane.
sprzedawca uaktualnia dane.
Dokumentacja i Jako
ść Oprogramowania
19/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
– opis tekstowy (3)
– opis tekstowy (3)
Wprowadzenie nowego klienta:
Wprowadzenie nowego klienta:
1.
1.
Sprzedawca prosi klienta o podanie danych
Sprzedawca prosi klienta o podanie danych
osobowych.
osobowych.
2.
2.
Klient podaje swoje dane osobowe.
Klient podaje swoje dane osobowe.
3.
3.
Sprzedawca wprowadza dane osobowe klienta do
Sprzedawca wprowadza dane osobowe klienta do
tabeli klientów.
tabeli klientów.
Sytuacja wyjątkowa:
Sytuacja wyjątkowa:
1.
1.
Klient odmawia podania danych osobowych.
Klient odmawia podania danych osobowych.
2.
2.
Sprzedawca ponownie prosi klienta o podanie
Sprzedawca ponownie prosi klienta o podanie
danych osobowych.
danych osobowych.
3.
3.
Jeśli klient ponownie odmawia podania danych
Jeśli klient ponownie odmawia podania danych
osobowych, to transakcja się kończy.
osobowych, to transakcja się kończy.
Dokumentacja i Jako
ść Oprogramowania
20/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
– opis tekstowy (4)
– opis tekstowy (4)
Negocjacje pozycji:
Negocjacje pozycji:
Dla każdej pozycji zamówienia:
Dla każdej pozycji zamówienia:
1.
1.
Sprzedawca informuje klienta o
Sprzedawca informuje klienta o
oferowanym towarze.
oferowanym towarze.
2.
2.
Klient wybiera towar.
Klient wybiera towar.
3.
3.
Sprzedawca informuje klienta o cenie i
Sprzedawca informuje klienta o cenie i
terminie realizacji.
terminie realizacji.
4.
4.
Klient akceptuje lub odrzuca ofertę
Klient akceptuje lub odrzuca ofertę
Dokumentacja i Jako
ść Oprogramowania
21/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
– opis tekstowy (5)
– opis tekstowy (5)
Oferowanie towaru:
Oferowanie towaru:
1.
1.
Sprzedawca dostosowuje listę
Sprzedawca dostosowuje listę
oferowanych towarów do potrzeb
oferowanych towarów do potrzeb
klienta.
klienta.
2.
2.
Sprzedawca prezentuje listę
Sprzedawca prezentuje listę
oferowanych towarów dla klienta.
oferowanych towarów dla klienta.
Dokumentacja i Jako
ść Oprogramowania
22/23
Modelowanie przypadków użyci
a
Scenariusz zdarzeń
Scenariusz zdarzeń
- diagram sekwencji
- diagram sekwencji
klient : Klient
: Sprzedawca
Lista klientów :
Lista klientów
Cennik towarów
: Cennik
Stan aktualny :
Stan magazynu
Pozycje zamówienia
Zapytanie o cenę
Cena towaru
Zgłoszenie klienta
Wyszukanie klienta
Dane klienta
Potwierdzenie zgłoszenia
Zapytanie o stan
Stan towaru
Cena i termin realizacji
Dokumentacja i Jako
ść Oprogramowania
23/23
Modelowanie przypadków użyci
a
Literatura
Literatura
A.Dennis, B.H.Wixom, D.Tegarden:
A.Dennis, B.H.Wixom, D.Tegarden:
Systems Analysis & Design. An
Systems Analysis & Design. An
Object-Oriented Approach with
Object-Oriented Approach with
UML
UML
, John Wiley & Sons, 2002
, John Wiley & Sons, 2002