arvutiteaduse instituudi lõputööderegister


Mitme eesmärgiga optimeerija leidmaks tööülesandeid vastavalt tarkvaraarendaja kogemusele ja ärilisele väärtusele
Nimi Sander Jenk
Kokkuvõte Välearendust kasutavates tarkvaraprojektides tarnitakse tarkvara lühikeste iteratsioonidena. Tööülesannete valimine iteratsiooni on keeruline mitmel põhjusel. Iteratsiooni planeerides peavad tarkvaraarendajad arvesse võtma enda kogemust, eelistusi ja töömahtu ning maksimeerima iteratsiooni ärilist väärtust. Selleks peavad nad olema tuttavad ülesannete sisuga, mis on aeganõudev, kuna tegemata tööde prioriteediloend võib olla tuhandeid kirjeid pikk. Neid faktoreid arvestades on selle magistritöö eesmärk välja töötada automaatne mitme eesmärgiga optimeerimismeetod, mis leiaks tegemata tööde loendist ülesanded vastavalt tarkvaraarendaja töövõimakusele ja maksimeeriks kolme eesmärki: tööülesannete ärilist väärtust, arendaja eelnevat kogemust sarnaste tööülesannetega ja tööülesande uudsust arendaja vaatepunktist. Välja töötatud meetod kasutab LDA algoritmi tööülesannetest teemade ekstraheerimiseks ja neid teemasid kasutatakse arendaja eelneva kogemuse ja tööülesande uudsuse defineerimiseks. NSGA-II algoritmi kasutatakse kolme eesmärgi optimeerimiseks, et leida parimad tööülesannete kombinatsioonid tegemata tööde loendist. Välja töötatud meetodi efektiivsust näidatakse kasutades 15 avatud lähtekoodiga projekti ja 1 kinnise lähtekoodiga projekti andmestikke. Meetodi efektiivsuse hindamine sisaldab käitusaja uurimist ja leitud lahendite kvaliteedi analüüsi kasutades Hypervolume sooritusnäitajat. Lisaks küsitletakse tarkvaraarendajaid, et paremini mõista nende eelistusi ja genereeritud lahendite kvaliteeti. Tulemused näitavad, et optimeeritud lahendite genereerimine võtab keskmiselt alla 4 sekundi, mis on oluliselt kiirem võrreldes manuaalselt tööülesannete valimisega samu kriteeriumeid arvesse võttes. Küsitlus näitab samuti positiivseid tulemusi, kuna meetod optimeerib 3 eesmärki arvesse võttes. Välja töötatud meetod on neid tulemusi arvesse võttes iteratsioonide planeerimiseks kasulik tööriist.
Lõputöö keel inglise
Lõputöö tüüp Magister - Tarkvaratehnika
Juhendaja(d) Ezequiel Scott
Kaitsmise aasta 2022
PDF