Diplomova práca

Študent: Jozef Kolek

Email: kolek11@uniba.sk / jkolek2000@gmail.com

Vedúci bakalárskej práce: doc. Ing. Ivan Polášek, PhD.

Konzultant: Ing. Juraj Vincúr, PhD.

Email vedúceho: ivan.polasek@fmph.uniba.sk


Názov diplomovej práce: Vývoj softvéru vo virtuálnej alebo rozšírenej realite

Anotácia: Programátori pri vývoji softvéru najčastejšie pracujú so zdrojovým kódom v rámci vývojárskeho prostredia pomocou klávesnice a myši, a tento kód im je zobrazovaný prostredníctvom malého počtu 2D monitorov. Takýto tradičný prístup ignoruje možnosti, ktoré nám poskytujú novovzniknuté technológie pre zobrazovanie virtuálnej reality ako napr. Oculus Quest alebo obohatenej reality ako napr. XREAL Light. Veríme, že vhodná migrácia jednotlivých funkcionalít vývojárskeho prostredia do sveta virtuálnej alebo obohatenej reality zvýši produktivitu programátorov, zlepší ich používateľský zážitok a skráti čas potrebný na oboznámenie programátora s neznámym softvérovým systémom.

Cieľ: Analyzujte existujúce podporné nástroje a prostredia určené na vývoj softvéru. Zamerajte sa najmä na 3D riešenia. Analyzujte už identifikované problémy, nedostatky a návrhy vylepšení existujúcich prístupov. Navrhnite a implementujte vlastný prístup, v rámci ktorého aplikujete technológie virtuálnej alebo obohatenej reality v kontexte vývoja softvéru. Vyhodnoťte prínos vášho riešenia v porovnaní s tradičnými prístupmi.


Rozvrh činností
februar-marec: analýza článkov ohľadom programovania vo VR
apríl: vypracovanie návrhu aplikácie
máj: spísanie podrobnejšej analýzy, urobenie malého prototypu a prezentácie
september: vypracovanie vzorov pre class activity diagram (definícia vzťahov, obsah nodov)
október-november: vykreslenie diagramov, generovanie medzi uml a kódom a naopak, písanie prvých strán diplomovky
december: dopísanie prvých strán diplomky, úprava návrhu, dokončenie prvého prototypu
január: dorobenie generovania kódu z UML
februar: uplne sfunkcnenie vykreslovania UML diagramov
marec: vizualizacia kompilacie programu, dorobit ovladanie pomocou MRTK
april: vyskum, pisanie diplomovej prace
maj: uskutocnenie vyskumu, pisanie diplomovej prace


