arvutiteaduse instituudi lõputööderegister


Käitusaegne kasutajaliidese uuendamine Java programmidele
Nimi Taivo Käsper
Kokkuvõte Tarkvaraarendajad peavad tegema hulga rutiinseid töid, et testida kirjutatud koodi muudatuse tulemust. Olenevalt rakenduse keerukusest võib neil selleks minna paarist sekundist kuni paari minutini. Oma töö tulemust soovitakse katsetada tunni aja jooksul keskmiselt kolm kuni neli korda, mis tähendab märkimisväärset ajakulu teiste täitmist vajavate tööülesannete arvelt. Seda probleemi saab aga vältida, kui kasutada mõnda dünaamilisel viisil klasse taaslaadivat tarkvara, nagu seda on näiteks JRebel. Kahjuks tänasel päeval ei toeta mitte ükski olemasolev toode kasutajaliidese uuendamist töölaua programmide jaoks, nende töötamise ajal. Käesolevas lõputöös otsitakse lahendusi, et tuua käitusaegne kasutajaliidese uuendamine Swing teegiga kirjutatud programmidele. Selleks loodi pistikprogramm, mis täiendab JRebeli olemasolevat funktsionaalsust ning suudab tuvastada arendaja tehtud muudatused ja kanda need üle töötavasse rakendusse, ilma et seal juba olevad andmed kaduma läheksid. Soovitud tulemuse saavutamiseks oli vajalik lahendada järgmised probleemid: kuidas leida, mida arendaja täpselt muutis, kuidas uuendused saaksid rakenduse töötamise ajal jõustuda, kuidas luua uus isend ükskõik millisest kasutajaliidese komponendist ning seejärel kindlaks teha, kuidas vanalt isendilt uuele andmed üle kanda, kui pole teada, mis täpselt üleviimist vajab. Selle töö tulemusena saavad arendajad kasutada pistikprogrammi nimega UiReload, mis koostöös JRebeliga võimaldab neil näha enda töö tulemusi vaid millisekundite jooksul. Seesugune kiire tulemus oli saavutatav ainult lahendusega, mis välistaks tarkvara taaskäivitamise, õigesse kohta navigeerimise ja vormide täitmise vajaduse.
Lõputöö keel inglise
Lõputöö tüüp Magister - Informaatika
Juhendaja(d) Allan Raundahl Gregersen, Luciano García-Bañuelos
Kaitsmise aasta 2015
PDF