Zadáno
Diplomová práce č. 1 - 2025/2026
Zadání pro studijní obor: Softwarové inženýrství
Název: Rozšiřování systému správy studentských úloh v systému GitLab
Motivace:
Od akademického roku 2024/25 došlo vzhledem k náběhu nově akreditovaného bakalářského oboru k postupné změně ve složení struktury vyučovaných předmětů. Předmět KIV/OKS začal úzce spolupracovat s předmětem KIV/WEB.
Pro tuto spolupráci a pro dosažení co největší možné jednotnosti vyhodnocovacího postupu byly v ak. roce 2023/24 realizovány dvě diplomové práce, díky nimž mají studenti k dispozici:
- Jednotný způsob odevzdávání postupně vytvářených úloh jak své individuální aplikace pro KIV/WEB, tak i jejich testů pro KIV/OKS.
- Odevzdávání jednotlivých úloh je prováděno pomocí verzovacího systému GitLab. V něm též automaticky proběhnou v rámci předpřipravených pipelines základní verifikační aktivity a případné transformace či spuštění odevzdané úlohy.
- Následně jsou vzniklé artefakty nasazeny na testovací prostředí a jsou studentovi i vyučujícímu dostupné jako dashboard přes webové rozhraní.
- Vyučující má díky další samostatné aplikaci možnost odevzdané úlohy hodnotit a bodovat.
Celý popsaný systém byl nově zaveden od zimního semestru 2024/25, přičemž už při jeho zavádění bylo zřejmé, že bude nutné systém rozšířit minimálně ve dvou oblastech:
- Bezpečnost
Existující systém počítá s "disciplinovaným studentem", který bude odevzdávat svoje úlohy podle předem připraveného a vyzkoušeného postupu a takto odevzdanou úlohu jednotně zpracuje předem připravená pipeline. Ovšem systém GitLab dává zkušenému uživateli množství možností, jak ovládat, měnit, spouštět atp. jednotlivé joby v pipeline nebo jak přebírat výsledky práce jiných studentů.
Na základě zkušeností získaných z prvního roku provozu systému bude třeba analyzovat možné vektory neetického chování a navrhnout či provést taková technická či organizační opatření, aby jim bylo zabráněno.
- Validační skripty
Každý student bude odevzdávat 10 úloh, přičemž se očekává zhruba 60 až 100 studentů v ročníku (předměty KIV/WEB a KIV/OKS jsou oba povinné A předměty). Protože finální hodnocení každé úlohy musí provádět manuálně vyučující, je zřejmé, že při počtu studentů a počtu úloh bude jakákoliv předcházející automatická kontrola velkou pomocí.
Na základě dat získaných z prvního roku provozu systému bude nutné připravit pro každou úlohu řadu relativně jednoduchých validačních skriptů, které budou následně zařazeny do příslušných pipelines.
Cílem těchto mikrovalidací bude stav, kdy vyučující bude manuálně hodnotit jen ty úlohy, které splnily určitá minimální kriteria kvality.
Validační skripty bude třeba prokazatelně otestovat rozsáhlou sadou pozitivních i negativních testů. Dále bude nutné začlenit tyto testy do stávajícího systému tak, aby bylo možné kdykoliv ověřit správnou funkci validačních skriptů.
V rámci diplomové práce by bylo vhodné provést i zátěžové testy, které by mohly upozornit na úzká místa celého systému.
Zadání:
- Seznamte se ...
- Navrhněte ...
- Realizujte ...
- Ověřte ...
Cílový operační systém: Linux
Jazyk a technologie: GitLab, Python, HTML, CSS, YAML, Docker, Kubernetes
Charakter práce: Analytická a experimentální.
Vhodné pro: Student, který je schopen experimentální práce.
Diplomant: Matěj Rampula
Poslední změna: 9.4.2024
Pavel
Herout