Modelowanie przypadków użycia Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Modelowanie przypadków użycia 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
Modelowanie przypadków użycia 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
Dwustopniowy proces definiowania przypadków użycia 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
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
Modelowanie przypadków użycia 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
Modelowanie przypadków użycia 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
Modelowanie przypadków użycia 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
Wielu aktorów w jednym przypadku użycia Klient Sprzedawca Złożenie zamówienia Sesja gry Gracz 2 Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Relacje między aktorami Użytkownik reprezentuje uogólnioną klasę użytkowników. Ma ogólne możliwości (np. logowanie) Użytkownik Administrator reprezentuje użytkownika pełniącego funkcję nadzorczą. Ma możliwości administracyjne (np. zarządzanie użytkownikami) Klient reprezentuje klasę klientów. Ma możliwości biznesowe (np. złożenie zamówienia) Klient Administrator Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
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 Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
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 Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Relacje między aktorami i przypadkami użycia (1) User User Logowanie Logowanie Admin Admin Logowanie Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
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 Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
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 Magazynier Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Modelowanie przypadków użycia Scenariusz zdarzeń Podstawowy ciąg zdarzeń Aktywności zagłębione Sytuacje wyjątkowe Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Scenariusz zdarzeń – opis tekstowy (1) Złożenie zamówienia: Akceptacja klienta Negocjacje pozycji Akceptacja zamówienia Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Scenariusz zdarzeń - opis tekstowy (2) Akceptacja klienta: 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
Scenariusz zdarzeń – opis tekstowy (3) Wprowadzenie nowego klienta: Sprzedawca prosi klienta o podanie danych osobowych. Klient podaje swoje dane osobowe. Sprzedawca wprowadza dane osobowe klienta do tabeli klientów. Sytuacja wyjątkowa: 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
Scenariusz zdarzeń – opis tekstowy (4) Negocjacje pozycji: Dla każdej pozycji zamówienia: Sprzedawca informuje klienta o oferowanym towarze. Klient wybiera towar. Sprzedawca informuje klienta o cenie i terminie realizacji. Klient akceptuje lub odrzuca ofertę Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Scenariusz zdarzeń – opis tekstowy (5) Oferowanie towaru: 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
Scenariusz zdarzeń - diagram sekwencji Lista klientów : Cennik towarów Stan aktualny : klient : Klient : Sprzedawca Lista klientów : Cennik Stan magazynu Zgłoszenie klienta Wyszukanie klienta Dane klienta Potwierdzenie zgłoszenia Pozycje zamówienia Zapytanie o cenę Cena towaru Zapytanie o stan Stan towaru Cena i termin realizacji Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
Modelowanie przypadków użycia 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