Zaktualizuj 'use-case-2.md'

This commit is contained in:
Mikołaj Krzymiński 2020-12-01 23:48:22 +01:00
parent 513cf34ce1
commit 4da2d0fc57

View File

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