diff --git a/use-case-1.md b/use-case-1.md new file mode 100644 index 0000000..95c7c1e --- /dev/null +++ b/use-case-1.md @@ -0,0 +1,91 @@ +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 podchodzi do automatu. + 2. Klient wybiera produkt, który chce kupić. + 3. Automat podaje cenę wybranego produktu i jego skład. + 4. Klient dokonuje płatności gotówką. + 5. System zapisuje informacje o dacie, godzinie i danych transakcji, system aktualizuje informacje o stanie automatu. + 6. Automat wydaje reszte i podaje zakupiony produkt. + + +Rozszerzenia (ścieżki alternatywne): +------------------------------------ + + *a. W dowolnym czasie, dotyczy sytuacji kiedy system zawiesza się: + Załącza sie system awaryjny, resetuje transakcje, zwraca klientowi pieniądze i uruchamia procedure zakupu od nowa. + + 2a. Wybór przez klienta produktu nie isteniejącego, lub którego nie ma na stanie: + wyswietlenie informacji na ekranie o błędzie, i prośba o ponowny wybów. + + 3a. Brak ceny produktu w systemie: + system odmawia możliwości zakupu produktu. + + 3b. Wiecej niż jedna cene w systemie: + system podaje klientowi cene, która została wprowadzona jako ostatnia (z cena z najnowszej aktualizacji). + + 3c. 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. + + 4a. Klient dokonuje płatności obcą walutą lub nie obsugiwanym nominałem: + system nie przyjmuje pieniędzy, zwraca pieniądze klientowi. + + 4b. Klient ma niewystarczająca ilość pieniędzy aby zapłącić za wybrany produkt: + Klient klika przycisk "anuluj zakup", system zwraca pieniądze, przerywa transakcje. + + 6a. 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) + + 6. 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? \ No newline at end of file