Automat_spozywczy/use-cases.md

66 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# **Projekt: Automat**
## Opis skrócony przypadków użycia
### Aktorzy procesu i ich cele:
| Aktor | Cel |
|----------------------|---------------------------------------------------------------------------------|
| Klient | zakup produktów |
| Zaopatrzeniowiec | uzupełnienie brakujących produktów (lub tych które się kończą) |
| Zaopatrzeniowiec | aktualizuje stanu maszyny (w tym gotówkę) |
| Serwisant | przeprowadzenie serwisu automatu |
| Serwisant | naprawa systemu w przypadku awarii |
| System płatniczy | realizacja transakcji gotówkowych i płatności kartą |
| Automat | maszyna wydająca posiłki i produkty |
| Dział zaopatrzeniowy | osoby odpowiedzialne za dostawę i zaopatrywanie automatu (w produkty i gotówkę) |
### Słownik:
| Hasło | Opis |
|---------------------------|---------------------------------------------------------------------------------|
| Stan magazynowy | ilość produktów danego typu w maszynie |
| Minimalny stan magazynowy | ilość produktu danego typu, przy której maszyna wysyła informację o konieczności jej uzupełnienia |
| Gotowy produkt | Produkt niewymagający przygotowania, np. Baton, napój w puszcze |
| Przygotowany produkt | Produkt wymagający wcześniejszego przygotowania np. Obróbki termicznej: ciepła bułka lub zalania wrzątkiem: kawa, herbata |
| Terminal | urządzenie umożliwiające płacenie kartą wyłącznie zbliżeniowo |
| Serwisant | odpowiedzialna za utrzymanie poprawnego działania automatu, wsparcie techniczne |
### UseCases:
**Use Case 1: Automat - Wysłanie komunikatu o stanie magazynowym produktów**
Dział zaopatrzeniowy wysyła prośbę o raport stanu magazynowego wszystkich produktów do maszyny o odpowiednim ID. Automat sprawdza stan wszystkich produktów. Automat wysyła raport stanu do działu zaopatrzenia (ilość każdego z produktów).
**Use Case 2: Klient - zakup produktu**
Klient wprowadza dostępny numer produktu. Automat wyświetla konieczną do zapłacenia kwotę. Klient dokonuje płatności(patrz UC 3 lub UC4). Automat przygotowuje i wydaje produkt. Automat sprawdza stan magazynowy zakupionego produktu. Jeśli, stan magazynowy tego produktu jest równy minimalnemu stanowi magazynowemu, automat poprzez sieć internetową wysyła informację do działu zaopatrzenia ze swoim ID i ID produktu.
**Use Case 3: Automat - płatność gotówką**
Klient wrzuca monety lub podaje banknoty. Automat sumuje pieniądze i wyświetla pozostałą wartość w czasie rzeczywistym. Jeśli wartość zamówienia zostanie osiągnięta, automat akceptuje płatność. Nadwyżka salda oznacza wydanie reszty. Jeżeli stan któregoś z nominałów jest mniejszy od minimalnego, automat wysyła informację do działu zaopatrzenia ze swoim ID, nominałem i jego ilością.
**Use Case 4: Automat - płatność kartą**
Klient wybiera płatność kartą. Automat uruchamia terminal. Terminal łączy się z serwisem płatniczym. Automat wyświetla wartość zamówienia na terminalu. Klient dokonuje płatności kartą. Automat wysyła dane potrzebne do przelewu. Automat przetwarza informacje zwrotną. Automat akceptuje transakcje.
**Use Case 5: Serwisant - Przeprowadzenie serwisu automatu - “diagnostyka automatu”**
Serwisant, przy pomocy dedykowanego systemu uruchamia opcję “diagnostyka automatu”. Automat zmienia swój stan z “gotowy do użytku” na “tryb diagnostyczny”. Automat przeprowadza przygotowaną procedurę diagnozy. Automat generuje raport i wysyła go do działu serwisu. Automat zmienia swój stan na “gotowy do użytku”.
**Use Case 6: Zaopatrzeniowiec Dodanie pieniędzy do automatu**
Zaopatrzeniowiec wybiera w systemie opcję “Dodanie pieniędzy”. Zaopatrzeniowiec dodaje monety do poszczególnych przegródek na odpowiednie nominały. Zaopatrzeniowiec włącza funkcję “przeliczenia pieniędzy”. Automat przelicza monety i banknoty oraz wysyła informację do działu zaopatrzeniowego o nowym stanie kasetki. Zaopatrzeniowiec wyłącza funkcję dodawania pieniędzy i przełącza automat w tryb “gotowy do użytku”.
**Use Case 7: Zaopatrzeniowiec Dodanie towaru do automatu**
Zaopatrzeniowiec uzupełnia brakujący towar w automacie. Po uzupełnieniu wybiera w systemie opcję “Uzupełniono towar”. Następnie system czujników w automacie sprawdza nowy stan poszczególnych produktów i wysyła odpowiedni raport do działu zaopatrzeniowego. Automat przechodzi w stan gotowości do zamknięcia. Po zamknięciu automat przechodzi w tryb “gotowy do użytku”.
**Use Case 8: Serwisant Naprawa automatu w przypadku awarii systemu**
Serwisant wyłącza automat. Następnie pobiera logi systemowe z automatu w celu ich analizy (znalezienia błędu). Po analizie serwisant podpina się do systemu i przełącza go w stan naprawy. Po naprawie serwisant przeprowadza scenariusz zakupu (patrz UC2) a następnie gdy przeszedł on testy to przełącza go w stan gotowości do działania.
**Use Case 9 Automat- Generowanie raportu ze sprzedaży**
Po wybraniu funkcji “Raport sprzedaży” automat generuje raport, w którym znajdują się informacje kiedy dany produkt został wykupiony i po jakim czasie od ostatniego uzupełninia towaru. Raport po wygenerowaniu zostanie wysłany na działu zaopatrzeniowego.
**Use Case 10 Zaopatrzeniowiec - Pobranie pieniędzy z automatu**
Zaopatrzeniowiec przełącza automat w stan pobrania pieniędzy. Czujniki w kasetce przeliczają ilość pieniędzy do wydania i następnie generują raport i wysyłają go do działu zaopatrzeniowego i właściciela automatu. Zaopatrzeniowiec pobiera pieniądze. Zaopatrzeniowiec wyłącza funkcję pobierania pieniędzy i przełącza automat w tryb “gotowy do użytku”.
**Use Case 11 Automat - Awaryjne wyłączenie się automatu**
Automat jest odporny na pojawienie się błędów systemowych podczas działania. W przypadku natrafienia na jeden z nich, automat nie wyłącza się. Zostaje automatycznie pobierany raport błędu, a szczegółowe dane w nim zawarte zostają przesłane do specjalnego systemu powiadomień serwisanta.
**Use Case 12 Automat - Alarm przy próbie włamania**
Automat za pomocą specjalnego czujnika wykrywa nieautoryzowane otwarcie. Oznacza to próbę włamania. Automat włącza alarm dźwiękowy oraz wysyła powiadomienie z dokładnym czasem oraz identyfikatorem maszyny. Serwisant otrzymuje powiadomienie w specjalnym systemie i jest w stanie wyłączyć alarm dźwiękowy zdalnie.