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*
2b. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
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*
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?-->
- ...
- ...