# **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 produkty i monety | | Serwisant | przeprowadzenie serwisu automatu | | Serwisant | naprawa systemu w przypadku awarii | | System płatniczy | realizacja transakcji gotówkowych i płatności kartą | | | 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: Dział zaopatrzeniowy - Wysłanie prośby o raport stanu magazynowego 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. **Use Case 3: Klient - 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ść. Automat wydaje resztę. Automat sprawdza stan magazynowy nominałow. **Use Case 4: Klient - 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 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 Serwisant - 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 Serwisant - Powiadomienie o awaryjnym wyłączeniu 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 Serwisant - Informacja o 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.