1 Modelowanie przypadków użyciaJarosław Kuchta Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
2 Modelowanie przypadków użyciaPodstawowe 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
3 Modelowanie przypadków użyciaPrzykł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
4 Dwustopniowy proces definiowania przypadków użyciaZespół 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
5 Rodzaje przypadków użyciaogó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
6 Modelowanie przypadków użyciaOpis 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
7 Modelowanie przypadków użyciaInformacje 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
8 Modelowanie przypadków użyciaLista 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
9 Wielu aktorów w jednym przypadku użyciaKlient Sprzedawca Złożenie zamówienia Sesja gry Gracz 2 Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
10 Relacje między aktoramiUż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
11 Relacje między przypadkami użyciarelacja 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
12 Przykłady relacji między przypadkami użyciaZł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
13 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
14 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
15 Diagram przypadków użyciaZł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
16 Modelowanie przypadków użyciaScenariusz zdarzeń Podstawowy ciąg zdarzeń Aktywności zagłębione Sytuacje wyjątkowe Dokumentacja i Jakość Oprogramowania Modelowanie przypadków użycia
17 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
18 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
19 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
20 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
21 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
22 Scenariusz zdarzeń - diagram sekwencjiLista 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
23 Modelowanie przypadków użyciaLiteratura 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