\section{Případy užití} Následující kapitola obsahuje popis případů užití vytvářeného modulu tak, jak vyplynuly z~rozhovorů se zaměstanci školy a~funkčních požadavků. Na obrázku \ref{img:uc:main} jsou znázorněny hlavní případy užití, které jsou dále rozpracovány v~samostatných podkapitolách. \begin{figure}[h!!!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/main.png} \caption{Případy užití modulu pro tvorbu úvazků a~výběr volitelných předmětů} \label{img:uc:main} \end{figure} \subsection{Zápis volitelných předmětů \ref{img:uc:zapis}} Z~důvodu přehlednosti je diagram \ref{img:uc:zapis} pro obsáhlé případy užití rozdělen na jednotlivé diagramy, které budou popsány v~následujících podkapitolách. Uživatel vybere v~administraci položku \enquote{\textit{Zápis předmětů}} a~následně se zobrazí podmenu umožňující výběr konkrétní akce. Pokud je uživatel přihlášen jako učitel, v~celém zápisu předmětů se mu budou zobrazovat pouze zápisy související se třídami, které vyučuje. \clearpage \begin{figure}[ht!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/zapis.png} \caption{Případy užití: Zápis předmětů} \label{img:uc:zapis} \end{figure} \begin{itemize} \item Zobrazení výsledků\\Správce systému, učitel, nebo student vybere u~příslušného zápisu předmětů možnost \enquote{Zobrazit výsledky} a~systém následně zobrazí vypsané předměty a~jejich hodinovou dotaci pro daný školní rok. \end{itemize} \subsubsection{Správa zápisů \ref{img:uc:sprava_zapisu}} \begin{itemize} \item Vytvoření zápisu\\Administrátor vybere možnost \enquote{Vytvořit zápis} a~vyplní formulář, který systém zobrazí. V~případě korektního vyplnění zápisu systém přesměruje administrátora na detail zápisu \ref{img:obrazovka:zapis_detail}. V~opačném případě vyzve administrátora k~opravení nevalidních dat. \item Změna viditelnosti zápisu\\Administrátorovi se dle aktuálního stavu zápisu zobrazí možnosti \enquote{Označit dokončený} nebo \enquote{Označit rozpracovaný}. Administrátor příslušnu akci vybere a~potvrdí systémem zobrazené výstražné okno. Při potvrzení varování se akce provede, v~opačném případě nikoliv. \item Archivace zápisu\\Administrátor vybere tuto možnost, pokud zápis již není aktuální. Výběrem této možnosti dojde k~archivaci zápisu. \item Editace zápisu\\Administrátor vybere možnost \enquote{Upravit zápis} a~systém následně zobrazí formulář s~poli dostupnými pro editaci v~závislosti na stavu zápisu. Pokud odeslaný formulář obsahuje nevalidní data, systém na tuto skutečnost upozorní a~vyzve administrátora k~opravě. \item Vytvoření validačních skupin\\Na detailu zápisu \ref{img:obrazovka:zapis_detail} vybere administrátor požadovanou skupinu, která má být vytvořena, pokud to stav zápisu dovoluje. V~zobrazeném formuláři vyplní příslušné vlastnosti skupiny. Po odeslání se v~systému vytvoří nová validační skupina a~přiřadí k~danému zápisu. \item Přiřazení předmětů\\Administrátor vybere možnost \enquote{Přidat předmět} pro již předem vytvořenou validační skupinu. Systém zobrazí formulář pro výběr předmětu a~přiřazení hodinové dotace. Po odeslání validního formuláře dojde k~přiřazení předmětu k~validační skupině a~tím i~k~příslušnému zápisu. \item Export dat\\Administrátor vybere ze seznamu položky, které budou exportovány a~odešle formulář. Aplikace uloží data do souboru a~v~klientském prohlížeči zahájí stahování. \end{itemize} \begin{figure}[ht!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/sprava_zapisu.png} \caption{Případy užití: správa zápisů} \label{img:uc:sprava_zapisu} \end{figure} \subsubsection{Výběr předmětů \ref{img:uc:vyber_predmetu}} \begin{itemize} \item Zobrazení seznamu zápisů\\Studentovi se po přihlášení zobrazí seznam aktivních a~vyhodnocených zápisů. \item Vyplnění zápisu\\Student vybere možnost \enquote{Vyplnit zápis} u~zápisu a~systém zobrazí interaktivní formulář, který studenta provede výběrem předmětů. Student vyplní jednotlivé formuláře pro každou skupinu a~pro primární i~náhradní volby. V~případě odeslání validních dat se studentova volba uloží, v~opačném případě je student vyzván k~opravě zadaných údajů. \item Editace odpovědi\\Pokud již student dříve zápis vyplnil a~znovu vybere možnost pro vyplnění zápisu, systém zobrazí formulář s~předvyplněnými minulými odpověďmi. Student je může upravit a~znovu formulář odeslat. \end{itemize} \begin{figure}[h!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/vyber_predmetu.png} \caption{Případy užití: výběr předmětů} \label{img:uc:vyber_predmetu} \end{figure} \subsubsection{Vyhodnocení zápisu \ref{img:uc:vyhodnoceni}} \begin{itemize} \item Vyhodnocení zápisu\\Administrátor vybere možnost vyhodnit zápis a~systém zobrazí příslušný formulář. Administrátor vybere předměty, které mají být otevřeny a~přiřadí je jednotlivým studentům. Administrátor odešle formulář kliknutím na tlačítko \enquote{Uložit změny} a~tím data uloží. \item Označení za rozpracovaný\\Pokud administrátor poprvé vybere možnost \enquote{Vyhodnotit zápis}, označí jej systém jako rozpracovaný. \item Označení za vyhodnocený\\Pokud administrátor vybere možnost \enquote{Uzavřít zápis}, označí jej systém jako vyhodnocený. \item Odeslání emailů\\Administrátor vybere možnost \enquote{Odeslat email studentům} a~systém odešle studentům výsledky zápisu. O~výsledku systém administrátora informuje. \item Export dat\\Administrátor vybere ze seznamu položky, které budou exportovány a~odešle formulář. Aplikace uloží data do souboru a~v~klientském prohlížeči zahájí stahování. \end{itemize} \clearpage \pagebreak \begin{figure}[h!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/vyhodnoceni.png} \caption{Případy užití: vyhodnocení zápisu} \label{img:uc:vyhodnoceni} \end{figure} \subsection{Tvorba úvazků \ref{img:uc:uvazky}} \begin{itemize} \item Vyplnění požadavků\\ Učitel vybere možnost \enquote{Mé požadavky} a~systém zobrazí interaktivní formulář pro zadání potřebných dat pro vyhodnocování zápisů. Učitel vyplní požadovaná pole formuláře a~v~tabulce reprezentující rozvrh hodin vybere preferované časy své výuky. V~případě, že je formulář vyplněn korektně, data se uloží, jinak je učitel vyzván k~opravě. \item Přiřazení úvazků\\ Administrátor vybere možnost \enquote{Vytvořit úvazky} a~systém následně zobrazí první formulář pro vypsání předmětů s~hodinovou dotací v~jednotlicých třídách. Administrátor údaje vyplní a~uloží změny. Poté administrátor vybere možnost \enquote{Další krok} a~systém zobrazí interaktivní formulář pro přiřazení vypsaných dvojic -- třída a~předmět -- k~jednotlivým učitelům. Administrátor údaje vyplní a~uloží změny. Poté administrátor vybere možnost \enquote{Další krok} a~zobrazí souhrn úvazků. Administrátor vybere možnost \enquote{Uzavřít úvazky} nebo \enquote{Zpět}. \end{itemize} \begin{figure}[h!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/uvazky.png} \caption{Případy užití: tvorba úvazků} \label{img:uc:uvazky} \end{figure} \subsection{Správa předmětů \ref{img:uc:sprava_predmetu}} \begin{itemize} \item Vytvoření předmětu\\Administrátor vybere možnost \enquote{Vytvořit předmět} a~systém zobrazí příslušný formulář. V~případě vyplnění validních dat se předmět po odeslání formuláře administrátorem vytvoří. V~opačném případě systém vyzve administrátora k~opravě chybně zadaných údajů. \item Přiřazení studijních oborů\\Administrátor vybere možnost \enquote{Přidat studijní obor}, systém zobrazí formulář pro výběr konkrétího studijního oboru. Následně administrátor formulář odešle. \item Editace předmětu\\Administrátor vybere možnost \enquote{Upravit předmět}, systém zobrazí formulář s~vyplněnými hodnotami. Administrátor formulář upraví a~odešle, nové hodnoty se uloží. \item Archivování předmětu\\Administrátor vybere možnost \enquote{Archivovat předmět}, systém zobrazí výstražnou obrazovku. Administrátor potvrdí archivaci nebo se vrátí zpět. \item Obnovení předmětu\\Administrátor vybere možnost \enquote{Obnovit předmět}, systém zobrazí výstražnou obrazovku. Administrátor potvrdí obnovení nebo se vrátí zpět. \end{itemize} \begin{figure}[h!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/sprava_predmetu.png} \caption{Případy užití: správa předmětů} \label{img:uc:sprava_predmetu} \end{figure} \subsection{Export dat \ref{img:uc:export_dat}} \begin{itemize} \item Export - třídy, předměty, učitelé a~úvazky\\Administrátor vybere u~detailu úvazků pro daný školní rok požadovaný formát dat a~systém následně spustí stahování souboru. \item Export - studenti a~předměty\\Administrátor nebo učitel mající oprávnění vybere u~detailu vyhodnoceného zápisu možnost \enquote{zobrazit výsledky} a~následně vybere, zda požaduje exportovat data vztahů mezi předmětem a~studentem indexovaná podle studenta nebo podle předmětu. Následně administrátor klikne na tlačítko \enquote{exportovat} a~systém spustí stahování souboru. \end{itemize} \begin{figure}[h!]\centering \centering \includegraphics[width=10.5cm]{img/usecase/exportdat.png} \caption{Případy užití: export dat} \label{img:uc:export_dat} \end{figure} \clearpage \section{Databázové schéma} Následující kapitola popisuje databázové schéma, které bylo v~rámci implementace modulu vytvořeno. Samotná databáze obsahuje navíc tabulky jádra informačního systému, které modul také pro svojí funkci využívá, nejsou však níže popsány, ani zobrazeny na diagramu \ref{img:navrh:db_model}. \begin{flushleft} \begin{itemize} \item Tabulka zápisů (enrollment) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{fieldofstudy\_id:} identifikátor studijního oboru, ke kterému zápis pratří \item \textbf{is\_email\_sent:} příznak odeslání emailu s~výsledky studentům \item \textbf{valid\_from:} datum vpuštění studentů do zápisu volitelných předmětů \item \textbf{valid\_top:} datum ukončení zápisu pro studenty \item \textbf{created\_at:} datum vytvoření zápisu \item \textbf{updated\_at:} datum poslední editace zápisu \item \textbf{grade:} ročník, pro který je zápis vypsán \item \textbf{note:} informace k~zápisu pro studenty \item \textbf{school\_year:} školní rok, pro který je zápis vypsán \item \textbf{is\_copy:} příznak, zda byly odpovědi zápisů již duplikované \item \textbf{is\_finished:} příznak, zda je zápis označen jako připravený \item \textbf{is\_evaluated:} příznak, zda je vyhodnocení zápisu uzavřeno \item \textbf{is\_archived:} příznak, zda je zápis archivován \end{itemize} \end{itemize} \begin{itemize} \item Tabulka odpovědí studentů na zápis (enrollment\_response) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{enrollment\_id:} identifikátor zápisu, ke kterému odpověď studenta patří \item \textbf{student\_id:} identifikátor studenta, který odpověď odeslal \item \textbf{created\_at:} datum vytvoření odpovědi \item \textbf{updated\_at:} datum poslední editace odpovědi \end{itemize} \end{itemize} \begin{itemize} \item Tabulka validačních skupin zápisu (enrollment\_group) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{enrollment\_id:} identifikátor zápisu, ke kterému validační skupina přísluší \item \textbf{group\_type:} příznak typu skupiny \item \textbf{mandatory:} příznak, zda mají být předměty ve skupině povinně zapsány \item \textbf{min\_hours:} minimální počet hodin, které si student musí mezi předměty vybrat \item \textbf{max\_hours:} maximální počet hodin, které si student musí mezi předměty vybrat \item \textbf{min\_subjects:} minimální počet předmětů, které si student musí mezi předměty vybrat \item \textbf{max\_subjects:} maximální počet předmětů, které si student musí mezi předměty vybrat \end{itemize} \end{itemize} \begin{itemize} \item Tabulka předmětů patřících k~validačním skupinám (enrollment\_group\_subject) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{subject\_id:} indetifikátor předmětu \item \textbf{group\_id:} identifikátor validační skupiny \item \textbf{hours:} počet hodin \item \textbf{capacity:} kapacita předmětu \item \textbf{is\_disabled:} příznak vyřazení předmětu ze zápisu během vyhodnocování \item \textbf{final\_student\_count:} počet zapsaných studentů po vyhodnocení \end{itemize} \end{itemize} \begin{itemize} \item Tabulka předmětů (subject) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{title:} název předmětu \item \textbf{code:} kód předmětu \item \textbf{text:} informace o~předmětu \item \textbf{active:} příznak, zda je předmět aktivní \end{itemize} \end{itemize} \begin{itemize} \item Tabulka aprobací (approbation) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{teacher\_id:} identifikátor učitele \item \textbf{created\_at:} datum vytvoření aprobace \item \textbf{updated\_at:} datum poslední editace aprbace \end{itemize} \end{itemize} \begin{itemize} \item Tabulka vztahů předmětů a~oborů studia (field\_of\_study\_subject) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{subject\_id:} identifikátor předmětu \item \textbf{hours:} počet hodin předmětu v~daném oboru studia \item \textbf{active:} příznak, zda je předmět stále vyučován do oboru \item \textbf{fieldOfStudy\_id:} identifikátor studijního oboru \end{itemize} \end{itemize} \begin{itemize} \item Tabulka skupin předmětů (subject\_group) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{title:} název skupiny předmětu \item \textbf{subject\_id:} identifikátor předmětu \item \textbf{abbreviation:} zkratka názvu skupiny \end{itemize} \end{itemize} \begin{itemize} \item Tabulka skupin úvazků pro školní rok (timejob) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{updated\_at:} datum poslední editace úvazků \item \textbf{school\_year:} školní rok do kterého jsou úvazky zařazeny \item \textbf{is\_finished:} příznak, zda jsou úvazky dokončené \end{itemize} \end{itemize} \begin{itemize} \item Tabulka přiřazení učitele ke třídě, předmětu a~skupině (timejob\_class\_subject) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{subject\_id:} identifikátor předmětu \item \textbf{group\_id:} identifikátor skupiny předmětu \item \textbf{teacher\_id:} identifikátor učitele \item \textbf{hours:} počet hodin přiřazených učiteli \item \textbf{timejob\_id:} identifikátor skupiny úvazků \item \textbf{class\_id:} identifikátor třídy \item \textbf{enrollment\_subject\_id:} identifikátor předmětu ze zápisu volitelných předmětů \end{itemize} \end{itemize} \begin{itemize} \item Tabulka požadavků učitelů (requirement) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{hours:} počet hodin \item \textbf{timetable:} preferovaný rozvrh učitele \item \textbf{created\_at:} datum vytvoření požadavku \item \textbf{updated\_at:} datum poslední editace požadavku \item \textbf{note:} poznámka učitele k~požadavkům \item \textbf{teacher\_id:} identifiktor učitele \item \textbf{school\_year:} školní rok, ke kterému se požadavky vztahují \end{itemize} \end{itemize} \begin{itemize} \item Tabulka vztahů mezi předmětem, skupinou, třídou a~požadavkem učitele (requirement\_subject) \begin{itemize} \item \textbf{id:} identifikátor \item \textbf{subject\_id:} identifikátor předmětu \item \textbf{hours:} počet hodin/týden \item \textbf{requirement\_id:} identifiktor požadavku \item \textbf{group\_id:} identifikátor skupiny předmětu \end{itemize} \end{itemize} \end{flushleft} \noindent \begin{figure}[ht!!] \includegraphics[width=15cm]{img/p01.pdf} \end{figure} \clearpage \begin{figure}[ht!!] \includegraphics[width=15cm]{img/p02.pdf} \caption{Databázové schéma modulu} \label{img:navrh:db_model} \end{figure} \clearpage \section{Návrh grafického uživatelského rozhraní} V~následující kapitole jsou realizovány návrhy obrazovek pomocí wireframe\footnote{drátěný model} modelu, který slouží pro náhled hotového řešení. Jde o~modely definující rozložení, funkce a~obsah jednotlivých stránek aplikace. V~návrhovém modelu wireframe se zpravidla nedbá na grafické prvky, barvy nebo obrázky. \cite{wireframe} Byly realizovány návrhy všech důležitých obrazovek vyjma formulářů, jejihž formulářové prvky prakticky kopírují sloupce jednotlivých entit a~také některé seznamy entit, které budou ve výsledné práci realizovány jako jednoduchá tabulka s~proklikem na detail entity. Při návrhu obrazovek byl kladen důraz zejména na to, aby odpovídaly funkčním požadavkům definovaným v~kapitole 1.3. Jelikož se jedná o~interní aplikaci, všechny obrazovky, kromě přihlašovací obrazovky, předpokládají přihlášeného uživatele. V~levém horním rohu uživatel vidí, ve které části se aktuálně nachází -- \textit{Administrace} nebo \textit{Zápis volitelných předmětů}. V~pravé části je umístěn odkaz pro změnu jazykové mutace a~odhlášení z~aplikace. Hlavní navigační menu se nachází v~levém sloupci. Položky menu mohou být víceúrovňové. \subsection{Přihlášení studenta pro výběr volitelých předmětů} Dle funkčních požadavků je požadováno přihlášení studenta pouze pomocí přihlašovací kódu. Wireframe \ref{img:obrazovka:login} reprezentuje veřejně dostupnou obrazovku, tudíž nemá klasickou strukturu popsanou výše a~obsahuje pouze název školy, formulářové pole pro zadání přihlašovacího kódu a~tlačítko pro odeslání formuláře. V~případě neúspěchu bude nad formulářovým polem zobrazena chybová hláška. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/login.png} \caption{Wireframe přihlášení studenta pro výběr volitelých předmětů} \label{img:obrazovka:login} \end{figure} \subsection{Přehled zápisů studenta} V~hlavní části layoutu obrazovky jsou umístěny dvě tabulky. První tabulka obsahuje seznam zápisů, které jsou aktivní a~student má zpřístupňený formulář \ref{img:obrazovka:student_odpoved} pro vybrání volitelných předmětů. K~přesměrování na tento formulář slouží tlačítko \enquote{\textit{Odpovědět}} v~posledním sloupci tabulky. Tabulka obsahuje důležitý údaj o~termínu do něhož je možné zápis vyplnit, informaci o~tom, zda student zápis vyplnil a~zda je zápis aktivní. Po kliknutí na název zápisu bude student přesměrován na obrazovku \ref{img:obrazovka:student_detail} s~detailem zápisu. Druhá tabulka obsahuje seznam zápisů, jejichž datum platnosti již skončilo a~v~ideální případě je student také vyplnil. Název zápisu v~prvním sloupci opět odkazuje na obrazovku \ref{img:obrazovka:student_detail} s~detailem zápisu a~voleb studenta. V~momentě, kdy se stav zápisu změní z~\textit{čeká na vyhodnocení} na \textit{vyhodnoceno}, se studentovi zpřístupní tlačítko pro zobrazení výsledků \ref{img:obrazovka:student_vysledky} zápisu. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_index.png} \caption{Wireframe s~přehledem zápisů studenta} \label{img:obrazovka:student_index} \end{figure} \begin{figure}[h!!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_odpoved.png} \caption{Wireframe s~formulářem pro výběr volitelných předmětů} \label{img:obrazovka:student_odpoved} \end{figure} \clearpage \subsection{Vyplnění formuláře zápisu -- výběr předmětů} Stěžejní součást studentské části je obrazovka \ref{img:obrazovka:student_odpoved}, která slouží k~vybrání vypsaných volitelných předmětů studentem. Hlavní sekce je rozdělena na popis zápisu, sekci s~předměty, které jsou zapsané pro všchny povinně, pokud je v~zápisu definovaná a~dále následují tabulky pro každou skupinu předmětů. Dle funkčních požadavků jsou skupiny dvojího typu: výběr určitého minimálního počtu předmětů a~výběr určitého minimálního počtu hodin týdně. Typy skupin reflektuje způsob validace formuláře. Každá skupina je reprezentována tabulkou, která obsahuje názvy předmětů včetně hodinové dotace a~dále dva sloupce. Druhý sloupec obsahuje checkboxy pro označení předmětu na daném řádku jako primární volbu studenta, třetí sloupec pak checkboxy pro označení sekundární volby. V~každém řádku tabulky, neboli pro každý předmět, může být označena pouze volba primární nebo volba náhradní, nikoli obě najednou. Po stisknutí tlačítka pro uložení odpovědí se provede validace a~pokud studentova volba nesplňuje požadavky na počty hodin nebo předmětů ve skupině, zobrazí se u~dané skupiny chybová hláška. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_detail.png} \caption{Wireframe s~detailním zobrazením zápisů a~odpověďmi studenta} \label{img:obrazovka:student_detail} \end{figure} \subsection{Detail zápisu a~odpovědi studenta} Obrazovka \ref{img:obrazovka:student_detail} obsahuje detailní informace o~zvoleném zápisu volitelných předmětů. Dále, pokud student již odeslal formulář \ref{img:obrazovka:student_odpoved}, se pod tabulkou s~detaily zápisu zobrazí tlačítko pro možnou úpravu odpovědí, v~opačném případě se zobrazí tlačítko pro vyplnění formuláře \ref{img:obrazovka:student_odpoved} s~výběrem volitelných předmětů. Ve spodní části jsou zobrazeny dvě tabulky, první obsahuje seznam předmětů, které si student zvolil jako primární, druhá pak předměty zvoleny jako náhradní. V~případě, že student dosud volbu neprovedl, je tato skutečnost zapsána v~tabulce. \subsection{Detail zápisu s~výsledky} Po vyhodnocení zápisu administrátorem se studentům zpřístupní obrazovka \ref{img:obrazovka:student_vysledky}, na níž jsou kromě detailů zápisu zobrazeny předměty, které po zásahu administrátora budou skutečně v~následujícím školním roce vyučovány. Předměty jsou vypsány v~tabulce, kde každý předmět je doplněn o~počet vyučovacích hodin týdně. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_vysledky.png} \caption{Wireframe s~výsledky zápisu} \label{img:obrazovka:student_vysledky} \end{figure} \subsection{Seznam předmětů} Tato obrazovka \ref{img:obrazovka:predmety_seznam} slouží pouze jako rozcestník pro správu jednotlivých předmětů. Obsahuje proklik z~názvu předmětu na jeho detail. Pro zjednodušení orientace lze předměty v~tabulce řadit abecedně nebo podle kódu. Z~důvodu usnadnění jsou v~posledním sloupci tabulky pro každý předmět odkazy na příslušné akce - editace, detail a~archivace předmětu. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/predmet_seznam.png} \caption{Wireframe seznamu předmětů} \label{img:obrazovka:predmety_seznam} \end{figure} \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/predmet_detail.png} \caption{Wireframe s~výsledky zápisu} \label{img:obrazovka:predmet_detail} \end{figure} \subsection{Detail předmětu} Obrazovka \ref{img:obrazovka:predmet_detail} slouží jednak jako rozcestník pro další nezbytné akce s~předmětem, jednak pro zobrazení potřebných detailů o~předmětu. V~horní části se nachází box s~popisem předmětu, který je dostupný také studentům, aby jim pomohl při rozhodování o~výběru předmětu. V~tabulce se nachází detaily o~předmětu - název a~kód. Pod tabulkou je umístěno tlačítko editace předmětu. V~dolní části se nachází tabulka se studijními obory, ve kterých se předmět vyučuje. Studijní obory lze přidat tlačítkem pod tabulkou, odebrat nebo editovat pomocí ikon v~posledním sloupci tabulky. \subsection{Seznam aprobací} Hlavní část obrazovky \ref{img:obrazovka:ucitel_aprobace} obsahuje tabulku se seznamem všech učitelů. Data v~tabulce lze řadit abecedně podle jména učitele a~vyhledávat podle předmětů, které učitel vyučuje. V~druhém sloupci jsou kódy předmětů a~v~posledním odkazy ve formě ikon na akce pro archivování a~úpravu aprobací učitele. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/ucitel_aprobace.png} \caption{Wireframe se seznamem učitelů a~jejich aprobací} \label{img:obrazovka:ucitel_aprobace} \end{figure} \subsection{Seznam zápisů} Klíčovým rozcestníkem pro správu zápisů v~modulu je obrazovka \ref{img:obrazovka:zapis_seznam} seznamu zápisů. Jedná se o~tabulku obsahující ve svých řádcích jednotlivé zápisy. Zápis je textově reprezentován jako název oboru, ročník a~školní rok, pro který je zápis platný. Po kliknutí na název zápisu v~prvním sloupci dojde k~přesměrování na obrazovku \ref{img:obrazovka:zapis_detail} s~detailem zápisu. Dále seznam obsahuje školní rok, stav zápisu a~sloupec s~odkazy na akce detail, editace a~archivace. V~horní části záhlaví karty s~názvem stránky je umístěn symbol \textit{\enquote{plus}} pro vytvoření nového záznamu. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/ucitel_aprobace.png} \caption{Wireframe se seznamem zápisů} \label{img:obrazovka:zapis_seznam} \end{figure} \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/zapis_detail.png} \caption{Wireframe se detailem zápisu} \label{img:obrazovka:zapis_detail} \end{figure} \subsection{Detail zápisu} Obrazovka \ref{img:obrazovka:predmet_detail} obsahuje všechny informace o~daném zápisu a~také možnost zápis upravovat. V~horní části je zobrazen popis zápisu viditelný pro studenty, který obsahuje obecné informace a~pokyny pro výběr předmětů. V~tabulce nalevo je kromě položek ročník, obor a~platnosti zápisů také položka \enquote{\textit{stav zápisu}}, která indikuje ve které fázi se zápis aktuálně nachází a~měla by být výrazně odlišena tak, aby byl stav na první pohled patrný. Pod tabulkou se nachází tlačítko \enquote{\textit{upravit}} pro přesměrování na formulář editace základních údajů o~zápisu a~tlačítko pro změnu stavu zápisu, toto tlačítko přepíná mezi stavy dokončený/nedokončený. Níže je umístěn jednoduchý formulář pro výběr skupiny předmětů, která má být k~zápisu přidána. Po jejím přidání se zobrazí jako samostatná tabulka v~dolní části obrazovky. V~části \enquote{\textit{Skupiny předmětů}} jsou vypsané jednotlivé skupiny předmětů, které jsou vždy identifikovány nadpisem a~typem skupiny. Pro přidání předmětu do skupiny slouží tlačítko pod tabulkou s~předměty, vedle kterého se nachází také tlačítko pro smazání celé skupiny předmětů ze zápisu. Jednotlivé přidané předměty se zobrazují jako řádek v~tabulce příslušné skupiny a~je u~nich také zobrazena hodinová dotace na týden a~odkazy na smazání předmětu ze skupiny a~editaci záznamu daného předmětu. \subsection{Formulář pro vyhodnocení zápisu} Dle funkčních požadavků jedna ze stěžejních částí systémů je samotné vyhodnocení voleb předmětů studentů. Návrh formuláře na obrazovce \ref{img:obrazovka:zapis_vyhodnoceni} zobrazuje jeden zápis a~pro zjednodušení pouze jednu skupinu předmětů. V~případě, že zápis bude mít více skupin předmětů, budou vypadat obdobně. V~horní části je zobrazen popis zápisu a~požadavky na výběr předmětů, který je také dostupným studentům, aby měl administrátor, který zápis vyhodnocuje, přehled o~vypsaných předmětech a~minimálních požadavcích, které jsou kladeny na volby studentů. Pokud byla u~zápisu definována skupina automaticky zapsaných předmětů, následuje jejich seznam. Níže je pro každou skupinu předmětů umístěn formulář. Ten je jedinečný pro každou skupinu předmětů a~má formu tabulky, jejíž řádky tvoří jednotliví studenti, kteří spadají pod daný zápis a~to i~takoví, kteří zápis nevyplnili. Sloupce tabulky odpovídají vypsaným předmětům. V~záhlaví tabulky je u~každého předmětu uveden počet hodin za týden, počet studentů, kteří mají aktuálně předmět zvolený jako primární -- tedy bude jim zapsán a~počet studentů, kteří jej v~zápise zvolili jako sekundární. Po najetí kurzorem na symbol lupy vedle názvu předmětu se zobrazí okno s~počty zapsaných studentů z~jiných zápisů pro ten stejný předmět. Checkbox má funkci zrušení předmětu, tedy pokud administrátor checkbox zaškrtne, dojde ke zrušení výběru daného předmětu všem studentům a~administrátor jim bude muset přiřadit náhradní předmět. Takto označený předmět nelze žádnému studentovi zapsat. V~buňce se jménem studenta je zobrazen počet hodin/předmětů, které si měl student zapsat a~počet, který má aktuálně zapsaný. Pro přehlednost by měl být výrazně označen student, který nesplňuje požadavky zápisu. Pokud je v~dalších buňkách vždy na souřadnici student - předmět, zobrazeno písmeno \verb|P| nebo \verb|S|, značí to skutečnost, že se jedná o~studentovu primární nebo sekundární volbu. Zaškrnutí checkboxu indikuje zapsání předmětu danému studentovi. Při prvním otevření formuláře administrátorem zaškrtnutý checkbox odpovídá tomu, že si student vybral předmět jako primární. Studenti jsou v~tabulce řazeni podle data odeslání odpovědi. Pokud počet studentů přesáhne kapacitu předmětu, budou takoví studenti v~tabulce výrazně označeni tak, aby administrátor mohl na tuto skutečnost reagovat. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/zapis_vyhodnoceni.png} \caption{Wireframe s~formulářem pro vyhodnocení zápisu} \label{img:obrazovka:zapis_vyhodnoceni} \end{figure} \subsection{Formulář pro přiřazení úvazků} Druhým stěžejním formulářem modulu je \ref{img:obrazovka:tvorba_uvazku}, který umožňuje k~jednotlivým učitelům přiřadit vypsané paralelky (trojice předmět - skupina - třída). V~pravé straně hlavní časti obrazovky se nachází seznam s~dosud neřiřazenými paralelkami. V~levé čáti pak seznam učitelů a~ke každému učiteli jeden box, do kterého lze paralalky přesunovat ze seznamu nepřiřazených paralelek na pravé straně. Během přesouvání by měl systém zobrazit, který z~učitelů může daný ppředmět vyučovat. Po přiřazení paralelky k~učiteli systém zobrazí aktuální a~požadovaný úvazek učitele. Jak mezi zobrazenými učiteli, tak mezi vypsanými paralelkami by měl systém umožnit administrátorovi filtrovat a~zobrazit jen určité předměty nebo třídy a~k~nim relevantní učitele. Rozhraní pro filtrování se nachází v~horní části stránky. \begin{figure}[h!]\centering \centering \includegraphics[width=13.1cm]{img/obrazovky/tvorba_uvazku.png} \caption{Wireframe s~formulářem pro tvorbu úvazků} \label{img:obrazovka:tvorba_uvazku} \end{figure}