Zaktualizuj 'use-case.md'

This commit is contained in:
Mikołaj Krzymiński 2020-11-17 22:57:03 +01:00
parent b376f6e993
commit d6fe682f64

View File

@ -1,65 +1,65 @@
Opis skrócony przypadków użycia
===============================
# **Projekt: Automat**
Aktorzy procesu i ich cele
--------------------------
## Opis skrócony przypadków użycia
Aktor | Cel
----------------------|------------------------------
Klient | Zakup produktów
Zaopatrzeniowiec | Uzupełnienie brakujących produktów (lub tych które się kończą) i aktualizuje stanu maszyny (w tym gotówkę)
Serwisant | Przeprowadzenie serwisu automatu
System płatniczy | Realizacja transakcji gotówkowych i płatności kartą
### 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: Automat- sprzedaż 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.
Słownik
-------
Hasło |Opis
---------------------------|-----------------------------
Stan magazynowy | Ilość produktów danego typu w maszynie
Minima stan magazynowy | Ustalona ilość produktów danego typu, przy której maszyna wysyła informację o konieczności jego 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
|
Przypadki użycia
----------------
### Use case 1: Automat - Wysłanie komunikatu o kończeniu się produktu
1. Po poprawnie wykonanej transakcji, automat sprawdza stan magazynowy produktu, który został sprzedany
2. Jeśli, stan magazynowy tego produktu jest równy minimalnemu stanowi magazynowemu, automat poprzez sieć wysyła informację do działu zaopatrzenia ze swoim ID i ID produktu
### Use case 2: Automat - Wysłanie komunikatu o stanie magazynowym produktów
1. Serwer wysyła do maszyny o odpowiednim ID prośbę o raport stanu magazynowego wszystkich produktów
2. Automat sprawdza stan wszystkich produktów
3. Automat wysyła raport stanu do działu zaopatrzenia
### Use case 3: Klient - Zakup gotowego produktu
1. Automat wyświetla komunikat “Wybierz numer produktu”
2. Klient wprowadza numer gotowego produktu, który chce zakupić
3. Automat wyświetla konieczną do zapłacenia kwotę
4. Klient wrzuca monety
5. Dopóki kwota wpłacona przez klienta nie zrówna się, bądź nie przewyższy wartości wybranego wcześniej produktu, po każdej wrzuconej monecie automat wyświetla komunikat ile jeszcze pieniędzy należy wprowadzić
6. Automat wydaje produkt i resztę z transakcji
### Use case 4: Klient - Zakup przygotowanego produktu
1. Automat wyświetla komunikat “Wybierz numer produktu”
2. Klient wprowadza numer przygotowanego produktu, który chce zakupić
3. Automat wyświetla konieczną do zapłacenia kwotę
4. Klient wrzuca monety
5. Dopóki kwota wpłacona przez klienta nie zrówna się, bądź nie przewyższy wartości wybranego wcześniej produktu, po każdej wrzuconej monecie automat wyświetla komunikat ile jeszcze pieniędzy należy wprowadzić
6. Automat uruchamia procedurę przygotowania produktu
7. Automat wydaje produkt i resztę z transakcji
### Use case 5: Serwisant - Przeprowadzenie serwisu automatu - “diagnostyka problemu”
1. Serwisant, przy pomocy aplikacji mobilnej uruchamia opcję “diagnostyka problemu”
2. Automat zmienia swój stan z “uruchomiony” na “tryb diagnozy”
3. Automat przeprowadza przygotowaną procedurę diagnozy
4. Automat generuje raport i wysyła go do działu serwisu
5. Automat zmienia swój stan na “uruchomiony”