Jatkuva integraatio -prosessin käyttäminen laitealustariippumattomassa ohjelmistokehityksessa - Huhtala, Jaakko (My University, 2010)
Tämä opinnäytetyö käsittelee tietokoneohjelmiston kehitystyöprosessia, jossa kehitetään laitealustariippumatonta sovelluskehystä C/C++-ohjelmointikielellä käyttäen jatkuva integraatio -prosessia. Työ on tapaustutkimus, jossa kehitetään työn toimeksiantajan projektissa käytetyn sovelluskehitysjärjestelmän toimintaa. Sovelluskehitysjärjestelmässä käytetään jatkuva integraatio -prosessin toimintatapoja ja työkaluja, joilla helpotetaan ohjelmistokehittäjän työtä sekä mahdollistetaan sovelluksen toimivuus eri laitealustoilla kehitystyön aikana. Työn tarkoituksena on tehdä selvitys käytetystä sovelluskehitysjärjestelmästä sekä havainnoida järjestelmän ongelmia ja löytää ehdotuksia järjestelmän parantamiseksi. Työssä verrataan aiempaa tutkimusta aiheesta tutkittavan projektin käännösympäristöön. Työssä esitellään jatkuva integraatio -prosessia varten kehitettyjä työkaluja. Lisäksi työssä havainnoidaan toimeksiantajan projektin ohjelmistokehitystyön aikana esiintyneitä käännösympäristön ongelmia ja etsitään parannusehdotuksia käännösympäristön kehittämiseksi. Käytetyssä ohjelmistokehitysjärjestelmässä on havaittu ongelmia sovelluksen kääntyvyyden ylläpitämisessä kaikilla laitealustoilla. Toinen ongelma on ollut käännöspalvelimella kääntämisen hitaus. Parannusehdotuksena työssä esitetään Pulse-käännöspalvelinohjelmistossa käytetty private buildprosessi, joka helpottaisi ja nopeuttaisi kääntyvyyden testaamista kaikilla laitealustoilla. Työssä esitetään parannusehdotuksina myös seuraavia asioita: integraatiopalvelimen tuottamien binääripakettien lataamisoptio käännösympäristöön, CMake-abstraktiokerroksen luominen CMake-konfiguraatioiden tekemisen helpottamiseksi, kaaviokuvien automaattinen luominen käännöspalvelimella kuvaamaan sovelluskirjastojen välisiä riippuvuuksia ja kehitysympäristön käyttöönoton nopeuttaminen asennussovelluksen avulla.
Keywords: jatkuva integraatio -prosessi; ohjelmistokäännösympäristö; sulautetut järjestelmät; ohjelmistokehitysympäristö; laitealustariippumaton ohjelmistokehitys; fi=Tietotekniikka (KTM)|en=Computer Science|; fi=Tietotekniikan koulutusohjelma (DI)|