04. Use Cases - ProjektKoncowyWSEI/Exam GitHub Wiki

Use Case dla Nauczyciela:

Dodawanie nowego pytania
Aktor - Nauczyciel Nauczyciel Rozszerzenia (sprawdzanie problemów)
Warunek początkowy Nauczyciel jest zalogowany do systemu
Warunek końcowy Zapisanie nowego pytania przez nauczyciela do bazy dancyh
Główny scenariusz powodzenia 1.Logowanie do systemu
2.Wybór bazy danych 2a Baza danych nie istnieje -> stworzenie nowej bazy danych i przejscie do punktu 3
3.Wybór opcji wprowadzenie nowego pytania(tekstowe,obrazkowe) 3a Jeśli wybrano tekstowe uruchomienie formularza do wprowadzenia pytania tekstowego dodanie tekstu i przejscie do punktu 33b Jeśli wybrano obrazkowe uruchomienie formularza do wprowadzenia pytania obrazkowego dodanie obrazka i przejscie do punktu 3
4. Wybór opcji konkretnego pytania(czy odpowiedź -> jedna , wiele , porównanie , przenoszenie )
5. Zaznaczenie poprawnych odpowiedzi
6. Zapis pytania 6a Wprowadzone pytanie jest niekompletne -> wyświetlenie komunikatu i powrót do punktu 2.6b Wprowadzone pytani jest kompletne -> wyświetlenie komunikatu i przejscie do punktu 7
7. Wylogowanie z systemu

Use Case dla Admin, dodawanie bazy pytań

Aktor Admin Rozszerzenia
Warunek początkowy Administrator jest zalogowany do systemu
Administrator chce dodać nową bazę pytań
Warunek końcowy Nowa baza zostaje zapisana na serwerze
Główny scenariusz powodzenia 1. Admin klika przycisk "Menu" 1a. Przycisk Menu nie jest widoczny
1a1. System nie rozpoznaje użytkownika jako Administratora
1a2. System wysyła powiadomienie do właściciela systemu z prośbą o nadanie uprawnień
1a3. Następuje wylogowania z systemu
2. W menu Administrator klika przycisk "Utwórz nowa bazę pytań" 2a. Przycisk "Utwórz nowa bazę pytań" nie jest dostępny
2a1. System nie rozpoznaje użytkownika jako Administratora
2a2. System wysyła powiadomienie do właściciela systemu z prośbą o nadanie uprawnień
3. Administrator wybiera serwer 3a. Nie wyświetlają się dostępne serwery
3a1. System pozwala na wprowadzenie nazwy
3b. System nie znajduje wprowadzonego serwera
3b1. Następuje powrót do punktu 2 (otwarcie nowego okna z możliwością wybrania serwera)
4. System sprawdza dostępność bazy i informuje Administratora o powodzeniu komunikatem 4a. Nie udało się zapisać bazy
4a1. Zwrócony jest komunika z przyczyna problemu
4a2. Następuje przekierowanie do punktu 2 lub 3 w zależności od treści komunikatu
4a2a. Powrót do punktu 2 dla komunikatu: Baza o tej nazwie już istnieje
4a2b. Powrót do punktu 3 dla komunikatu: Brak pamięci na serwerze

Use Case dla Ucznia:

Aktor Uczeń Rozszerzenia
Warunek początkowy Uczeń musi być zalogowany do systemu 1a. Początkowy login narzucony z uczelni, możliwość zmiany hasła po pierwszym zalogowaniu
1b. Logowanie jest poprawne - zalogowano
1c. Logowanie niepoprawne - formularz logowania dostępny ponownie
2a. Reset hasła narzuconego po zalogowaniu w panelu edycji profilu studenta
 
Uczeń musi dokonać opłaty czesnego Opłata dokonana tradycyjnym przelewem lub możliwość skorzystania z PayU
 
 
Uczeń musi mieć minimalną ilość obecności na zajęciach Obecności jedynie do wglądu studenta
 
 
Warunek końcowy Ukończenie egzaminu niezależnie od wyniku Podgląd wszystkich pytań i udzielonych odpowiedzi - za zaznaczeniem popełnionych błędów
 
Główny scenariusz powodzenia 1. Uczeń wybiera prowadzącego i przedmiot
 
 
2. Uczeń wybiera egzamin testowy lub od razu właściwy (zaliczeniowy z ocen�) 2a. Wybór egzaminu testowego dostępny zawsze
2b. Wybór egzaminu właściwego niedostępy gdy nie spełnione kryterium obecności
3. Przy wersji testowej student ma możliwość podejrzenia odpowiedzi i czas jest nieograniczony
 
 
 
4. Student kończy egzamin w określonym czasie i widzi jego wynik 4a. Czas się skończy¸ uczeń nie może powrócić do pytań- widzi wynik końcowy
 
 
4b. Student ukończy egzamin przed czasem i może zapisać egzamin i przejść do podsumowania
 
 
5. Przy wersji testowej ma możliwość wykonania egzaminu dowolną ilość razy 5a. Egzaminy testowe pobierają pytania losowo z bazy pytań
 
 
6. Przy wersji właściwej ilość podejść określa egzaminator
 
 
 
⚠️ **GitHub.com Fallback** ⚠️