Modelowanie przypadków użycia w aplikacjach rozproszonych

Download Report

Transcript Modelowanie przypadków użycia w aplikacjach rozproszonych

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