Aplikace pro překlad datových modelů
Název práce v češtině: | Aplikace pro překlad datových modelů |
---|---|
Název v anglickém jazyce: | Application for data model translation |
Klíčová slova: | datový model|softwarové inženýrství |
Klíčová slova anglicky: | data model|software engineering |
Akademický rok vypsání: | 2023/2024 |
Typ práce: | bakalářská práce |
Jazyk práce: | |
Ústav: | Katedra softwarového inženýrství (32-KSI) |
Vedoucí / školitel: | Mgr. Petr Škoda, Ph.D. |
Řešitel: | Šimon Jůza - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 24.09.2024 |
Datum zadání: | 29.10.2024 |
Datum potvrzení stud. oddělením: | 29.10.2024 |
Zásady pro vypracování |
Složitější softwarové systémy se často vyznačují poměrně složitou logikou v oblasti práce s daty. Data často prochází přes několik komponent, které mohou měnit nejen jejich formát, ale i jejich model. Pro efektivní vývoj a údržbu takového systému je zcela zásadní existence udržovaného datového modelu, který umožní vývojářům efektivně komunikovat své datové potřeby. Datové modely jsou běžně tvořeny a udržovány pomocí modelovacích jazyků, jako jsou například UML nebo ER-diagramy. Bohužel dostatečná znalost těchto jazyků není běžnou výbavou každého vývojáře. Řešením může být umožnit, třeba i omezenou, interakci vývojáře s datovým modelem skrze jazyk, který vývojář již pracovně používá.
Cílem práce je zanalyzovat, navrhnout a implementovat aplikaci, která umožní konverzi mezi různými reprezentacemi datového modelu. Aplikace by měla umožnit konverzi jak v reálném čase, tak i pomocí dávkového zpracování. Konverze bude probíhat převodem skrze společnou reprezentaci datového modelu, jejíž popis a návrh je součástí řešení. Aplikace by měla být schopna získat, alespoň částečný, datový model z následujících vstupů: JSON schéma, LinkML, SQL a vybraných programovacích jazyků. Z hlediska výstupu by aplikace měla být schopna produkovat výše uvedené vstupy a dále alespoň jeden formát pro grafickou reprezentaci, například PlantUML. |
Seznam odborné literatury |
[1] https://linkml.io/linkml/
[2] https://plantuml.com/ [3] https://json-schema.org/ |