APO_automat/use-case-1.md

92 lines
3.4 KiB
Markdown

Use Case 1: Zakup produktu pakowanego, płatność gotówka
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: Chce otrzymać zakupiony prodkt i resztę. Ocekuje, że cały proces przebiegnie sprawnie.
- Właściciel automatu: Oczekuje, że zostanie wydana taka ilość produktów za jaką klient zapłacił oraz, że automat wyda klientowi odpowiednią resztę.
Warunki wstępne:
----------------
Automat jest sprawny i wzystkie produkty są uzupełnione.
Warunki końcowe:
----------------
Zakup zosał poprawnie przeprowadzony. Klient dokonał zapłaty i otrzymał wybrany produkt.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wybiera produkt, który chce kupić.
2. Automat podaje cenę wybranego produktu i jego skład.
3. Klient dokonuje płatności gotówką.
4. System zapisuje informacje o dacie, godzinie i danych transakcji, system aktualizuje informacje o stanie automatu.
5. Automat wydaje reszte i podaje zakupiony produkt.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. W dowolnym czasie, dotyczy sytuacji kiedy system zawiesza się:
1. Załącza sie system awaryjny.
2. Transakcja zostaje przerwana.
3. Wpłacone pieniądze zostają zwrócone klientowi.
4. System zostaje zresetowany.
1a. Wybór przez klienta produktu nie isteniejącego, lub którego nie ma na stanie:
1. wyswietlenie informacji o błędzie i prośby o ponowny wybór na ekranie.
2a. Brak ceny produktu w systemie:
1. system informuje obraku danych o cenie i odmawia możliwości zakupu produktu.
2b. Brak danych o składzie danego produktu w systemie:
1. system informuje o braku danych o składzie i alergenach.
2. Klient kupuje produkt.
2a. Klient rezygnuje z zakupu, zakup anulowany, transakcja przerwana.
3a. Klient dokonuje płatności obcą walutą lub nie obsugiwanym nominałem:
1. System nie przyjmuje pieniędzy, zwraca je klientowi.
3b. Klient ma niewystarczająca ilość pieniędzy aby zapłącić za wybrany produkt:
1. Klient klika przycisk "anuluj zakup".
1a. Po upłunięciu 90 sekund od wybrania produktu, system przechodzi do pkt 4b2.
2. System zwraca pieniądze, przerywa transakcje.
5a. W automacie nie ma pieniędzy aby wydać reszte:
1. System informuje klienta o braku pieniędzy do wydania reszty
2. Klient zgadza sie na zapłacenie wyższej ceny.
2a. Klient rezygnuje z zakupu, klika przycisk "anuluj zakupu", system przerywa transakcje.
Wymagania specjalne:
--------------------
- System posoada informacje o składzie produktu i o alergenach.
- Możliwość interfejsu wielojęzycznego.
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
*a. Wszystkie dane wprowadzone w trakcie zakupu objete są wspólną transakcją bazodanową.
*b. Panel dotykowy, słóżący do wyboru produktu i anulowania zakupu.
*c. Ekran do wyświatlania ceny i informacji o prodkucie (skład), informacje muszą być czytalne z odległości 1m.
2a. Identyfikator produktu wprowadzony z panela dotykowego przez klienta (identyfikator w postaci dwucyfrowej od 00 do 99)
5. Wydanie prodktu i reszy po dokonaniu płatności przez klienta w mniej niż 30 sekund w 90% przypadków.
Kwestie otwarte:
----------------
- obsługa automatu przez osoby niewidome?