arvutiteaduse instituudi lõputööderegister


Mikroteenustepõhine platvorm tarkvara tehnilise võla analüüsiks
Nimi Octanty Mulianingtyas
Kokkuvõte Tehniliseks võlaks nimetatakse situatsiooni kus tarkvarale uue funktsionaalsuse arendamise käigus on tähtaja nimel toodud ohvriks koodi kvaliteet ja disain. See võib anda lühiajalise eelise, kuid on pikas perspektiivis kahjulik. Tehnilise võla kahandamine on tarkvara kvaliteedi parandamiseks ja finantsprobleemide vähendamiseks ülioluline.
Samas on tehnilise võla arvutamise protsess kohmakas, sest erinevad tehnilise võla arvutamise meetodid kasutavad väga erinevaid meetrikaid ja mudeleid. Käesoleva magistritöö eesmärgiks on analüüsida alternatiivset meetodit tehnilise võla arvutamiseks, kasutades mikroteenustel põhinevat platvormi suuremahuliste vabavaraprojektide kogumil.
Analüüsi oodatav tulemus on viitematerjal mida teadurid saaksid kasutada tehnilise võla arvutamise etalonvalemi loomiseks.
Töö raames valiti mikroteenuste põhine platvorm sest sellel on monoliitsete rakenduse ees mitmeid eeliseid – lihtne juurutamine, väiksem arv keskkonnasõltuvusi ja hooldatavus. Mikroteenuse platvormil kasutati kolme erinevat tehnilise võla leidmise meetodit: hooldatavuse indeks, SIG hooldatavus, ja Sqale.
Olles mikroteenuste platvormi abil analüüsinud 124 java projekti, võib statistilise analüüsi tulemuste põhjal öelda et valitud kolme tehnilise võla arvutamise meetodil puudub vastastikune sõltuvus.
Kõigi kolme tehnilise võla leidmise meetodi puhul viib parameetrite TotalOp, TotalOpr, CC, Duplication, UnitSize, and NumberParameters, WMC kõrge väärtus madala hindestamiseni, ning seega kõrge (halva) tehnilise võlani.
Lahenduse skaleeruvust saab määrata läbi mikroteenuste jõudluse, mis selgub API päringutele kulunud ajast. Koormustestiks kasutati postmani. Testimiseks kasutatud API kasutas eelmaini-tud kolme erinevat tehnilise võla leidmise meetodit. Eksperimendi käigus kulus päringul 5 kausta analüüsimiseks 1m 40.38s, ning aeg paraneb järjekindlalt, kulutades 124 kausta analüüsimiseks 34m 20.70s. Platvormi testiti seitsmes interaktsioonis ning iga kord saadi ajaliselt erinev tulemus. Päringute kiirus oli igas iteratsioonis erinev ning üldist kiiruse suurenemise tendentsi ei täheldatud. Tuginedes nendele andmetele, siis mikroteenuste jõudlust ei mõjuta mitte iteratsioonide, vaid analüüsitavate kaustade arv.
Lõputöö keel inglise
Lõputöö tüüp Magister - Tarkvaratehnika
Juhendaja(d) Ulrich Norbisrath, Bruno Rossi PhD
Kaitsmise aasta 2021
PDF