Bachelor's Thesis

Information System for Organization of Secondary School Graduation Exams

Final Thesis 1.57 MB

Author of thesis: Vojtěch Růžička

Acad. year: 2025/2026

Supervisor: Ing. Vladimír Bartík, Ph.D.

Reviewer: RNDr. Marek Rychlý, Ph.D.

Abstract:

This thesis deals with the design and implementation of an information system that aims to facilitate the organization of high school graduation exams. The system allows students to prepare a list of literary works and draw questions, teachers to plan the graduation schedule and measure time for exams. The thesis compares current web technologies, analyzes system requirements and, among other things, deals with the data model and the design of the graphical user interface. The web information system was implemented primarily in PHP language using the Laravel framework and tested with high school teachers and students.

Keywords:

Graduation exam, secondary school, literary works list, graduation exam questions, question draw, timetable scheduling, timer, information system, web application, PHP, Laravel, HTML, JavaScript, CSS.

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaEznamka

Grading

E

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm E.

Topics for thesis defence

  1. V kap. 5.5 technické zprávy představujete zabudovanou nápovědu a v kap. 6.3 o testování dokonce tvrdíte "třetímu však bylo dovoleno využívat zabudovanou nápovědu". Nápověda však v odevzdaném programovém řešení implementována není. Podobně lze zpochybnit tvrzení týkající se chybějících modulů, např. z abstraktu "Systém umožňuje ... učitelům plánovat rozvrh maturit" nebo v kap. 6.3.2 o testování "při plánování rozvrhu nebylo jasné, jak přiřadit k bloku zkoušek komisi a jak určit její členy" (správa rozvrhu však není vůbec implementována). Zakládají se tvrzení uvedená v technické zprávě na pravdě, nebo jsou lživá? Dokažte.
  2. Proč je u víceužitelského systému ignorován přihlášený uživatel a použit napevno uživatel číslo 1?
  3. V ER diagramu na obr. 4.5, str. 22, jsou v entitě "Nabídka literatury na rok" atributy "Počet kritérií..." a "Počet děl...", avšak kritéria i díla jsou již známá ze vztahů k příslušným entitám a jejich počty lze tedy odvodit. Proč je potřeba počty evidovat v entitě nabídky?
  4. Používal jste systém na správu verzí?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Jiří Matoušek, Ph.D. (člen)
Ing. Zdeněk Materna, Ph.D. (člen)

Supervisor’s report
Ing. Vladimír Bartík, Ph.D.

Aktivita během řešení mohla být vyšší, nakonec však student své zadání splnil a vytvořil funkční řešení pro organizaci maturit, které po kompletním odladění bude prakticky využitelné. Navrhuji proto hodnocení D (uspokojivě). 

Evaluation criteria Verbal classification
Informace k zadání

Cílem této bakalářské práce bylo vytvoření systému, který usnadní některé činnosti spojené s organizací maturit na středních školách (výběr literatury studenty, losování otázek, časomíra, tvorba rozvrhu maturit). Výsledek je prakticky využitelný, i když některé aspekty bude potřeba ještě doladit. Zadání bakalářské práce ale považuji za splněné. 

Práce s literaturou

Veškerou literaturu si student vyhledal samostatně. K volbě literatury nemám připomínky. 

Aktivita během řešení, konzultace, komunikace

Student řešil práci samostatně, konzultoval spíše se samotným gymnáziem, které bude systém využívat. Se mnou konzultoval spíše až před odevzdáním. 

Aktivita při dokončování

Práce byla dokončena s mírným předstihem, konzultace ohledně finální verze technické zprávy proběhla, stejně jako prezentace vytvořeného řešení. 

Publikační činnost, ocenění
Points proposed by supervisor: 67

Grade proposed by supervisor: D

Reviewer’s report
RNDr. Marek Rychlý, Ph.D.

Výsledkem je velmi dobrá technická zpráva avšak velmi problematické programové řešení, jehož stav neodpovídá popisu z technické zprávy. Pochyby o pravdivosti popisu v technické zprávě a splnění bodu 4 zadání považuji za velmi závažné. Navrhuji hodnotit práci stupněm dostatečně (E).

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Jedná se o průměrně obtížné zadání.

Prezentační úroveň technické zprávy

Technická zpráva má logickou strukturu, jednotlivé kapitoly na sebe dobře navazují a postup výkladu je pro čtenáře dobře pochopitelný. V některých částech je technická zpráva příliš popisná, např. kapitoly 5.2 "Nastavení frameworku a využití jeho možností" a zejména 6.1 "Postup nasazení" připomínají manuál (postupy instalace a nastavení) a tedy měly být přesunuty do příloh technické zprávy. Popis návrhu programového řešení vhodně doplňují diagramy, avšak s chybami: např. chybné použití vztahu generalizece/specializace v diagramu případů užití na obr. 3.2 na str 17 (chybné Učitel "je" Žák) nebo nevhodné odvoditelné atributy entit v ER diagramu na obr. 4.5, str. 22.

