forked from s444417/Automat_spozywczy
93 lines
3.3 KiB
Markdown
93 lines
3.3 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 wartosć 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"
|
|
|
|
2a.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
|
|
|
|
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:
|
|
---------------------------------------------------------------
|
|
|
|
9a. automat spożywczy jest podłączony do sieci internetowej za pomocą kabla sieciowego.
|
|
|
|
Kwestie otwarte:
|
|
----------------
|
|
|
|
- czy automat powinien przyjmować walutę Euro?
|
|
|
|
- czy
|