Automat_spozywczy/use-case-2.md

96 lines
3.5 KiB
Markdown

Use Case 2: Zakup produktu
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: zakup produktów
- System płatniczy: realizacja transakcji gotówkowych i płatności kartą
- Dział zaopatrzenia: odbiera raporty od automatu spożywczego
- Watchdog: Program wykrywający błędne działanie systemu.
Warunki wstępne:
----------------
Automat jest w trybie "uruchomiony".
Warunki końcowe:
----------------
Sprzedaż produktu odbyła się poprawnie. Płatność została autoryzowana. Maszyna przechowuje dane o transakcji.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wprowadza numer dostępnego produktu
2. Automat tworzy w systemie nową transakcję, nadaje jej status "rozpoczęta"
3. Automat wyświetla konieczną do zapłacenia kwotę
4. Klient wybiera formę płatności gotówką
5. Klient wrzuca monety
6. Po każdej wrzuconej monecie automat wyświetla pozostałą do zapłacenia kwotę (do momentu aż kwota wprowadzona zrówna się, bądź przewyższy wartości wybranego produktu)
7. Automat wydaje resztę
8. Automat przygotowuje i wydaje produkt
9. Automat sprawdza stan magazynowy sprzedanego produktu i monet
10. Automat automat aktualizuje status transakcji na "zakończona"
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. watchdog wykrywa błąd/zacięcie systemu
1. watchdog resetuje automat i wprowadza go w tryb "uruchomiony". Automat sprawdza ostatnią transakcję zapisana w pamięci. Na podstawie kompleksowych danych z pamięci, automat jest wstanie kontynuować transakcję, w każdym jej kroku
2. ostatnia transakcja ma status "rozpoczęta"
2a. ostatnia transakcja ma status "zakończony"
1. automat jest gotowy do obsługi kolejnego klienta
3. automat kontynuuje sprzedaż wykonując następny krok procedury w stosunku do ostatniej zapisanej aktywności
4a. płatność kartą
1. automat komunikuje się z systemem płatniczym, wysyłając mu należną kwotę
2. klient płaci kartą płaniczą w sposób zbliżeniowy
3. system autoryzuje płatność
3a. system płatniczy odrzuca kartę
1. automat informuje klienta o odrzuconej płatności i wraca do kroku 2. scenariusza głównego
4. automat odbiera dane od systemu płatniczego
5. automat wyświetla komunikat o sukcesie
6. Następuje przejście do kroku 5. scenariusza głównego
6a. automat nie dostaje monet przez 45 sekund
1. automat zwraca wszystkie wrzucone monety z bieżącej transakcji
2. automat usuwa transakcję
3. automat jest gotów do realizacji kolejnej transakcji i wykonania kroku 1 scenariusza głównego
9a. stan magazynowy jest równy minimalnemu stanowi magazynowemu
1. automat poprzez sieć internetową wysyła informację do działu zaopatrzenia ze swoim ID i ID surowca.
Wymagania specjalne:
--------------------
- informacje o przebiegu każdego kroku transakcji są na bieżąco zapisywane w pamięci maszyny.
- numery produktów składają się z dwóch cyfr np. 01, 15
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
automat spożywczy jest podłączony do sieci internetowej za pomocą kabla sieciowego.
Kwestie otwarte:
----------------
- czy automat powinien przyjmować walutę Euro?