Projekt_APO-Automat_spozywczy/use-case-1.md

3.0 KiB

Use Case 1: Zakup produktu

Aktor podstawowy: Klient

Główni odbiorcy i oczekiwania względem systemu:

  • Klient: oczekuje możliwości zakupu wybranego produktu
  • Klient: oczekuje możliwość rezygnacji z zakupu przed dokonaniem płatności
  • Klient: oczekuje szybkiego wydania poprawnego produktu

Warunki wstępne:

Klient znajduje się przed automatem

Warunki końcowe:

Klient otrzymał zamówiony produkt, stan magazynu jest zaktualizowany

Scenariusz główny (ścieżka podstawowa):

  1. Klient naciska przycisk start na automacie
  2. Klient wybiera na terminalu poprawny kod produktu jaki chce zakupić
  3. Klient wybiera sposób w jaki chce dokonać płatności
  4. Po zakończeniu płatności wybrany produkt jest wydawany
  5. Automat aktualizuje stan ilości produktów
  6. Klient odbiera wybrany produkt

Rozszerzenia (ścieżki alternatywne):

*a. Automat zawiesza się
    1. Następuje restart
    2. Powrót do kroku 1 scenariusza głównego

(1-3)a. Klient zmienia ustawienia językowe
    1. Następuje restart interfejsu w nowo wybranym języku bez restartu procesu zakupu

(1-3)b. Klient anuluje proces zakupu
    1. Następuje restart procesu zakupu
    2. Powrót do kroku 1 scenariusza głównego

2a. Wybrano niepoprawny produkt
    1. Automat informuje klient o wybraniu niepoprawnego produktu
    2. Powrót do kroku 2 scenariusza głównego

2b. Anulowano zakup
    1. Następuje restart procesu zakupu
    2. Powrót do kroku 1 scenariusza głównego

3a. Anulowano zakup
    1. Następuje restart procesu zakupu
    2. Powrót do kroku 1 scenariusza głównego

3b. Wybrano płatność kartą (UseCase3)

3c. Wybrano płatność gotówką (UseCase4)

5a. Próba przesłania stanu magazynu nie powiodła się
    1. Automat zapisuje stan magazynu i czas wykonania aktualizacji

5b. Próba przesłania stanu magazynu powiodła się
    1. Automat sprawdza czy ma do wysłania zaległe aktualizacje
    2. Automat podejmuje próbę ponownego wysłania zaległych aktualizacji

Wymagania specjalne:

  • Obsługa interfejsu w języku polskim i angielskim

Wymagania technologiczne oraz ograniczenia na wprowadzane dane:


b*. Możliwość zmiany języku interfejsu powinna być dostępna w widocznym miejscu w każdym kroku (1 - 3) procesu zakupu

c*. Możliwość anulowania procesu zakupu powinna być dostępna w widocznym miejscu w każdym kroku

2.Kod produktu powinien być liczbą całkowitą z zakresu od 1 do 999

Kwestie otwarte:

  • Jak długo automat powinien przechowywać nieudane próby aktualizacji magazynu
  • Ile razy automat powinien podjąć próbę przesłania aktualizacji