Merge git.wmi.amu.edu.pl:s444417/Automat_spozywczy

This commit is contained in:
Radek 2020-12-02 11:07:37 +01:00
commit e08bea86cd
5 changed files with 301 additions and 176 deletions

View File

@ -1,2 +0,0 @@
Use case 11.
Jakub Adamski

View File

@ -1,94 +1,96 @@
Use Case 2: Nazwa ...
=====================
**Aktor podstawowy:** <!-- np. Klient -->
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Odbiorca1: oczekiwania ...
- Odbiorca2: oczekiwania ...
- Odbiorca3: oczekiwania ...
Warunki wstępne:
----------------
...
Warunki końcowe:
----------------
...
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. ....
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. nazwa rozszerzenia <!-- rozszerzenie *a może wystąpić w dowolnym kroku -->
1. krok pierwszy rozszerzenia *a
2. krok drugi rozszerzenia *a
3a. nazwa rozszerzenia <!-- np. 3a. Nieprawidłowy pin -->
1. krok pierwszy rozszerzenia 3a
2. krok drugi rozszerzenia 3a
2a. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
1. Krok pierwszy.
2. Krok drugi.
3. ...
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:
--------------------
- ... <!--np. Interfejs użytkownika musi być dostępny w języku polskim i angielskim. -->
- ...
- ...
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
2a. ...
2b. ...
3a. ... <!-- np. 3a. Pin składa się z 4 cyfr. -->
Kwestie otwarte:
----------------
- ... <!-- np. Czy dopuszczamy autoryzację z wykorzystaniem rozpoznawania twarzy?-->
- ...
- ...
Use Case 2: Zakup produktu
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: zakup produktów
- System płatniczy: realizacja transakcji gotówkowych i płatności kartą
- Dział zaopatrzenia: odbiera raporty od automatu spożywczego
- Watchdog: Program wykrywający błędne działanie systemu.
Warunki wstępne:
----------------
Automat jest w trybie "uruchomiony".
Warunki końcowe:
----------------
Sprzedaż produktu odbyła się poprawnie. Płatność została autoryzowana. Maszyna przechowuje dane o transakcji.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wprowadza numer dostępnego produktu
2. Automat tworzy w systemie nową transakcję, nadaje jej status "rozpoczęta"
3. Automat wyświetla konieczną do zapłacenia kwotę
4. Klient wybiera formę płatności gotówką
5. Klient wrzuca monety
6. Po każdej wrzuconej monecie automat wyświetla pozostałą do zapłacenia kwotę (do momentu aż kwota wprowadzona zrówna się, bądź przewyższy wartości wybranego produktu)
7. Automat wydaje resztę
8. Automat przygotowuje i wydaje produkt
9. Automat sprawdza stan magazynowy sprzedanego produktu i monet
10. Automat automat aktualizuje status transakcji na "zakończona"
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. watchdog wykrywa błąd/zacięcie systemu
1. watchdog resetuje automat i wprowadza go w tryb "uruchomiony". Automat sprawdza ostatnią transakcję zapisana w pamięci. Na podstawie kompleksowych danych z pamięci, automat jest wstanie kontynuować transakcję, w każdym jej kroku
2. ostatnia transakcja ma status "rozpoczęta"
2a. ostatnia transakcja ma status "zakończony"
1. automat jest gotowy do obsługi kolejnego klienta
3. automat kontynuuje sprzedaż wykonując następny krok procedury w stosunku do ostatniej zapisanej aktywności
4a. płatność kartą
1. automat komunikuje się z systemem płatniczym, wysyłając mu należną kwotę
2. klient płaci kartą płaniczą w sposób zbliżeniowy
3. system autoryzuje płatność
3a. system płatniczy odrzuca kartę
1. automat informuje klienta o odrzuconej płatności i wraca do kroku 2. scenariusza głównego
4. automat odbiera dane od systemu płatniczego
5. automat wyświetla komunikat o sukcesie
6. Następuje przejście do kroku 5. scenariusza głównego
6a. automat nie dostaje monet przez 45 sekund
1. automat zwraca wszystkie wrzucone monety z bieżącej transakcji
2. automat usuwa transakcję
3. automat jest gotów do realizacji kolejnej transakcji i wykonania kroku 1 scenariusza głównego
9a. stan magazynowy jest równy minimalnemu stanowi magazynowemu
1. automat poprzez sieć internetową wysyła informację do działu zaopatrzenia ze swoim ID i ID surowca.
Wymagania specjalne:
--------------------
- informacje o przebiegu każdego kroku transakcji są na bieżąco zapisywane w pamięci maszyny.
- numery produktów składają się z dwóch cyfr np. 01, 15
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
automat spożywczy jest podłączony do sieci internetowej za pomocą kabla sieciowego.
Kwestie otwarte:
----------------
- czy automat powinien przyjmować walutę Euro?

