Puoliautomaattinen ohjelmiston paikkaustyökalu
Piironen, Lassi (2014)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014122120610
https://urn.fi/URN:NBN:fi:amk-2014122120610
Tiivistelmä
Ohjelmiston päivitysprosessissa pitää tehdä tiedostovertailut ohjelman alku- ja lopputilanteiden välillä silloin, kun päivityksen kohteena olevassa ohjelman versiossa on paljon päivityspaketissa huomioimattomia mutta kuitenkin tärkeitä paikallisia muutoksia. Vertailujen eroavaisuudet kopioidaan päivityspakettiin siten, että uudessa lopputulemassa on sekä päivityksen uudet ominaisuudet että tuotantoympäristöön liittyvät paikalliset muutokset. Prosessin toteutus on suhteellisen yksinkertainen, kun päivityskohteita on vain muutamia. Jos päivityksen korjaus on kiireellinen, ja se tulisi asentaa laaja-alaisesti suurelle osaa käytössä olevista tuotantoversioista, on prosessi kuitenkin kokonaisuudessaan raskas, monimutkainen ja siten myös altis virheille.
Tuotannossa voi olla monia eri ohjelmiston versioita, joten päivityspaketti pitää muotoilla kyseisille versioille sopivaan muotoon. Laaja-alaisen päivityksen levittämiseksi ohjelmistosuunnittelijan tulee toteuttaa kyseiset korjaukset yksittäistapauksina kaikkiin käytössä oleviin versioihin. Tuotantoversioiden korjauspäivittäminen vaatii siis jokaiselle päivitettävälle asennukselle oman uniikin versio- ja ympäristökohtaisen päivityspaketin.
Työssä toteutettu puoliautomaattinen paikkaustyökalu on PHP-ohjelmointikielellä toteutettu aputyökalu. Sen tarkoituksena on versiokohtaisten korjauspäivitysten ohjelmallinen luominen sekä niiden jakaminen moneen eri tuotantoversioon siten, että myös asennusten paikalliset muutokset huomioidaan, ja että muutokset on myös mahdollista arvioida ennen käytäntöönottoa. Työkalun on tarkoitus automatisoida tiedostovertailuja vaativasta ohjelmistopäivitysprosessista ne osat, jotka eivät tavallisesti vaadi päivityksen asentajahenkilöltä erityistä harkintaa. Työn ajatuksena on se, että ohjelmistopäivityksessä asentajahenkilö pystyy paremmin keskittymään olennaiseen eli päivityksen riskialttiiden muutosten arvioimiseen.
Työ onnistui tavoitteissaan, mutta sen tuloksena syntynyt työkalu ei ole sellaisenaan ainakaan yksittäisenä työkaluna valmis kokonaisratkaisu suurimpiin päivitysarkkitehtuurisiin ongelmiin. Kehitysympäristöön liittämiseen liittyvällä jatkokehityksellä työkalu kuitenkin toimii työntekoa helpottavana osana kehitysympäristön isoa kokonaisuutta, jossa yhdistyvät versionhallintajärjestelmän ominaisuudet, versiokohtaisten päivitysten luomisen helppous sekä turvallinen tiedonsiirto eri järjestelmien välillä.
Tuotannossa voi olla monia eri ohjelmiston versioita, joten päivityspaketti pitää muotoilla kyseisille versioille sopivaan muotoon. Laaja-alaisen päivityksen levittämiseksi ohjelmistosuunnittelijan tulee toteuttaa kyseiset korjaukset yksittäistapauksina kaikkiin käytössä oleviin versioihin. Tuotantoversioiden korjauspäivittäminen vaatii siis jokaiselle päivitettävälle asennukselle oman uniikin versio- ja ympäristökohtaisen päivityspaketin.
Työssä toteutettu puoliautomaattinen paikkaustyökalu on PHP-ohjelmointikielellä toteutettu aputyökalu. Sen tarkoituksena on versiokohtaisten korjauspäivitysten ohjelmallinen luominen sekä niiden jakaminen moneen eri tuotantoversioon siten, että myös asennusten paikalliset muutokset huomioidaan, ja että muutokset on myös mahdollista arvioida ennen käytäntöönottoa. Työkalun on tarkoitus automatisoida tiedostovertailuja vaativasta ohjelmistopäivitysprosessista ne osat, jotka eivät tavallisesti vaadi päivityksen asentajahenkilöltä erityistä harkintaa. Työn ajatuksena on se, että ohjelmistopäivityksessä asentajahenkilö pystyy paremmin keskittymään olennaiseen eli päivityksen riskialttiiden muutosten arvioimiseen.
Työ onnistui tavoitteissaan, mutta sen tuloksena syntynyt työkalu ei ole sellaisenaan ainakaan yksittäisenä työkaluna valmis kokonaisratkaisu suurimpiin päivitysarkkitehtuurisiin ongelmiin. Kehitysympäristöön liittämiseen liittyvällä jatkokehityksellä työkalu kuitenkin toimii työntekoa helpottavana osana kehitysympäristön isoa kokonaisuutta, jossa yhdistyvät versionhallintajärjestelmän ominaisuudet, versiokohtaisten päivitysten luomisen helppous sekä turvallinen tiedonsiirto eri järjestelmien välillä.