UC.01 Zobrazení návodu k použití aplikace additional Uživatel se chce seznámit s popisem možností aplikace CdG uživatel v jakékoliv roli je zobrazena jakákoliv stránka CdG uživatel klikne na položku „Návod“ v liště menu položka „Návod“ v liště menu je zvýrazněna zobrazí se stránka „Návod“ se čtyřmi oddíly stránka „Návod“ je defaultně zobrazovanou stránkou po spuštění aplikace
UC.02 Zobrazení celkového přehledu additional Kdokoliv si chce prohlédnout celkový přehled, což jsou agregovaná data všech studentů a všech jejich odevzdání CdG uživatel v jakékoliv roli inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) a seznam odevzdaných úloh (UC.05) je zobrazena jakákoliv stránka CdG uživatel klikne na položku „Celkově“ v liště menu položka „Celkově“ v liště menu je zvýrazněna zobrazí se stránka „Celkový přehled“ s tabulkou a s histogramem hodin V databázi ještě nejsou načtena žádná data, tj. nebyly provedeny UC.04 a UC.05 na stránce „Celkově“ se místo tabulky zobrazí hlášení „Dosud nejsou k dispozici žádná data“
UC.03 Registrace učitele key Učitel chce provést svoji registraci (tj. první přihlášení) do aplikace CdG Nepřihlášený učitel již byl registrován (opakovaný UC.03) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Nepřihlášený“ uživatel klikne na položku menu „Nepřihlášený“ objeví se rozbalovací submenu s položkou „Registrace“ uživatel klikne na položku menu „Registrace“ objeví se modální okno „Registrujte se podle své role“ s aktivní záložkou „Student“ uživatel klikne na záložku „Učitel“ uživatel zadá svoje nové heslo do vstupního pole uživatel stiskne tlačítko „Zaregistrovat“ v menu vlevo se objeví role „Učitel“ v liště menu budou zobrazeny položky „Návod“, „Celkově“, „Studenti“, „A00B1234P“, „Nastavení“ a ikona „Logout“ v liště menu je zvýrazněna položka „Celkově“ je zobrazena stránka „Celkový přehled“ s textem „Dosud nejsou k dispozici žádná data“ učitel nezadal žádné heslo po stisku tlačítka „Zaregistrovat“ je na stejné stránce zobrazena nápověda „Vyplňte prosím toto pole“ učitel již byl dříve registrován je zobrazeno modální okno „Varovné hlášení“ s textem „Registrace se nezdařila. Byla již provedena dříve.“ po uzavření modálního okna zůstává zobrazeno menu pro aktivního uživatele „Nepřihlášený“ úspěšná registrace učitele má stejný výsledek jako úspěšné přihlášení - viz UC.07 po úspěšné registraci by měl „Učitel“ ihned pokračovat v UC.04
UC.04 Inicializace seznamu studentů key Učitel zadá celkový počet úloh v semestru a načte soubor se seznamem zapsaných studentů do databáze. Soubor je v CSV formátu a je již uložen v adresáři VstupniData. CdG Učitel je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ uživatel klikne na položku menu „Nastavení“ zobrazí se stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ uživatel klikne na záložku „Počáteční inicializace“ uživatel zadá počet všech úloh do vstupního pole uživatel vybere z výběrového seznamu soubor „studenti-debug.csv“ uživatel stiskne tlačítko „Inicializovat“ v menu vlevo zůstává role „Učitel“ zobrazí se modální okno „Úspěšné zpracování požadavku“ s textem „Soubor byl načten. Počet záznamů, které byly uloženy do DB: 5“ v liště menu je zvýrazněna položka „Nastavení“ zůstane zobrazena stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ po případném kliknutí na záložku „Počáteční inicializace“ se navíc zobrazí text „Seznam všech studentů již byl načten. Pokud jej chcete změnit, resetujte nejdříve DB.“ po případném kliknutí na záložku „Počáteční inicializace“ jsou všechny tři ovládací prvky „disabled“ v liště menu je položka „Celkově“ doplněna údajem o počtu studentů na stránkách „Celkový přehled“, „Přehled jednotlivých studentů“ a „A00B1234P“ zůstává zobrazen text „Dosud nejsou k dispozici žádná data“ zadaný počet úloh je menší než 1 po stisku tlačítka „Inicializovat“ je na stejné stránce zobrazena nápověda „Hodnota musí být větší nebo rovna 1“ zadaný počet úloh je větší než 99 po stisku tlačítka „Inicializovat“ je na stejné stránce zobrazena nápověda „Hodnota musí být menší nebo rovna 99“ neexistuje žádný vstupní soubor ve výběrovém seznamu je jediná položka „V adresari nebyl nalezen zadny soubor *.csv“ po případném stisku tlačítka „Inicializovat“ je zobrazeno modální okno „Varovné hlášení“ s textem „V adresari nebyl nalezen zadny soubor *.csv: tento soubor neexistuje.“ po uzavření modálního okna zůstává zobrazena stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ Čtený soubor se seznamem studentů vznikl exportem ze STAGu. Tím je zaručeno, že je jeho obsah správný a úplný. Stačí provést jen kontrolu, zda nebyl podvržen soubor s útočným obsahem. Není třeba kontrolovat jednotlivé položky souboru. Soubor je v kódování Window-1250. Inicializaci lze provést pouze jednou. Pokud má být opakována, je nutné před tím resetovat databázi - viz UC.13. Po úspěšné inicializaci by měl „Učitel“ ihned pokračovat v UC.05.
UC.05 Aktualizace provedených commitů key Učitel načte do databáze soubor se seznamem provedených commitů. Soubor je v CSV formátu a je již uložen v adresáři VstupniData. CdG Učitel inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ uživatel klikne na položku menu „Nastavení“ zobrazí se stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ uživatel vybere z výběrového seznamu soubor „ulohy-debug.csv“ uživatel stiskne tlačítko „Načíst soubor“ v menu vlevo zůstává role „Učitel“ zobrazí se modální okno „Úspěšné zpracování požadavku“ s textem „Soubor byl načten. Počet záznamů, které byly uloženy do DB: 22“ v liště menu je zvýrazněna položka „Nastavení“ zůstane zobrazena stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ na stránce „Celkový přehled“ je zobrazena kompletní tabulka a histogram hodin na stránce „Celkový přehled“ je v nápovědě nadpisu zobrazen text „ke dni 2021-03-17“ na stránce „Přehled jednotlivých studentů“ je zobrazena kompletní tabulka položka menu „osobní_číslo“ se změnila na „A10B0001P“ na osobní stránce studenta „A10B0001P“ je zobrazena kompletní tabulka a histogram hodin neexistuje žádný vstupní soubor ve výběrovém seznamu je jediná položka „V adresari nebyl nalezen zadny soubor *.csv“ po případném stisku tlačítka „Načíst soubor“ je zobrazeno modální okno „Varovné hlášení“ s textem „V adresari nebyl nalezen zadny soubor *.csv: tento soubor neexistuje.“ po uzavření modálního okna zůstává zobrazena stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ osobní čísla v načítaném souboru neodpovídají osobním číslům seznamu studentů načteného v UC.04 po stisku tlačítka „Načíst soubor“ je zobrazeno modální okno „Chybové hlášení“ s textem „toto osobní číslo nebylo nalezeno. Je načten správný soubor se jmény studentů?“ v databázi není provedena žádná změna po uzavření modálního okna zůstává zobrazena stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ Čtený soubor se seznamem odevzdaných úloh vznikl exportem z GitLabu. Tím je zaručeno, že je jeho obsah správný a úplný. Stačí provést jen kontrolu, zda nebyl podvržen soubor s útočným obsahem. Není třeba kontrolovat jednotlivé položky souboru. Soubor je v kódování Window-1250. Aktualizaci lze provést libovolně krát.
UC.06 Odhlášení additional Uživatel v aktivní roli Učitel nebo Student se chce odhlásit CdG přihlášený uživatel - Učitel nebo Student učitel ještě není registrován (UC.03) inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) student ještě není registrován pod svým osobním číslem (UC.08) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ nebo „Student“ uživatel klikne na položku menu (ikonu) „Logout“ v menu vlevo se objeví role „Nepřihlášený“ v liště menu budou zobrazeny položky „Návod“ a „Celkově“ v liště menu je zvýrazněna položka „Návod“ je zobrazena stránka „Návod“
UC.07 Přihlášení učitele key Již registrovaný učitel se chce přihlásit do aplikace CdG Nepřihlášený učitel ještě není registrován (UC.03) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Nepřihlášený“ uživatel klikne na položku menu „Nepřihlášený“ objeví se rozbalovací submenu s položkou „Login“ uživatel klikne na položku menu „Login“ objeví se modální okno „Přihlaste se podle své role“ s aktivní záložkou „Student“ uživatel klikne na záložku „Učitel“ uživatel zadá svoje existující heslo do vstupního pole uživatel stiskne tlačítko „Přihlásit“ v menu vlevo se objeví role „Učitel“ v liště menu budou zobrazeny položky „Návod“, „Celkově“, „Studenti“, „Nastavení“ a ikona „Logout“ hodnota položky „A00B1234P“ závisí na tom, zda již proběhly UC.04 a UC.05 v liště menu je zvýrazněna položka „Celkově“ je zobrazena stránka „Celkový přehled“. Obsah stránky závisí na tom, zda již proběhly UC.04 a UC.05 učitel nezadal žádné heslo po stisku tlačítka „Přihlásit“ je na stejné stránce zobrazena nápověda „Vyplňte prosím toto pole“ učitel ještě nebyl registrován po stisku tlačítka „Přihlásit“ je zobrazeno modální okno „Varovné hlášení“ s textem „Přihlášení se nezdařilo. Zadané heslo není správné.“ po uzavření modálního okna zůstává zobrazeno menu pro aktivního uživatele „Nepřihlášený“ učitel zadal nesprávné heslo po stisku tlačítka „Přihlásit“ je zobrazeno modální okno „Varovné hlášení“ s textem „Přihlášení se nezdařilo. Zadané heslo není správné.“ po uzavření modálního okna zůstává zobrazeno menu pro aktivního uživatele „Nepřihlášený“
UC.08 Registrace studenta additional Student chce provést svoji registraci (tj. první přihlášení) do aplikace CdG Nepřihlášený inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) student již byl pod svým osobním číslem registrován (opakovaný UC.08) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Nepřihlášený“ uživatel klikne na položku menu „Nepřihlášený“ objeví se rozbalovací submenu s položkou „Registrace“ uživatel klikne na položku menu „Registrace“ objeví se modální okno „Registrujte se podle své role“ s aktivní záložkou „Student“ uživatel vybere z výběrového seznamu svoje osobní číslo uživatel zadá svoje nové heslo do vstupního pole uživatel stiskne tlačítko „Zaregistrovat“ v menu vlevo se objeví role „Student“ v liště menu budou zobrazeny položky „Návod“, „Celkově“ a ikona „Logout“ hodnota položky „A00B1234P“ bude nahrazena aktuálním osobním číslem přihlášeného studenta v liště menu je zvýrazněna položka aktuálního osobního čísla je zobrazena osobní stránka studenta; její obsah závisí na tom, zda již proběhl UC.05 studentovo osobní číslo se již neobjevuje v seznamu osobních čísel pro registraci („Nepřihlášený“ / „Registrace“) studentovo osobní číslo se začne objevovat v seznamu osobních čísel pro přihlášení („Nepřihlášený“ / „Login“) ještě nebyl načten seznam studentů - viz UC.04 ve výběrovém seznamu osobních čísel se nezobrazí studentovo osobní číslo student musí počkat, až učitel provede UC.04 student již byl dříve registrován ve výběrovém seznamu osobních čísel se nezobrazí studentovo osobní číslo v nápovědě výběrového seznamu je text „Nevidíte-li zde svoje osobní číslo, tak se pravděpodobně již pod ním přihlásil někdo jiný.“ student pak může požádat (např. emailem) učitele, aby jeho heslo resetoval - viz UC.12 student nezvolil žádné osobní číslo, ale zadal nové heslo po stisku tlačítka „Zaregistrovat“ je zobrazeno modální okno „Varovné hlášení“ s textem „Nebylo zvoleno žádné osobní číslo.“ po uzavření modálního okna zůstává zobrazeno menu pro aktivního uživatele „Nepřihlášený“ student nezadal žádné heslo po stisku tlačítka „Zaregistrovat“ je na stejné stránce zobrazena nápověda „Vyplňte prosím toto pole“ úspěšná registrace studenta má stejný výsledek jako úspěšné přihlášení - viz UC.09
UC.09 Přihlášení studenta additional Již registrovaný student se chce přihlásit do aplikace CdG Nepřihlášený inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) student ještě není registrován pod svým osobním číslem (UC.08) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Nepřihlášený“ uživatel klikne na položku menu „Nepřihlášený“ objeví se rozbalovací submenu s položkou „Login“ uživatel klikne na položku menu „Login“ objeví se modální okno „Přihlaste se podle své role“ s aktivní záložkou „Student“ uživatel vybere z výběrového seznamu svoje osobní číslo uživatel zadá svoje existující heslo do vstupního pole uživatel stiskne tlačítko „Přihlásit“ v menu vlevo se objeví role „Student“ v liště menu budou zobrazeny položky „Návod“, „Celkově“ a ikona „Logout“ hodnota položky „osobní_číslo“ bude nahrazena aktuálním osobním číslem přihlášeného studenta v liště menu je zvýrazněna položka aktuálního osobního čísla je zobrazena osobní stránka studenta; její obsah závisí na tom, zda již proběhl UC.05 student ještě nebyl registrován ve výběrovém seznamu osobních čísel se nezobrazí studentovo osobní číslo student musí nejdříve provést UC.08 student nezvolil žádné osobní číslo, ale zadal existující heslo po stisku tlačítka „Přihlásit“ je zobrazeno modální okno „Varovné hlášení“ s textem „Nebylo zvoleno žádné osobní číslo.“ po uzavření modálního okna zůstává zobrazeno menu pro aktivního uživatele „Nepřihlášený“ student nezadal žádné heslo po stisku tlačítka „Přihlásit“ je na stejné stránce zobrazena nápověda „Vyplňte prosím toto pole“ student zvolil osobní číslo, ale zadal chybné heslo po stisku tlačítka „Přihlásit“ je zobrazeno modální okno „Varovné hlášení“ s textem „Přihlášení se nezdařilo. Zadané heslo není správné.“ po uzavření modálního okna zůstává zobrazeno menu pro aktivního uživatele „Nepřihlášený“
UC.10 Přehled všech studentů key Učitel si chce prohlédnout seznam výsledků všech studentů CdG Učitel inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) a seznam odevzdaných úloh (UC.05) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ uživatel klikne na položku „Studenti“ v liště menu položka „Studenti“ v liště menu je zvýrazněna zobrazí se stránka „Přehled všech studentů“ s tabulkou v tabulce jsou proklikávací osobní čísla, kde klik provede UC.12 řádky v tabulce lze řadit podle každého sloupce vzestupně i sestupně úspěšné odevzdání úlohy je zvýrazněno zeleným podbarvením, neúspěšné červeným V databázi ještě nejsou načtena žádná data, tj. nebyly provedeny UC.04 a UC.05 na stránce „Přehled všech studentů“ se místo tabulky zobrazí hlášení „Dosud nejsou k dispozici žádná data“
UC.11 Detailní výsledky studenta key Učitel nebo student si chce prohlédnout detailní výsledky studenta CdG přihlášený uživatel - Učitel nebo Student inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) a seznam odevzdaných úloh (UC.05) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ nebo „Student“ uživatel klikne na položku „osobní_číslo“ v liště menu položka „osobní_číslo“ v liště menu je zvýrazněna zobrazí se stránka „Podrobný přehled“ s progress barem, tabulkou a s histogram hodin V databázi ještě nejsou načtena žádná data, tj. nebyly provedeny UC.04 a UC.05 na stránce „Přehled všech studentů“ se místo tabulky zobrazí hlášení „Dosud nejsou k dispozici žádná data“ student dosud ani jednou neodevzdal žádnou úlohu tabulka je vyplněna hodnotami N/A a histogram se vůbec nezobrazuje
UC.12 Reset hesla studenta additional Učitel resetuje heslo studenta - většinou na studentovu žádost. CdG Učitel inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) student ještě není registrován (UC.08) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ uživatel klikne na položku menu „Nastavení“ zobrazí se stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ uživatel klikne na záložku „Reset hesla studenta“ uživatel vybere z výběrového seznamu osobní číslo studenta uživatel stiskne tlačítko „Resetovat heslo“ v menu vlevo zůstává role „Učitel“ zobrazí se modální okno „Úspěšné zpracování požadavku“ s textem „Reset hesla studenta proběhl.“ v liště menu je zvýrazněna položka „Nastavení“ zůstane zobrazena stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ po případném kliknutí na záložku „Reset hesla studenta“ se resetované osobní číslo již neobjevuje v seznamu osobních čísel studentovo osobní číslo se již neobjevuje v seznamu osobních čísel pro přihlášení („Nepřihlášený“ / „Login“) studentovo osobní číslo se začne objevovat v seznamu osobních čísel pro registraci („Nepřihlášený“ / „Registrace“) student ještě nebyl registrován ve výběrovém seznamu osobních čísel se nezobrazí studentovo osobní číslo učitel nezvolil žádné osobní číslo po stisku tlačítka „Resetovat heslo“ je zobrazeno modální okno „Varovné hlášení“ s textem „Nebylo zvoleno žádné osobní číslo.“ po uzavření modálního okna zůstává zobrazena stránka „Nastavení“ s aktivní záložkou „Aktualizace úloh“
UC.13 Změna hesla učitele nebo studenta key Již přihlášený učitel nebo student si chce změnit heslo CdG přihlášený uživatel - Učitel nebo Student učitel ještě není registrován (UC.03) inicializace databáze ještě neproběhla - není načten seznam studentů (UC.04) student ještě není registrován pod svým osobním číslem (UC.08) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ nebo „Student“ uživatel klikne na položku menu „Učitel“ nebo „Student“ objeví se rozbalovací submenu s položkou „Změna hesla“ uživatel klikne na položku submenu „Změna hesla“ objeví se modální okno „Změna hesla pro roli“ „Učitel“ nebo „Student“ uživatel zadá svoje nové heslo do vstupního pole uživatel stiskne tlačítko „Změnit heslo“ zobrazí se modální okno s informací „Změna hesla proběhla.“
UC.14 Reset databáze additional Učitel resetuje databázi. To znamená, že se vymažou a následně nenávratně zruší všechny tabulky. Reset ale prakticky způsobí jen ztrátu hesel, protože data o studentech a o odevzdaných úlohách se jen načítají ze souborů a v databázi se nijak nemodifikují. Pro restartu DB se všechny tabulky opět založí. CdG Učitel učitel ještě není registrován (UC.03) je zobrazena jakákoliv stránka CdG uživatel je v aktivní roli „Učitel“ uživatel klikne na položku menu „Nastavení“ zobrazí se stránka „Servisní činnosti“ s aktivní záložkou „Aktualizace úloh“ uživatel klikne na záložku „Reset databáze“ uživatel stiskne tlačítko „Resetovat databázi“ objeví se modální okno „Nebezpečná destruktivní akce“ uživatel stiskne tlačítko „Ano, opravdu resetovat DB“ v menu vlevo je aktivní role „Nepřihlášený“ aplikace je ve stavu jako při prvním spuštění, tj. v databázi jsou založeny prázdné tabulky