diagram_9-X

This commit is contained in:
MikoPat 2021-01-31 11:46:07 +01:00
parent bee4d2b03b
commit a2dc6c1f7c
11 changed files with 485 additions and 18 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@ -1,7 +0,0 @@
Test q dadsfdsasdn
savfsdfanfkasljdasd
sadvsadkjvnkasdjasdnvs
avdsvgn
hhnfgn
fn
ggh

View File

@ -1,3 +1,4 @@
<<<<<<< HEAD
#**Projekt: Automat**
##Opis skrócony przypadków użycia
@ -37,5 +38,71 @@ Dokładanie towaru do automatu(potwierdzenie stanu, który automatycznie uzupeł
7. **Use Case7: Serwisant **
Naprawa automatu w przypadku awarii (awaria systemu) (wyłączenie automatu jako osobny use case)(lista błędów)
=======
# **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 |
| Minima 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 |
| Kasetka | miejsce, gdzie wpadają monety które są w nadmiarze |
| 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.
>>>>>>> 97fd1b48ee913845d319571fb4cc68aa99c6fe54

10
models/10.session Normal file
View File

@ -0,0 +1,10 @@
window_sizes 1920 1027 450 1465 870 104
show_stereotypes
selected sequencediagram_ref 128266 // 9-1-wybranieOpcji"GenerowanieRaportu"
open
class_ref 129166 // Serwisant
class_ref 129422 // Zwrot_monet
classview_ref 128002 // design
end
end

117
models/128138.diagram Normal file
View File

@ -0,0 +1,117 @@
format 223
classinstancecanvas 128130 classinstance_ref 128514 // KontrolerAutomatu
xyz 107 26 2010 life_line_z 2000
end
classinstancecanvas 128258 classinstance_ref 128642 //
xyz 450 29 2015 life_line_z 2000
end
classinstancecanvas 132226 classinstance_ref 128770 //
xyz 811 27 2000 life_line_z 2000
end
classinstance 133890 class_ref 128142 // Klient
name "" xyz 8 15 2000 life_line_z 2000
classinstancecanvas 134146 classinstance_ref 135682 //
xyz 647 29 2020 life_line_z 2000
end
durationcanvas 128770 classinstance_ref 128130 // KontrolerAutomatu:Automat
xyzwh 197 146 2010 11 158
overlappingdurationcanvas 129538
xyzwh 203 257 2020 11 27
end
overlappingdurationcanvas 134914
xyzwh 203 150 2020 11 25
end
end
durationcanvas 129026 classinstance_ref 128258 // :ManagerTransakcji
xyzwh 514 191 2010 11 329
end
durationcanvas 132354 classinstance_ref 132226 // :ModulPlatnosciGotowkowej
xyzwh 902 222 2010 11 260
overlappingdurationcanvas 135170
xyzwh 908 250 2020 11 26
end
overlappingdurationcanvas 136706
xyzwh 908 450 2020 11 26
end
end
durationcanvas 134274 classinstance_ref 134146 // :Sprzedaz
xyzwh 681 225 2010 11 315
overlappingdurationcanvas 135810
xyzwh 687 498 2020 11 26
end
overlappingdurationcanvas 136450
xyzwh 687 406 2020 11 25
end
end
durationcanvas 134786 classinstance_ref 133890 // :Klient
xyzwh 24 149 2010 11 27
end
msg 129154 synchronous
from durationcanvas_ref 128770
to durationcanvas_ref 129026
yz 204 2015 explicitmsg "rozpocznijTransakcje()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "idProdukt:String"
label_xy 249 187
msg 129666 synchronous
from durationcanvas_ref 129026
to durationcanvas_ref 129538
yz 272 2025 explicitmsg "wyswietlKwote()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "kwota:Kwota"
label_xy 260 252
msg 134402 synchronous
from durationcanvas_ref 129026
to durationcanvas_ref 134274
yz 230 3005 explicitmsg "create()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "status:State, idProduktu:String, kwota:Kwota"
label_xy 547 212
msg 135042 synchronous
from durationcanvas_ref 134786
to durationcanvas_ref 134914
yz 153 2025 explicitmsg "wybranyProdukt()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "numerProduktu:Int"
label_xy 26 129
msg 135298 synchronous
from durationcanvas_ref 134274
to durationcanvas_ref 135170
yz 264 2025 explicitmsg "aktywuj()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 832 247
msg 135426 return
from durationcanvas_ref 132354
to durationcanvas_ref 134274
yz 336 2015 explicitmsg "kwota:Kwota"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 818 319
msg 135938 synchronous
from durationcanvas_ref 129026
to durationcanvas_ref 135810
yz 498 2025 explicitmsg "end()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "status:State"
label_xy 580 481
msg 136066 return
from durationcanvas_ref 134274
to durationcanvas_ref 129026
yz 354 2015 explicitmsg "kwota:Kwota"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 592 337
msg 136578 synchronous
from durationcanvas_ref 129026
to durationcanvas_ref 136450
yz 413 2025 explicitmsg "reszta()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "kwota:Kwota"
label_xy 546 396
msg 136834 synchronous
from durationcanvas_ref 134274
to durationcanvas_ref 136706
yz 450 2025 explicitmsg "zwrocReszte()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "kwota:Kwota"
label_xy 772 433
end

31
models/128266.diagram Normal file
View File

@ -0,0 +1,31 @@
format 223
classinstance 129930 class_ref 128010 // Zaopatrzeniowec
name "" xyz 9.11687 31.8376 2000 life_line_z 2000
classinstance 130186 class_ref 128014 // Automat
name "KontrolerAutormat" xyz 184.978 36.5859 2000 life_line_z 2000
classinstance 130954 class_ref 128014 // Automat
name "" xyz 817.479 26.438 2005 life_line_z 2000
durationcanvas 130314 classinstance_ref 129930 // :Zaopatrzeniowec
xyzwh 63 173.582 2010 11 40
end
durationcanvas 130442 classinstance_ref 130186 // KontrolerAutormat:Automat
xyzwh 272 173.902 2010 11 122
end
durationcanvas 131082 classinstance_ref 130954 // :Automat
xyzwh 846 185.789 2010 11 178
end
msg 130570 synchronous
from durationcanvas_ref 130314
to durationcanvas_ref 130442
yz 197 2015 explicitmsg "generujRaportSprzedazy()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 89 182
msg 131210 synchronous
from durationcanvas_ref 130442
to durationcanvas_ref 131082
yz 244 2015 explicitmsg "generujRaportSprzedazy()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "data:Data_Poczatek,data:Data_Koniec,idProdukt:String"
label_xy 293 230
end

View File

@ -15,33 +15,33 @@ classinstancecanvas 134146 classinstance_ref 135682 //
xyz 647 29 2020 life_line_z 2000
end
durationcanvas 128770 classinstance_ref 128130 // KontrolerAutomatu:Automat
xyzwh 230 146 2010 11 158
xyzwh 197 146 2010 11 158
overlappingdurationcanvas 129538
xyzwh 236 257 2020 11 27
xyzwh 203 257 2020 11 27
end
overlappingdurationcanvas 134914
xyzwh 236 150 2020 11 25
xyzwh 203 150 2020 11 25
end
end
durationcanvas 129026 classinstance_ref 128258 // :ManagerTransakcji
xyzwh 514 191 2010 11 329
end
durationcanvas 132354 classinstance_ref 132226 // :ModulPlatnosciGotowkowej
xyzwh 990 222 2010 11 260
xyzwh 902 222 2010 11 260
overlappingdurationcanvas 135170
xyzwh 996 250 2020 11 26
xyzwh 908 250 2020 11 26
end
overlappingdurationcanvas 136706
xyzwh 996 450 2020 11 26
xyzwh 908 450 2020 11 26
end
end
durationcanvas 134274 classinstance_ref 134146 // :Sprzedaz
xyzwh 712 225 2010 11 315
xyzwh 681 225 2010 11 315
overlappingdurationcanvas 135810
xyzwh 718 498 2020 11 26
xyzwh 687 498 2020 11 26
end
overlappingdurationcanvas 136450
xyzwh 718 406 2020 11 25
xyzwh 687 406 2020 11 25
end
end
durationcanvas 134786 classinstance_ref 133890 // :Klient

38
models/134794.diagram Normal file
View File

@ -0,0 +1,38 @@
format 223
classinstance 129930 class_ref 128010 // Zaopatrzeniowec
name "" xyz 40 32 2000 life_line_z 2000
classinstance 130186 class_ref 128014 // Automat
name "KontrolerAutormat" xyz 265 38 2000 life_line_z 2000
classinstance 130954 class_ref 128014 // Automat
name "" xyz 703 36 2005 life_line_z 2000
durationcanvas 130442 classinstance_ref 130186 // KontrolerAutormat:Automat
xyzwh 353 155 2010 11 184
end
durationcanvas 131082 classinstance_ref 130954 // :Automat
xyzwh 732 216 2010 11 132
end
durationcanvas 131978 classinstance_ref 129930 // :Zaopatrzeniowec
xyzwh 94 151 2010 11 86
end
msg 131210 synchronous
from durationcanvas_ref 130442
to durationcanvas_ref 131082
yz 249 2015 explicitmsg "modyfikujDaty()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "data:Data_Poczatek,data:Data_Koniec"
label_xy 371 235
msg 131722 synchronous
from durationcanvas_ref 130442
to durationcanvas_ref 131082
yz 294 2015 explicitmsg "modyfikujProdukt()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "idProdukt:string"
label_xy 437 277
msg 132106 synchronous
from durationcanvas_ref 131978
to durationcanvas_ref 130442
yz 177 2015 explicitmsg "modyfikujDane()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 176 160
end

46
models/141322.diagram Normal file
View File

@ -0,0 +1,46 @@
format 223
classinstance 129930 class_ref 128010 // Zaopatrzeniowec
name "" xyz 40 32 2000 life_line_z 2000
classinstance 130186 class_ref 128014 // Automat
name "KontrolerAutormat" xyz 446 42 2000 life_line_z 2000
classinstance 130954 class_ref 128014 // Automat
name "" xyz 900 44 2005 life_line_z 2000
durationcanvas 130442 classinstance_ref 130186 // KontrolerAutormat:Automat
xyzwh 534 150 2010 11 212
end
durationcanvas 131082 classinstance_ref 130954 // :Automat
xyzwh 929 246 2010 11 116
end
durationcanvas 131978 classinstance_ref 129930 // :Zaopatrzeniowec
xyzwh 94 143 2010 11 158
end
msg 131210 synchronous
from durationcanvas_ref 130442
to durationcanvas_ref 131082
yz 286 2015 explicitmsg "ramyCzasowe()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "data:Data_Poczatek,data:Data_Koniec"
label_xy 562 271
msg 131722 synchronous
from durationcanvas_ref 130442
to durationcanvas_ref 131082
yz 315 2015 explicitmsg "wybranyProdukt()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "idProdukt:string"
label_xy 616 302
msg 132106 synchronous
from durationcanvas_ref 131978
to durationcanvas_ref 130442
yz 186 2015 explicitmsg "wybierzRamyCzasowe()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "data:Data_Poczatek,data:Data_Koniec"
label_xy 112 168
msg 132490 synchronous
from durationcanvas_ref 131978
to durationcanvas_ref 130442
yz 227 2015 explicitmsg "wybierzProdukt()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
args "idProdukt:string"
label_xy 264 210
end

View File

@ -1,7 +1,7 @@
format 223
"models"
revision 13
modified_by 13 "Kuba"
revision 18
modified_by 10 "Miko³aj"
@ -1818,5 +1818,60 @@ format 223
sequencediagramsettings end
overlapping_bars size A3
end
sequencediagram 128266 "9-1-wybranieOpcji\"GenerowanieRaportu\""
sequencediagramsettings end
size A3
end
class 128010 "Zaopatrzeniowec"
visibility package stereotype "actor"
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
classinstance 128138 "Raport"
type class_ref 136962 // Raport_sprzedazy
attributes
end
relations
end
end
classinstance 134666 "Raport"
type class_ref 136962 // Raport_sprzedazy
attributes
end
relations
end
end
class 134666 "KontrolerAutomat"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
sequencediagram 141322 "9-2-wyborDatyIProduktow"
sequencediagramsettings end
size A3
end
sequencediagram 134794 "9-3-modufikacjaDatyIProduktwo"
sequencediagramsettings end
size A3
end
end
end

110
use-case 9.md Normal file
View File

@ -0,0 +1,110 @@
Use Case 9: Automat- Generowanie raportu ze sprzedaży
=====================
**Aktor podstawowy: Zaopatrzeniowiec**
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- 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. 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. 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
*b Resetowanie sytemu (uruchamianie ponowanie)
1. Automat przechodzi w tryb *Gotowy do działania*
2. Funkcje przerwane, nalezy rozpocząć od nowa
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*
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
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)
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*
Wymagania specjalne:
--------------------
- Raport jest generowny w języku polskim
- 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
Kwestie otwarte:
----------------
- Raport genrowany w języku obcym