Zaktualizuj 'use-case-9.md'

This commit is contained in:
Mikołaj Paterka 2020-12-01 21:16:23 +01:00
parent 022e107a0b
commit 99fd1bb3c7

View File

@ -1,94 +1,110 @@
Use Case 9: Automat- Generowanie raportu ze sprzedaży
=====================
**Aktor podstawowy: Klient**
**Aktor podstawowy: Zaopatrzeniowiec**
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Odbiorca1: oczekiwania ...
- Odbiorca2: oczekiwania ...
- Odbiorca3: oczekiwania ...
- Dział zaopatrzeniowy: uzyskanie informacji, które produkty są najszybciej kupowane.
Warunki wstępne:
----------------
...
Zaopatrzeniowiec jest zalogwany do systemu.
Warunki końcowe:
----------------
...
Dział zaopatrezniowy otrzymał od automatu poprawnie wygenerownay raport sprzedazy.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Krok 1 scenariusza głównego. <!-- np. 1. Klient wkłada kartę do bankomatu. -->
2. Krok 2 scenariusza głównego. <!-- np. 2. System prosi o podanie pinu. -->
3. Krok 3 scenariusza głównego. <!-- np. 3. Klient wprowadza pin.) -->
4. ....
1. Zaopatrzenieowiec wybiera w systemie funkcję *Generowanie raportu sprzedży*.
2. Zaopatrezniowec wybiera produkt (jeden,kilka lub wszytkie), którego ten raport bedzie dotyczył i go/je akceptuje.
3. Zapatrezniowec akceptuje zamy czasowe raportu (data_od_kiedy, data_do_kiedy).
4. Autoamt generuje raport sprzedaży.
Raport zawiera:
- id_automatu
- id_produktu
- nazwa_produktu
- data_od_kiedy (domyślnie: od dnia ostatniego dołozenia produktu do autoamtu)
- data_do_kiedy (domyślnie: do dnia wybrania opcji (włącznie))
- liczby_zakupów_danego_produktu_w_jednym_dniu (w kazdym dniu)
- liczby_zakupów_danego_produktu_w_jednym_tygodniu (w kazdym tygodniu)
- liczba_zakupów_danego_produktu_w_całym okresie
- liczba_wszystkich_kupionych_produktów_w_jednym_dniu (w kazdym dniu)
- liczba_wszystkich_kupionych_produktów_w_tygodniu (w kazdym tygodniu)
- liczba_wszystkich_kupionych_produktów_w_całym_okresie
- stosunek_liczby_zakupów_danego_produktu_w_jednym_dniu_do_liczby_wszystkich_kupionych_produktów_w_jednym_dniu (w kazdym dniu)
- stosunek_liczby_zakupów_danego_produktu_w_jednym_tygodniu_do_liczby_wszystkich_kupionych_produktów_w_tygodniu (w kazdym tygodniu)
- stosunek_liczby_zakupów_danego_produktu_w_całym_okresie_do_liczby_wszystkich_kupionych_produktów_w_całym_okresie
5. Automat wysyła raport do działu zaopatrzeniowego.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. nazwa rozszerzenia <!-- rozszerzenie *a może wystąpić w dowolnym kroku -->
*a. Brak prądu/ nagłe wyłączenie zasilania
1. Ponowane włączenie automatu
2. Automat przechodzi w tryb *Gotowy do działania*
3. Funkcje przerwane, nalezy rozpocząć od nowa
1. krok pierwszy rozszerzenia *a
2. krok drugi rozszerzenia *a
*b Resetowanie sytemu (uruchamianie ponowanie)
1. Automat przechodzi w tryb *Gotowy do działania*
2. Funkcje przerwane, nalezy rozpocząć od nowa
3a. nazwa rozszerzenia <!-- np. 3a. Nieprawidłowy pin -->
1a. Wybranie niewłaściwej funkcji
1. Zaopatrezniowec wybiera opcję cofnij
1a. Brak mozliwości przejścia do listy z dostepnymi funkcajmi
1. Po odczekaniu 15s, zaopatrzeniowiec resetuje system
2. Wybranie funkcji *Generowanie raportu sprzedazy*
1. krok pierwszy rozszerzenia 3a
2. krok drugi rozszerzenia 3a
2a. Zaopatrzeniowiec modyfikuje/zmienia wybrany/-e produkt/-y, którego/-ych będzie dotyczył raport
1. Zaopatrzeniowiec wybiera opcję *Zmień produkt/-y*
2. Automat wyświetla listę produktów
3. Zaopatrzeniowiec modyfikuje listę po przez kliknięcie na dany produkt
2a. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
3a. Zaopatrzeniowiec modyfikuje ramy czasowe raportu (data_od_kiedy, data_do_kiedy)
1. Zaopatrzeniowiec wybiera opcję *Modyfikuj*
2. Zaopatrzeniowec wpisuje nowe ramy czasowe (recznie- z klawiatury)
1. Krok pierwszy.
2. Krok drugi.
3. ...
4a. Błąd w generowaniu raportu
1. Automat wyświetla komunikat o błędym wykonaniu funkcji
2. Zaopatrzeniowiec wybiera opcję *Wyświetl szczegóły błędu*
3. Automat wyświetla szczegóły błędu
3a. Automat nie wyświetla szczegółów błędu
1. Powrót do kominikatu o błędzie
2. Zaopatrzeniowiec wybiera *Wyświetl szczegóły błędu*
3. System poprawnie wyświetlił szczegóły błędu
3a System nie wyświetlił szczegółów błędu - wyświetlił np. puste okienko
1. Ponownie uruchominie systemu w automacie
4. Powrót do menu głównego
5. Automat przechodzi w stan *Gotowy do uzytku*
5a. Niepowdzenie w wyłaniu raportu
1. Automaty wyświetla kominikat o niepowodzeniu wysłania raportu
2. Zapatrezniowiec wybiera opcję *Wyślij ponowanie*
3. Automata wysyła raport do działu zaopatrezniowego
3a. Automaty wyświetla kominikat o niepowodzeniu wysłania raportu
1. Ponownie uruchominie systemu w automacie
4. Powrót do menu głównego
5. Automat przechodzi w stan *Gotowy do uzytku*
2b. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
1. Krok pierwszy.
2. ...
3. krok trzeci rozszerzenia 3a
4. krok czwarty rozszerzenia 3a
3b. nazwa rozszerzenia
1. krok pierwszy rozszerzenia 3b
2. krok drugi rozszerzenia 3b
3. ...
3-4a. nazwa rozszerzenia <!-- rozszerzenia 3-4a. może wystąpić w kroku 3 lub 4 -->
Wymagania specjalne:
--------------------
- Raport jest generowny w języku polskim
- ... <!--np. Interfejs użytkownika musi być dostępny w języku polskim i angielskim. -->
- Po wybraniu produktu z listy, dany produkt zostaje podświetlony (jego tło zmienia kolor)
- ...
- ...
- W raporcie statystyki/liczby poszczególnych produktów, rozpoczynają się od nowe strony (by potem mozna było łatwo wydzielić statystyki poszczegónego produktu)
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
- Automat ma dostęp do internetu
2a. ...
2b. ...
3a. ... <!-- np. 3a. Pin składa się z 4 cyfr. -->
Kwestie otwarte:
----------------
- Raport genrowany w języku obcym
- ... <!-- np. Czy dopuszczamy autoryzację z wykorzystaniem rozpoznawania twarzy?-->
- ...
- ...