90
use-case-7.md Executable file
View File

@ -0,0 +1,90 @@
Use Case 7: Dodanie towaru do automatu.
=====================
**Aktor podstawowy:** Zaopatrzeniowiec
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Zaopatrzeniowiec: Dodanie przywiezionych towarów do automatu.
- Dział zaopatrzeniowy: Otrzymanie raportu o stanie produktów.
- Automat: Uzupełnienie ilości produktów.
Warunki wstępne:
----------------
Sprawny automat, gotowy do otrzymania nowych produktów lub uzupełninia ich braków.
Zaopatrzeniowiec z raportem o ilości wolnego miejsca w automacie przystępuje do dodania towarów.
Warunki końcowe:
----------------
Zaopatrzeniowiec dodał produkty.
Automat jest gotowy do obsłuzenia nowego klienta.
Dział zaopatrzeniowy otrzymuje raport o ilości produktów w automacie.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Zaopatrzeniowiec wybiera opcję "dodaj produkty" oraz podając hasło, wprowadza go w stan
gotowości do otrzymania nowych towarów.
2. Zaopatrzeniowiec uzupełnia produkty w automacie.
3. Zaopatrzeniowiec wybiera opcję "uzupełniono towar".
4. Automat sprawdza stan produktów oraz wysyła raport do działu zaopatrzeniowego.
5. Automat przechodzi w stan gotowy do zamknięcia.
6. Zaopatrzeniowiec zamyka automat, automat moze odebrać nowe zamówienie.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
1a. Podano nieprawidłowe hasło.
1. Automat wyświetla komunikat z informacją o podaniu nieprawidłowego hasła.
2. Ekran logowania pojawia się ponownie.
2a. Wielkorotnie wprowadzone nieprawidłowe hasło.
1. Automat przechodzi w stan gotowości do otrzymania nowego zamówienia oraz blokuje opcję dodania nowych produktów na 5 min.
4a. Błąd w trakcie sprawdzania stanu produków w automacie.
1. Automat powiadamia zaopatrzeniowca o błędzie podczas sprawdzania stanu towarów.
2. Zaopatrzeniowiec poprawia umieszczenie produktów oraz wybiera opcję "sprawdź ponownie".
3. Automat przechodzi do fazy sprawdzania stanu produktów.
4b. Automat nie moze wysłać wygenerowanego raportu do działu zaopatrzeniowego.
1. Automat powiadamia o błędzie zaopatrzeniowca.
2. Automat wyświetla raport na ekranie wbudowanego wyświetlacza.
3. Zaopatrzeniowiec, po zapoznaiu się z raportem, potwierdza jego odczytanie.
Wymagania specjalne:
--------------------
- Wprowadzenie zbyt duzej ilości produktów skutuje błędem w trakcie sprawdzania stanu produktów w automacie.
Ściezka 4a.
- Automat przechodzi w stan gotowości do otrzymania nowego zamówienia tylko jeśli jego czujniki wykryją poprawne zamknięcie drzwi. Ściezka 6.
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
1a. Hasło jest długości minimum 10 znaków.
4b. Automat wyświetla na ekranie czytelny dla zaopatrzeniowca raport.
Kwestie otwarte:
----------------
- Umieszczenie opcji serwisowych.
Czy mają one być klikane na ekranie autmatu, dostępne poprzez fizyczny guzik na automacie, czy moze zaopatrzeniowiec ma posiadać specjalne urządzenie serwisowe komunikujące się z automatem?
- Co oznacza czytelny raport?

View File

