Integration of the Dataspecer tool and the Git versioning system
Integrace nástroje Dataspecer s verzovacím nástrojem Git
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/209804Identifikátory
SIS: 283666
Kolekce
- Kvalifikační práce [12153]
Autor
Vedoucí práce
Konzultant práce
Stenchlák, Štěpán
Oponent práce
Bednárek, David
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika - Softwarové a datové inženýrství
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
9. 6. 2026
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
dataspecer|git|verzování|integraceKlíčová slova (anglicky)
dataspecer|git|versioning|integrationCílem diplomové práce bylo rozšířit existující nástroj pro správu specifikací, Dataspe- cer, o integraci s verzovacím systémem Git. Integrace umožní externí zaznamenávání historie datových specifikací uložených v Dataspeceru, s tím i synchronizaci mezi růz- nými instancemi nástroje Dataspecer, a zároveň zpřístupní funkce jako jsou issues nebo CI/CD, které využíváme pro generování a vystavení datových dokumentací na web po- mocí GitHub Pages. V rámci vypracování práce bylo nutné překonat řadu překážek, například sběr požadavků od uživatelů, implementaci autentizace, úpravu existujícího kódu nástroje Dataspeceru, zavedení zajímavých abstrakcí do kódu, porozumění vnitř- nímu fungování Gitu, vytvoření zjednodušeného zaznamenávání stavu kolizí, tzv. merge stavu, či implementaci editoru pro zobrazení rozdílů mezi dvěma verzemi datových spe- cifikací, tzv. diff editoru. Práce úspěšně naplnila stanovené cíle. Práce je vypracována v souladu se zásadami softwarového inženýrství a na základě vyhodnocení provedeného s reálnými uživateli můžeme říci, že práce naplnila očekávání z hlediska funkcionality, ale má jisté mezery v oblasti použitelnosti.
This thesis aims to improve Dataspecer, a data specification management tool, by im- plementing Git integration. This enables external version history tracking of Dataspecer data specifications, synchronization across Dataspecer instances, and gives access to the Git provider's features, such as issues or CI/CD, which is used to generate and pub- lish data documentations via GitHub Pages. The thesis required us to overcome several technical challenges, including but not limited to gathering requirements from the users, authentication implementation, modifications to Dataspecer's codebase, introducing in- teresting code abstractions, understanding Git internals, creating a simplified version of merge state, and implementing a diff editor. The thesis successfully achieved the set goals while following common software engineering principles. The evaluation showed that while the thesis satisfies stakeholder needs from the functional perspective, there is room for improvement in its usability.