75
Formální úprava technické zprávy

Z hlediska formální úpravy je technická zpráva na velmi dobré úrovni. Po typografické a jazykové stránce je bez významnějších nedostatků. Vytknout lze pouze občasné nevhodné ohýbání anglických slov (např. "frameworky" na str. 19).

90
Realizační výstup

Realizačním výstupem je software pro organizaci maturitních zkoušek. Software je napsán v jazyce PHP s využitím rámce Laravel a zahrnuje několik modulů tak, jak je uvedeno v technické zprávě. Software bohužel není dokončen a obsahuje více závažných nedostatků: přestože je systém víceuživatelský (implementováno jako Auth v ControllerPrihlaseni.php), ve zdrojovém kódu je napevno nastaven uživatel číslo 1 a všechna použití Auth jsou zakomentována (což je závažné, protože systém má rozlišovat role "žák" a "učitel"); nejsou implementovány v systému přístupné a ve zprávě popsané moduly správy uživatelů, správy rozvrhů a nápověda. Mezi méně závažné nedostatky pak patří: nejsou implementovány žádné testy, přestože testovací nástroje jsou přítomny (PHPUnit); veškerá logika je implementována v řadičích (chybí Service/Repository doporučované pro Laravel rámec); je zde vysoká duplicita kódu (stejný opakující se kód pro správu tříd, předmětů, místností, kritérií a literatury); nejsou použity žádné strukturované komentáře (např. PHPDoc), přestože je kód jinak komentován podrobně. Nedostatky v programovém řešení jsou však v technické zprávě zcela ignorovány a jsou předložena nejspíš nepravdivá tvrzení o funkčnosti (autor popisuje používání neexistujících funkcí programového řešení).

55
Využitelnost výsledků

Programové řešení by mohlo být dobře použitelné v praxi, což se snaží prokázat autor popisem testování a předpokládaného nasazení na škole Gymnázium Třebíč v technické zprávě. O pravdivosti uvedených tvrzení lze však pochybovat stejně jako o praktické využitelnosti, vzhledem ke dříve zmíněným nedostatkům programového řešení.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno s vážnějšími výhradami

Zadaní je splněno s vážnou výhradou k implementaci (bod 4 zadání), která neodpovídá popisu v technické zprávě, jak je uvedeno dále v posudku.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsahem je technická zpráva v obvyklém rozmezí, od úvodu po závěr má 39 vysázených stran (54 normostran). Všechny části technické zprávy jsou informačně bohaté a pro práci skutečně nezbytné.

Práce s literaturou

Seznam použité literatury obsahuje 35 položek, z nichž 12 položek jsou odborné publikace a zbytek převážně online zdroje k předpisům a dokumentaci použitých technologií. Všechny položky jsou popsány dle zavedených zvyklostí. Výběr zdrojů vhodně pokrývá téma práce a způsob i rozsah jejich použití je v textu zřejmý.

85
Topics for thesis defence:
  1. V ER diagramu na obr. 4.5, str. 22, jsou v entitě "Nabídka literatury na rok" atributy "Počet kritérií..." a "Počet děl...", avšak kritéria i díla jsou již známá ze vztahů k příslušným entitám a jejich počty lze tedy odvodit. Proč je potřeba počty evidovat v entitě nabídky?
  2. Proč je u víceužitelského systému ignorován přihlášený uživatel a použit napevno uživatel číslo 1?
  3. V kap. 5.5 technické zprávy představujete zabudovanou nápovědu a v kap. 6.3 o testování dokonce tvrdíte "třetímu však bylo dovoleno využívat zabudovanou nápovědu". Nápověda však v odevzdaném programovém řešení implementována není. Podobně lze zpochybnit tvrzení týkající se chybějících modulů, např. z abstraktu "Systém umožňuje ... učitelům plánovat rozvrh maturit" nebo v kap. 6.3.2 o testování "při plánování rozvrhu nebylo jasné, jak přiřadit k bloku zkoušek komisi a jak určit její členy" (správa rozvrhu však není vůbec implementována). Zakládají se tvrzení uvedená v technické zprávě na pravdě, nebo jsou lživá? Dokažte.
Points proposed by reviewer: 59

Grade proposed by reviewer: E

Responsibility: Mgr. et Mgr. Hana Odstrčilová