Projekt_APO-Automat_spozywczy/use-case-1.md

92 lines
3.0 KiB
Markdown

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