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ć:

  1. Otwórz sesję dla użytkownika UC.Autoryzacja.
  2. Pobierz identyfikator użytkownika
  3. Sprawdź liczbę książek wypożyczonych, jeśli wyższa niż $MAX_książek_wypożyczonych zrealizuj UC.ODMOWA(powód).
  4. Sprawdź przeterminowanie zwrotów, jeśli występuje zrealizuj UC.ODMOWA(powód).
  5. Sprawdź saldo płatnicze użytkownika, jeśli ujemne zrealizuj UC.ODMOWA(powód).
  6. Sprawdź dostępność książek w koszyk zleceń do wypożyczenia, jeśli występują braki zrealizuj UC.REDUKUJ(niedostępne).
  7. Sygnatury książek dostępnych przypisz do konta użytkownika.
  8. Ustaw dopuszczalny termin zwrotu książek na koncie klienta.
  9. Zablokuj książki do wypożyczenia.
  10. Zleć dyspozycję UC.WYDANIE(lista_książek).
  11. 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.