Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Tekninen velka modernissa ohjelmistotyössä

Vepsä, Juha (2019)

 
Avaa tiedosto
vepsa.pdf (1.036Mt)
Lataukset: 



Vepsä, Juha
2019

Tietotekniikka
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-05-08
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201904101389
Tiivistelmä
Ohjelmistokehityksen nopeus ja luonne ovat muuttuneet paljon sitten vesiputousmallin. Moderni ohjelmistotyö on nopeatempoista ja se pyrkii vastaamaan jatkuviin toimintaympäristön muutoksiin. Modernissa ohjelmistotyössä painotetaan muun muassa kehitystyön edistämistä kaiken kattavien suunnitelmien laatimisen sijaan. Modernin ohjelmistotyön toimintakulttuurissa pyritään ylipäänsä ketteryyteen ja joustavuuteen.

Kasvanut ohjelmistotuotantonopeus ja ohjelmistokehityskulttuurin muutos voivat kuitenkin altistaa kehitettävän ohjelmiston teknisen velan synnylle. Teknisellä velalla tarkoitetaan ohjelmiston lähdekoodissa esiintyviä, ohjelmointityön seurauksena syntyviä virheitä, jotka vaikeuttavat ohjelmiston jatkokehitystä ja tekevät lähdekoodin tulkinnasta vaikeampaa. Runsaasti teknistä velkaa sisältävää koodia on hidas jatkokehittää. Teknistä velkaa voi syntyä esimerkiksi aikataulupaineiden takia ja tekninen velka tulisikin ottaa huomioon modernissa ohjelmistotyössä.

Tässä diplomityössä on tutkittu miten tekninen velka esiintyy ja miten se kehittyy modernissa ohjelmistotyössä. Työn tutkimusosassa on tutkittu kahta nykyaikaisin ohjelmistokehitysmenetelmin toteutettua ohjelmistoa: Vaadin Framework 7 ja Yle Areena. Tutkimuksessa analysoitiin molempien ohjelmistojen koodipohjien kehitystä SonarQubella. SonarQube on staattinen koodin analysointityökalu, joka tuottaa sille syötetystä koodista tietoa koskien muun muassa teknistä velkaa, ohjelmointivirheitä ja haavoittuvuuksia. Työn tuloksissa käsitellään muun muassa teknisen velan kehittymistä ohjelmistoissa pitkällä aikavälillä.

Tuloksissa havaittiin, että tekninen velka kasvaa samassa suhteessa lähdekoodin määrän kanssa, mikäli siihen ei kiinnitetä huomioita. Kuitenkin jo vähäiset toimenpiteet lähdekoodin laadun ja siisteyden ylläpitämiseksi auttavat myös teknisen velan hallinnassa, vaikka toimenpiteiden tarkoitus ei alunperin olisikaan torjua nimenomaan teknistä velkaa. Yleisimmät teknisen velan lähteet liittyvät muun muassa perinnekoodiin, ohjelmointityyliin ja literaalien käyttöön vakioiden sijaan. Tuloksissa esiintyy jonkin verran ''kouluesimerkkivirheitä'' esimerkiksi liukulukujen välillä tapahtuvasta vertailusta yhtäsuuruusoperaattorilla tai geneeristen poikkeuksien käyttämistä erikoistettujen sijaan.
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [36421]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste