bakalářská práce

Webová aplikace pro kolaborativní tvorbu rozvrhů

Text práce 3.47 MB

Autor práce: Bc. David Novák

Ak. rok: 2022/2023

Vedoucí: Ing. Daniel Dolejška

Oponent: Ing. Libor Polčák, Ph.D.

Abstrakt:

Tato práce řeší tvorbu webové aplikace pro tvorbu kolaborativních rozvrhů pro univerzity a jiné instituce.  Aplikace má za cíl implementovat editor pro tvorbu rozvrhů, který díky využití protokolu WebSocket umožňuje spolupráci uživatelů v reálném čase a automaticky vyhodnocuje kolize mezi lekcemi.  Před vytvořením samotné aplikace byla nastudována existující řešení z oblasti kolaborativních a rozvrhových editorů. Nejpodrobněji bylo studováno řešení firmy IS4U, v jejíž spolupráci je tato práce realizována. Pomocí ER diagramu a wireframů byl vytvořen návrh pro její vylepšení.  V implementaci převažuje jazyk TypeScript. Na serverové straně je využito běhového prostředí Node.js a frameworku Express.js. Klient je implementován pomocí frameworku Vue.js. V práci je také provedeno uživatelské testování aplikace a zamyšlení se nad budoucím vylepšením aplikace.

Klíčová slova:

kolaborativní aplikace, tvorba rozvrhů, webová aplikace, WebSocket, Vue.js, WebSocket, komunikace v reálném čase, TypeScript, Node, MySQL, Express, hledání kolizí, manuální testování

Termín obhajoby

14.06.2023

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaCznamka

Klasifikace

C

Průběh obhajoby

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

Otázky k obhajobě

  1. Proč jste nevyužil literaturu doporučenou vedoucím práce v zadání?
  2. Kdy jste se dozvěděl, že firma IS4U přestala spolupracovat se školou? Zvažoval jste nějak revidovat zadání?
  3. Byl jste nějak v kontaktu s tvůrci rozvrhu na naší fakultě?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Peter Chudý, Ph.D., MBA (člen)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Ondřej Lengál, Ph.D. (člen)

Posudek vedoucího
Ing. Daniel Dolejška

Student bohužel nebyl od firemního konzultanta, jednatele firmy IS4U, dr. Šorma, schopen získat zpětnou vazbu k poslední implementované verzi vytvořeného řešení a tedy ta nejcenější zpětná vazba k funkčnosti aplikace není při zhodnocení práce k dispozici. Nehodnotím toto ovšem ani v nejmenším jako selhání studenta.


Vytvořené řešení je funkční a má reálné využití, ovšem má stále z velké části charakter technického prototypu a je použitelná pouze lokálně s jedním uživatelským účtem (i přes to že se jedná o webovou aplikaci).


S přihlédnutím ke složitosti zadání, stavu odevzdaného textu a stavu vytvořené aplikace hodnotím 72 body, tedy stupněm C.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Téma bakalářské práce bylo vypsáno ve spolupráci s firmou IS4U zastoupenou jejím jednatelem, dr. Šormem, v roli konzultanta práce. Cílem práce bylo navrhnout a vytvořit webovou aplikaci pro interaktivní a kolaborativní vytváření a správu rozvrhu. Z pohledu dostupných moderních technologií i z pohledu vyžadované funkcionality bych zadání zhodnotil jako jedno z jednodušších.

Firma se bez předcházející komunikace rozhodla s Fakultou v průběhu vypracovávání této práce partnerství rozvázat. Dr. Šorm, jednatel společnosti, pak dále se studentem postup i výsledky práce explicitně odmítl konzultovat. I v průběhu probíhajícího "partnerství" byl ovšem dr. Šorm na studentovy pokusy o plánování konzultací značně nereaktivní.

Vytvořené řešení je funkční a má reálné využití, ovšem má stále jen charakter prototypu. Při využití moderních technologií by ovšem návrh a zpracování výsledného nástroje s korespondujícími technickými požadavky neměli být příliš složité.

Práce s literaturou

Student převážně cituje vhodné, relevantní a aktuální zdroje. Použité zdroje vyhledával student povětšinou zcela samostatně.

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

Student byl aktivní na začátku zimního semestru, kdy se s firemním konzultantem domlouval na úvodní konzultaci k práci. Práce na implementačním řešení byla s vedoucím práce konzultována zřídka.