@ -28,14 +28,15 @@ Automat został naprawiony i jest zdany do użytku klientom. Potwierdzenie napra
1. Serwisant przy pomocy klucza otwiera automat
2. Serwisant podłącza swoje urządzenie (Laptop) do Płyty głównej automatu, oraz wpisuje wymagane hasło
3. Serwisant włącza narzędzie diagnostyczne w celu analizy błędów występujących na automacie
3. Serwisant włącza narzędzie diagnostyczne w celu wygenerowania pliku błędów występujących na automacie, oraz ich wstępnej analizie
4. Serwisant analizuje błędy
5. Serwisant Naprawia automat
6. Po ukończonej naprawie Serwisant resetuje automat
7. Serwisant przeprowadza testową operację zakupu produktu z automatu
8. Serwisant raz jeszcze sprawdza Logi systemu i wysyła je do centrali w raporcie z naprawy
8. Serwisant raz jeszcze sprawdza Logi systemu, w celu upewnienia się że automat działa poprawnie, i wysyła je do centrali w raporcie z naprawy
9. Serwisant zamyka automat
**Rozszerzenia (ścieżki alternatywne):**
------------------------------------
@ -43,7 +44,7 @@ Automat został naprawiony i jest zdany do użytku klientom. Potwierdzenie napra
1. Serwisant resetuje system, loguje się, i żąda odtworzenia stanu przed zawieszeniem się systemu
2a. Laptop nie chce się zrestartować
1a. Laptop nie chce się zrestartować
1. Serwisant wysyła rapot o uszkodzonym laptopie i wraca do centrali
@ -55,57 +56,75 @@ Automat został naprawiony i jest zdany do użytku klientom. Potwierdzenie napra
2a. Płyta główna jest uszkodzona co uniemożliwia podłączenie i analizę błędów
1. Serwisant demontuje płytę główną
2. Serwisant wysyła raport, który zawiera zamówienie na nową płytę główną
3a. Mimo błędów w systemie narzędzie diagnostycznie nie wskazuje na żaden błąd
1. krok pierwszy rozszerzenia 3a
2. krok drugi rozszerzenia 3a
1. Serwisant sam analizuje wygenerowany plik z błędami
2a. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
1a. Serwisant również nie jest w stanie odnaleźć błędu w systemie
1. Krok pierwszy.
2. Krok drugi.
3. ...
1. Serwisant wysyła plik z analizą błędów do centrali
2. Serwisant wysyła prośbę o zabranie automatu do serwisu
3. Serwisant odłącza automat od prądu
2b. nazwa scenariusza alternatywnego dla kroku 2 rozszerzenia 3a
1b. Serwisant odnajduje własnoręcznie błąd w pliku z błędami
1. Krok pierwszy.
2. ...
1. Serwisant wysyła raport o odnalezieniu błędu do zespołu odpowiedzialnego za aplikację do analizy błędów
2. Serwisant wraca do punktu 5 scenariusza głównego
3. krok trzeci rozszerzenia 3a
4. krok czwarty rozszerzenia 3a
3b. System nie posiada błędów i działa w 100% poprawnie
1. Serwisant kontynuuje od 7 kroku scenariusza głównego
3-4a. nazwa rozszerzenia <!-- rozszerzenia 3-4a. może wystąpić w kroku 3 lub 4 -->
6a. Po restarcie automat wykazuje ten sam błąd co przed pojawieniem się serwisanta
1. Serwisant wysyła odpowiedni raport o dziwnym zachowaniu automatu
2. Serwisant wraca do punktu 2 scenariusza głównego
2a. Taki błąd wystąpił więcej niż 1 raz
1. Serwisant wysyła plik z analizą błędów do centrali
2. Serwisant wysyła prośbę o zabranie automatu do serwisu
3. Serwisant odłącza automat od prądu
7a. Automat nie może ukończyć testowej operacji zakupu
1. Serwisant wraca to punktu 2 scenariusza głównego
1a. Sytuacja ta powtarza się więcej niż 1 raz
1. Serwisant wysyła plik z analizą błędów do centrali
2. Serwisant wysyła prośbę o zabranie automatu do serwisu
3. Serwisant odłącza automat od prądu
8a. Podczas sprawdzania logów okazuje się, że w automacie nadal pojawiają się błędy
1. Serwisant wraca do kroku 5 scenariusza głównego
1a. Sytuacja się powtarza więcej niż 1 raz
1. Serwisant wysyła plik z analizą błędów do centrali
2. Serwisant wysyła prośbę o zabranie automatu do serwisu
3. Serwisant odłącza automat od prądu
**Wymagania specjalne**:
--------------------
- Wielojęzyczny interface narzędzia diagnostycznego
- ...
- ...
- Plik z przeanalizowanymi błędami w języku angielskim
**Wymagania technologiczne oraz ograniczenia na wprowadzane dane**:
---------------------------------------------------------------
2a. Laptop jest w stanie uruchomić narzędzie diagnostyczne, oraz umożliwić naprawę automatu
2b. ...
3a. ... <!-- np. 3a. Pin składa się z 4 cyfr. -->
3a. Plik z analizą błędów zapisany jako semantyczna baza wiedzy w formacie .ttl
**Kwestie otwarte**:
----------------
- Czy dopuszczamy w 100% zdalną naprawę?
- Jaki jest system zabezpieczeń przed włamaniem do systemu automatu?
- ...
- Czy serwisant będzie posiadał własny czy służbowy laptop
- Czy serwisant musi rozumieć język angielski w celu analizy błędów

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?-->
- ...
- ...