Modelowanie przypadków użycia Jarosław Kuchta
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. 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 Modelowanie przypadków użycia 3/23
Dwustopniowy proces definiowania przypadków użycia 1. Zespół projektowy we współpracy z użytkownikami opracowuje tekstowy opis przypadków użycia 2. Zespół projektowy na podstawie opisu tekstowego opracowuje diagramy przypadków użycia. 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ę) 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 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 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ę. Modelowanie przypadków użycia 8/23
Wielu aktorów w jednym przypadku użycia Złożenie zamówienia Klient Sprzedawca 2 Sesja gry Gracz Modelowanie przypadków użycia 9/23
Relacje między aktorami Użytkownik 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) Klient Administrator Administrator reprezentuje użytkownika pełniącego funkcję nadzorczą. Ma możliwości administracyjne (np. zarządzanie użytkownikami) Modelowanie przypadków użycia 10/23
Relacje między przypadkami użycia relacja zawierania (include) 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. relacja rozszerzenia (extend) 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 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 Edycja danych użytkownika Usuwanie użytkownika Modelowanie przypadków użycia 12/23
Relacje między aktorami i przypadkami użycia (1) Logowanie Logowanie User User Logowanie Admin Admin Modelowanie przypadków użycia 13/23
Relacje między aktorami i przypadkami użycia (2) Administrator Zarządzanie użytkownikami Dodawanie użytkownika Edycja danych użytkownika Usuwanie użytkownika Administrator Dodawanie użytkownika 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 zamówienia Sprawdzenie stanu w magazynie Klient Zmiana zamówienia Sprzedawca Anulowanie zamówienia Realizacja zamówienia Spedytor Magazynier Modelowanie przypadków użycia 15/23
Scenariusz zdarzeń Podstawowy ciąg zdarzeń Aktywności zagłębione Sytuacje wyjątkowe Modelowanie przypadków użycia 16/23
Złożenie zamówienia: Scenariusz zdarzeń opis tekstowy (1) 1. Akceptacja klienta 2. Negocjacje pozycji 3. Akceptacja zamówienia Modelowanie przypadków użycia 17/23
Akceptacja klienta: Scenariusz zdarzeń - opis tekstowy (2) 1. Po zgłoszeniu się klienta sprzedawca wyszukuje jego dane na liście klientów. 2. Jeśli brak klienta na liście klientów, to sprzedawca wprowadza nowego klienta. 3. Sprzedawca potwierdza aktualne dane klienta. 4. Jeśli dane klienta nie są aktualne, to sprzedawca uaktualnia dane. Modelowanie przypadków użycia 18/23
Scenariusz zdarzeń opis tekstowy (3) Wprowadzenie nowego klienta: 1. Sprzedawca prosi klienta o podanie danych osobowych. 2. Klient podaje swoje dane osobowe. 3. Sprzedawca wprowadza dane osobowe klienta do tabeli klientów. Sytuacja wyjątkowa: 1. Klient odmawia podania danych osobowych. 2. Sprzedawca ponownie prosi klienta o podanie danych osobowych. 3. Jeśli klient ponownie odmawia podania danych osobowych, to transakcja się kończy. Modelowanie przypadków użycia 19/23
Negocjacje pozycji: Scenariusz zdarzeń opis tekstowy (4) 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ę Modelowanie przypadków użycia 20/23
Oferowanie towaru: Scenariusz zdarzeń opis tekstowy (5) 1. Sprzedawca dostosowuje listę oferowanych towarów do potrzeb klienta. 2. Sprzedawca prezentuje listę oferowanych towarów dla klienta. Modelowanie przypadków użycia 21/23
Scenariusz zdarzeń - diagram sekwencji klient : Klient Zgłoszenie klienta : Sprzedawca Wyszukanie klienta Lista klientów : Lista klientów Cennik towarów : Cennik Stan aktualny : Stan magazynu Potwierdzenie zgłoszenia Dane klienta Pozycje zamówienia Zapytanie o cenę Cena towaru Cena i termin realizacji Zapytanie o stan 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 Modelowanie przypadków użycia 23/23