Na domluvené konzultace přicházel student připraven a včas, s otázkami i pokroky či změnami od poslední konzultace.

Aktivita při dokončování

Student byl při dokončování práce aktivní – implementační řešení i text práce včas konzultoval. Text práce byl především konzultován až v průběhu jejího dokončování, ovšem v dostatečném předstihu před odevzdáním.

Publikační činnost, ocenění

-

Výsledný počet bodů navržený vedoucím: 72

Známka navržená vedoucím: C

Pan Novák splnil zadání práce. Škoda, že stavěl na zelené louce, i když to nebylo po odchodu firmy potřeba. Navrhuji práci hodnotit jako dobrou.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: průměrně obtížné zadání

Zadání vzniklo na míru společnosti IS4U. Vysvětlení, že cílem práce je prozkoumat možností webových aplikací pro rozšíření tvorby produktů mně dává smysl.

V kapitole testování jsem byl překvapený absencí konzultace s firmou. Až teprve v posledních větách závěru jsem zjistil, že spolupráce v průběhu práce skončila.

Osobně mně v práci chyběla automatizovaná tvorba rozvrhů, například s ohledem na preference učitelů.

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

Stupeň hodnocení: zadání splněno s drobnými výhradami

Výčet existujícího software pro generování rozvrhů je poměrně strohý. Např. stránka https://github.com/topics/timetable-generator obsahuje celou řadu zdrojů, které se mohly v práci objevit.

Odevzdaný rozbor plně odpovídá očekávané spolupráci s firmou.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

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

Práce se velmi málo věnuje teoretickému rozboru. Zbytek textu odpovídá očekáváním, ale stálo by za to se zamyslet nad smysluplnějším uspořádáním. Např. část implementace se zabývá  návrhem algoritmů, což by se spíše hodilo do návrhu.

Kapitola testování popisuje uživatelské testování, autor jej však označuje jako manuální testování.

Obrázky jsou často referovány až po jejich vysázení. Některé nejsou moc čitelné. Občas se vyskytují i jiné prohřešky.

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

V textu se často vyskytují hovorové výrazy (spousta, nějaké). Některé věty jsou kostrbaté. Některé věty nedávají smysl. Např. poslední věta na str. 39 tvrdí, že chyby se objevily jen u jednoho uživatele ze dvou, ale testování probíhalo u 16 uživatelů. Našel jsem několik překlepů.

Obecně je však text kvalitní.

80
Práce s literaturou

Musím ocenit, že úvodní části práce ve mně vzbuzovaly pocit snahy proniknou do tématu např. konzultacemi s lidmi z oboru (např. Mgr. Krumpochová).

Nelíbí se mně způsob uvádění parafrází mimo věty, kdy není jasné, zda autor doslovně cituje, nebo jde opravdu o parafrázi.

Práce využívá téměř výhradně online zdroje. Jsem si jist, že využití hodnotnějších zdrojů jako je literatura doporučená vedoucím, nebo třeba kniha High Performance Browser Networking by práci prospěla.

70
Realizační výstup

Zdrojový kód není komentovaný, je však dobře čitelný. Testy nejsou.

Práci velmi chybí:

  1. Porovnání technologie WebSocket s jinými mechanismy pro obousměrnou výměnu dat, především WebRTC.
  2. Zdůvodnění vytvořeného rozhraní. Přestože se měl student seznámit s knihami o tvorbě UI, nejsou tyto knihy v práci citované a aplikované.
  3. Kolaborativní práce v editoru nebyla nijak testovaná a je nejasné, zda implementované algoritmy vůbec fungují. Vzhledem k názvu práce toto považuji za zásadní nedostatek.
70
Využitelnost výsledků

Sekce 5.4 dobře vystihuje proč nejsou výsledky práce využitelné. Zadání práce mělo smysl jen jako prototyp pro firmu.

Otázky k obhajobě:
  1. Proč jste nevyužil literaturu doporučenou vedoucím práce v zadání?
  2. Kdy jste se dozvěděl, že firma IS4U přestala spolupracovat se školou? Zvažoval jste nějak revidovat zadání?
  3. Byl jste nějak v kontaktu s tvůrci rozvrhu na naší fakultě?
Výsledný počet bodů navržený oponentem: 72

Známka navržená oponentem: C

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová