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.

Web-ohjelmiston uudistaminen funktionaalisella paradigmalla

Mäki, Jermu (2019)

 
Avaa tiedosto
MäkiJermu.pdf (984.3Kt)
Lataukset: 



Mäki, Jermu
2019

Tietotekniikan DI-ohjelma - Degree Programme in Information Technology
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-11-07
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201910234065
Tiivistelmä
Ohjelmistot vanhenevat ajan saatossa. Vanheneminen johtuu ympäristön muutoksista. Ohjelmistoja voidaan ylläpitää, mutta jossain vaiheessa muuttuneet vaatimukset poikkeavat niin paljon alkuperäisistä tai muutosten tekeminen on niin hankalaa, että ohjelmiston uudistaminen on kannattavampaa. Uudistus toimii investointina, jonka hyöty realisoituu myöhemmässä vaiheessa. Uudistamiseen voidaan päätyä lisäksi paremman joustavuuden ja ylläpidon saavuttamiseksi.

Ohjelmiston uudistaminen voidaan jaotella sen vaikutusten mukaan. Pienimmillään uudistus koskettaa vain tiettyä osakokonaisuutta kuten käyttöliittymää ja suurimmillaan uudistus voi koskea koko järjestelmää. Ohjelmien uudistamisen tekeminen pohjautuu uudistettavan ohjelman tutkimiseen eri tasoilla. Alkuperäisen ohjelman lähdekoodi ja suunnitteludokumentit tukevat uudelleensuunnittelua. Suunnittelun lopputuloksena syntyy uusi korkeamman tason arkkitehtuurimalli, jota aletaan toteuttaa.

Tässä työssä tutkitaan laajan web-järjestelmän erään osakokonaisuuden uudistamista. Toiminnalliset vaatimukset ovat muuttuneet alkuperäisistä ohjelman elinkaaren aikana. Ylläpito ja uusien muutosten tekeminen ovat osoittautuneet hankaliksi. Uudistus tehdään korvaamalla vanha järjestelmä uusien määrittelyiden perusteella, mutta myös tutkimalla vanhan järjestelmän lähdekoodia. Vanhan järjestelmän oliopohjainen Java-kieli vaihdetaan funktionaalista paradigmaa noudattavaan ja ilmaisuvoimaisempaan Clojureen.

Ohjelman arkkitehtuuri suunniteltiin uudelleen ja ohjelmointikieli vaihdettiin paremmin datankäsittelyyn soveltuvaksi ja yleiskäyttöisemmäksi. Näillä muutoksilla saavutettiin yksinkertaisempi ohjelman tekninen rakenne ja huomattava vähennys lähdekoodin rivimäärässä. Ohjelmistometriikoin, kyselyn ja haastattelujen perusteella arvioituna uudistettu ohjelma oli erityisesti ylläpidon ja suorituskyvyn kannalta onnistunut. Funktionaalinen ohjelmointikieli koettiin sopivan datankäsittelyä sisältävän web-järjestelmän tekemiseen.

Lopputuloksena oli selkeästi parempi järjestelmä. Tärkeimmät tavoitteet olivat parempi ylläpidettävyys, mahdollisuus korjata virheellistä dataa ja parempi suorituskyky. Näihin tavoitteisiin päästiin. Vanhan datan migraatio uuteen järjestelmään oli työlästä ja se vei enemmän aikaa kuin alun perin ennakoitiin. Kaiken kaikkiaan uudistus oli onnistunut ja funktionaalinen ohjelmointiparadigma sopii web-ohjelmistojen toteutukseen ja runsaasti ohjelmallista datankäsittelyä sisältäviin ohjelmiin. Tärkeää on kuitenkin myös ohjelmistosuunnittelu, laadukas ohjelmakoodi ja hyvät ohjelmointikäytännöt.
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