Denník činností:
Ku dňu Činnosť
1.3.2024 analýza prvých 5 článkov ohľadom VR všeobecne
8.3.2024 analýza (spoznamkovanie v odrazkach) ďalších 11 článkov zameraných na programovanie vo VR, vizualizáciu softvéru a pomoc VR pri obsluhovaní robotov
15.3.2024 analýza (spoznamkovanie v odrazkach) článkov zameraná na programovanie pomocou UML
22.3.2024 dodatočná analýza (spoznamkovanie v odrazkach) článkov zameraná Octobubles, Argumented realitu, programovanie pomocou UML
12.4.2024 hľadanie témy, ktorej by som chcel venovať v praktickej časti
19.4.2024 začanie vypracovania návrhu (deployment grafu, spísanie technológií)
26.4.2024 dodatočná analýza článku, v návrhu pridanie funkčných a nefunkčných požiadaviek, návrh evaluácie
3.5.2024 úprava návrhu, pridanie tech stacku, článkov do analýzy k technólogiam
10.5.2024 vypracovanie komplexnej analýzy 4 článkov, úprava component diagramu, integrácia MRTK scény, vyskúšanie 3D komponentov
17.5.2024 úprava component diagramu, zrobenie prezentácie
4.10.2024 navrhnutie vzoru pre class a activity diagramy
11.10.2024 doplnenie class diagramu o definíciu vzťahov, lepšie vykreslenie vzorov pre activity aj class diagram, vymyslenie jednoduchej reprezentácie xml spravenie generátora z xml do kódu
18.10.2024 Vygenerovanie class aj activity v xmi podobe, preskúmanie vhodných nástrojov (Visual paradigma, EArchitecute systems) na generovanie xmi z diagramu ich praktickosť
25.10.2024 Prieskum použitelnosti xmi, výroba generátora pre class diagram z kódu, prvé pokusy o vykreslenie class diagramu v unity
1.11.2024 Vykreslenie activity a class diagramu v unity cez GraphViewApi (prvotny model), pokus o použitie MSAGL
8.11.2024 prvotne vykreslenie class diagramu, vykreslovanie zrobene uz riadne cez GameObjecty
15.11.2024 dorobenie vykreslenia class diagramu aj activity diagramu, zacatie riesenia nacitavania kodu do UML cez Roslyn
22.11.2024 spravenie nacitania z C# do class diagramu, spravne specifikovanie hran v nom a spravne nacitanie vrcholov v activity diagrame
29.11.2024 dizajnove upravy pri vykreslovani class diagramu, snaha spojazdnit msagl layout pre class diagram, pisanie diplmky, dorobene spravne nacitanie hran pre activity diagram
6.12.2024 dorobene prvotne generovanie kodu z activity a class, snaha o vizualizaciu skompilovaneho vysledku, pisanie diplomovej prace
13.12.2024 rozbehanie MSAGL pre class diagram, tvorba prezentácie, doplnenie diplomovej prace
21.2.2025 mensie fixy, pokus uplne spojazdnit vykreslovanie hran pomocou MSAGL
28.2.2025 vykreslenie UML vrcholov aj hran vdaka MSAGL layoutu, pracovanie na generovani kodu z aktivity diagramu
7.3.2025 dorobenie generovania kodu z aktivity diagramu, vizualizacia skompilovaneho kodu pomocou vypisu podobnemu konzolovej aplikacii

Zdroje
Jakub Kučečka, Juraj Vincúr; Peter Kapec; Pavel Čičák: UML-based Live Programming Environment in Virtual Reality
Matej Ferenc; Ivan Polasek; Juraj Vincur: Collaborative Modeling and Visualization of Software Systems Using Multidimensional UML
Enes Yigitbas; Simon Gorissen; Nils Weidmann; Gregor Engels: Collaborative Software Modeling in Virtual Reality
Anthony Elliott; Brian Peiris; Chris Parnin: Virtual Reality in Software Engineering: Affordances, Applications, and Challenges
Miroslav Kozma, Juraj Vincur, Peter Kapec: CollaVRation: An Immersive Virtual Environment for Collaborative Software Development
PictureLeonard Geier, PictureClemens Tiedt, PictureTom Beckmann, PictureMarcel Taeumel, PictureRobert Hirschfeld: Toward a VR-Native Live Programming Environment
Steven Reiss, Brown University, Jared N. Bott, Joseph J. LaViola Jr: Code Bubbles: A practical working-set programming environment
Abilio G. Parada; Eliane Siegert; Lisane B. de Brisolara: Generating Java Code from UML Class and Sequence Diagrams
Sara Gotti; Samir Mbarki: UML executable: A comparative study of UML compilers and interpreters
Dumitru–Cristian Apostol; Paul–Daniel Rusovan; Marius Marcu: UML to code, and code to UML, a view inside implementation challenges and cost
Alhumaidan, Fahad: A Critical Analysis and Treatment of Important UML Diagrams Enhancing Modeling Power
Waykar, Yashwant: Significance of class diagram in software development

Hlavné výstupy
Analýza vedeckých článkov
Návrh aplikácie
diplomová práca
Template: analýza článkov
Repozitár
Prezentácia k diplomovému semináru 2