Scenariusze przypadków użycia to słowne opisy postępowania dla danego przypadku. Swoisty algorytm przedstawiony np. jako ponumerowana lista kroków. Tak jak przypadek użycia można opisać za pomocą cech:
- Nazwa
- Opis
- Przepływ zdarzeń (scenariusze)
- Zależności i relacje
- Diagramy aktywności
- Wymagania specjalne
- Warunki wstępne
- Warunki końcowe
To jednym z jego elementów jest scenariusz przypadku użycia będący opisem przepływu zdarzeń, które realizowane w zdefiniowanej sekwencji winny doprowadzić do spełnienia funkcjonalności danego przypadku użycia.
Za pomocą scenariuszy można zwizualizować:
- Podstawowy zestaw czynności służących realizacji podmiotowego przypadku użycia,
- Dodatkowe (opcjonalne) sekwencje wynikające np. z:
- alternatywnych zakończeń scenariusza
- dodatkowych (opcjonalnych) przypadków występujących w szczególnych okolicznościach,
- konieczności realizacji obsługi wyjątków i błędów.
W realizowanej wizji systemu biblioteki scenariusz przypadku użycia “Wypożycz książkę” może mieć następującą postać:
- Otwórz sesję dla użytkownika UC.Autoryzacja.
- Pobierz identyfikator użytkownika
- Sprawdź liczbę książek wypożyczonych, jeśli wyższa niż $MAX_książek_wypożyczonych zrealizuj UC.ODMOWA(powód).
- Sprawdź przeterminowanie zwrotów, jeśli występuje zrealizuj UC.ODMOWA(powód).
- Sprawdź saldo płatnicze użytkownika, jeśli ujemne zrealizuj UC.ODMOWA(powód).
- Sprawdź dostępność książek w koszyk zleceń do wypożyczenia, jeśli występują braki zrealizuj UC.REDUKUJ(niedostępne).
- Sygnatury książek dostępnych przypisz do konta użytkownika.
- Ustaw dopuszczalny termin zwrotu książek na koncie klienta.
- Zablokuj książki do wypożyczenia.
- Zleć dyspozycję UC.WYDANIE(lista_książek).
- Zamknij sesję UC.Wylogowanie.
Widać tutaj, że wynikające z tego scenariusza relacje z UC.ODMOWA czy UC.REDUKUJ wydają się być typu <<extends>> tym niemniej pomijamy tutaj ich rozpatrywanie na bardziej szczegółowym poziomie ograniczając się jedynie do relacji <<include>>. Alternatywne rozwidlenia dla tego przypadku użycia to np. sytuacja, kiedy brak wszystkich książek zadysponowanych do wypożyczenia – w tej sytuacji użytkownik może zrezygnować z wypożyczenia całości. Aspektem dotyczącym obsługi błędów, może być np. brak ustawionego limitu książek do wypożyczenia.
Ważną informacją jest zasada unikania zbytniego zagłębiania się w szczegóły implementacyjne, konstrukcję interfejsów czy architektury sprzętowej. Pomimo, iż tworzenie scenariuszy nie zawiera jasno określonych zasad, należy zachowywać przejrzystość struktur w celu umożliwienia zrozumienia działania use case’ów przez odbiorców (klientów) systemu. Scenariusz powinien zatem być abstrakcyjny, oderwany od realiów zrozumiałych jedynie dla specjalistów, a językiem ogólnym opisywać zachowanie w ramach danego przypadku użycia. Decyzje dotyczące kwestii implementacyjnych, czy konkretnych rozwiązań technologicznych przesunięte są na etap projektowania systemu. Pozwala nam to na uniknięcie sytuacji nadmiernego uszczegółowienia opisu systemu, który w okresie projektowania, czy implementacyjnym wymagać będzie gruntownej aktualizacji z powodu zmiany części założeń o których nie wiedzieliśmy na obecnym etapie.
Pożądaną obecnością w tworzeniu scenariuszy dla przypadków użycia (UC) są tabele specyfikacji przypadku użycia zawierające informację o:
- aktorach biorących udział w przypadku użycia
- warunkach wstępnych i końcowych dla głównego scenariusza UC wraz z tym scenariuszem.
- alternatywnych scenariuszach UC wraz z wyspecyfikowaniem warunku aktywacji.
- scenariuszach wyjątków
- wymagań jakościowych i rezultatu UC
Tworzenie przypadków użycia wraz ze scenariuszami nieuchronnie prowadzi do powstania diagramów czynności, czyli graficznej reprezentacji przepływu kontroli w przypadkach użycia. Znajomość tego przepływu jest silnie przydatna w konstruowaniu testów systemowych dla danego przypadku. Jeśli jednak wpływ na przypadek użycia mają czynniki zewnętrzne lub asynchroniczne wówczas diagram czynności powinien zostać zastąpiony diagramem stanów omawianym w dalszej części materiału.
Zadanie
Do wykonanych już poprzednim razem diagramów przypadków użycia uzupełnij opis o konieczne scenariusze i uwzględnij diagram przepływu kontroli (diagram czynności) wykorzystując wiedzę z zakresu tworzenia schematów blokowych.