Web-sovellus ohjelmistokehityksen jatkuvan integroinnin statistiikan visualisointiin
Pitkänen, Juha (2019)
Pitkänen, Juha
2019
Kaikki oikeudet pidätetään
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201903193357
https://urn.fi/URN:NBN:fi:amk-201903193357
Tiivistelmä
Tämän opinnäytetyön tavoitteena oli luoda web-sovellus, joka visualisoi ohjelmistokehityksen jatkuvan integroinnin statistiikkaa. Opinnäytetyön tavoitteena oli myös tutustua Node.js-ympäristön ja React-sovelluskehyksen käyttöön. Toimeksiantajana oli Accountor Finago Oy -ohjelmistoyritys.
Jatkuva integrointi on ohjelmistokehityksessä yleinen käytäntö, jonka tarkoituksena on yhdistää kehittäjien kirjoittamaa ohjelmistokoodia jaettuun tietolähteeseen mahdollisimman usein ja automatisoitujen työvaiheiden avulla varmistaa lähdekoodin eheys. Tämän mahdollistamiseksi tarvitaan automatisoituja työvaiheita ja testejä, joiden toiminnasta saadaan statistiikkaa.
Työ on toteutettu ensin suunnittelemalla sovelluksen toiminta, ulkoasu ja tietokantaratkaisu. Produkti koostuu Node.js-ympäristöllä kehitetystä rajapinnasta, Jenkins-ohjelman rajapinnan hyödyntämisestä, tietokannasta ja React-sovelluskehyksellä kehitetystä käyttöliittymästä. Lisäksi sovellus on paketoitu Docker-ohjelmaa hyödyntäen niin, että sen ajoympäristöä on mahdollisimman helppo vaihtaa.
Käytännön toteutus onnistui hyvin ja vastasi odotuksiani, sillä lopputuloksena syntyi toimiva ja julkaisukelpoinen ohjelmisto jatkuvan integroinnin statistiikan visualisointiin. Sovelluksen vaatimusmäärittely tarkentui hieman sovellusta kehitettäessä. Suurimman osan uusista ideoista ja vaatimuksista ehdin sisällyttää sovellukseen, mutta ne vaatimukset joita ei sisällytetty opinnäytetyöhön toteutetaan jatkokehityksessä.
Jatkuva integrointi on ohjelmistokehityksessä yleinen käytäntö, jonka tarkoituksena on yhdistää kehittäjien kirjoittamaa ohjelmistokoodia jaettuun tietolähteeseen mahdollisimman usein ja automatisoitujen työvaiheiden avulla varmistaa lähdekoodin eheys. Tämän mahdollistamiseksi tarvitaan automatisoituja työvaiheita ja testejä, joiden toiminnasta saadaan statistiikkaa.
Työ on toteutettu ensin suunnittelemalla sovelluksen toiminta, ulkoasu ja tietokantaratkaisu. Produkti koostuu Node.js-ympäristöllä kehitetystä rajapinnasta, Jenkins-ohjelman rajapinnan hyödyntämisestä, tietokannasta ja React-sovelluskehyksellä kehitetystä käyttöliittymästä. Lisäksi sovellus on paketoitu Docker-ohjelmaa hyödyntäen niin, että sen ajoympäristöä on mahdollisimman helppo vaihtaa.
Käytännön toteutus onnistui hyvin ja vastasi odotuksiani, sillä lopputuloksena syntyi toimiva ja julkaisukelpoinen ohjelmisto jatkuvan integroinnin statistiikan visualisointiin. Sovelluksen vaatimusmäärittely tarkentui hieman sovellusta kehitettäessä. Suurimman osan uusista ideoista ja vaatimuksista ehdin sisällyttää sovellukseen, mutta ne vaatimukset joita ei sisällytetty opinnäytetyöhön toteutetaan jatkokehityksessä.