Excel-työkirjaan sisäänrakennetun laskentatyökalun toteutus verkkosovelluksena
Niittukari, Arto (2015)
Niittukari, Arto
Metropolia Ammattikorkeakoulu
2015
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201505137893
https://urn.fi/URN:NBN:fi:amk-201505137893
Tiivistelmä
Insinöörityön tarkoituksena oli kehittää Microsoft Excel -taulukkolaskentaohjelman työkirjatiedostoon sisäänrakennetusta laskentatyökalusta kaupalliseen tarkoitukseen tuleva verkkosovellus. Ajatuksena oli, että sovellus tulisi toteuttamaan SaaS-pilvitoimintamallin toimintaperiaatteen, jossa käyttäjä ostaa ohjelmiston määritetyksi ajaksi käyttöönsä palveluna ilman omistajuuden vaihtoa.
Insinöörityön tilaaja on laskentapalveluiden tarjoamiseen erikoistunut yritys. Tilaaja oli nähnyt alun perin omaan käyttöönsä kehittämässään laskentatyökalussa kaupallista potentiaalia ja halusi tästä syystä kehittää työkalusta kokonaisvaltaisemman version, joka tukisi useita käyttäjiä ja käyttäjätilien hallintaa. Sovelluksella työstetään aina yksittäistä sovelluksen sisäistä projektia, jonka sovelluksen käyttäjä voi tallentaa joko palveluntarjoajan palvelimella sijaitsevaan tietokantaan tai omalle työasemalleen. Varsinaista käyttöarvoa käyttäjät saavat erilaisista sovelluksen koostamista raporteista, joita käyttäjät pystyvät tallentamaan omille työasemilleen CSV- ja PDF-tiedostoina tai katsomaan suoraan selaimella HTML-esitysmuodossa.
Laskentasovelluksen palvelinpuolen kehittämiseen käytettiin PHP-ohjelmointikielellä toteutettua Laravel-sovelluskehystä, jolla saatiin toteutettua sovelluksen runko. Sovellukseen tuli kehittää pysyviä tietoja varten tietokantatallennusta ja väliaikaisia tietoja varten istuntotallennusta. Sovellus toteutettiin yhden sivun verkkosovelluksena käyttäen sovelluksen asiakaspuolen kehittämiseen JavaScript-ohjelmointikielellä toteutettua AngularJS-sovelluskehystä. Sovelluksen käyttöliittymä toteutettiin HTML- ja CSS-tekniikoilla, mutta käyttöliittymän ulkoasu jäi insinöörityön osalta sovitusti hyvin yksinkertaiseksi.
Tavoitteena oli saada aikaiseksi toimiva verkkosovellusprototyyppi, joka sisältäisi kaikki insinöörityön alussa määritetyt ominaisuudet. Tavoite saatiin toteutettua, ja tilaaja oli tyytyväinen lopputulokseen. Sovellus ei kuitenkaan ole vielä julkaisukelpoinen ja siihen on jo suunniteltu useita parannuksia ja lisäominaisuuksia. Sovellus saatiin kuitenkin sellaiseen tilaan, että sitä voidaan alkaa jatkokehittää.
Insinöörityön tilaaja on laskentapalveluiden tarjoamiseen erikoistunut yritys. Tilaaja oli nähnyt alun perin omaan käyttöönsä kehittämässään laskentatyökalussa kaupallista potentiaalia ja halusi tästä syystä kehittää työkalusta kokonaisvaltaisemman version, joka tukisi useita käyttäjiä ja käyttäjätilien hallintaa. Sovelluksella työstetään aina yksittäistä sovelluksen sisäistä projektia, jonka sovelluksen käyttäjä voi tallentaa joko palveluntarjoajan palvelimella sijaitsevaan tietokantaan tai omalle työasemalleen. Varsinaista käyttöarvoa käyttäjät saavat erilaisista sovelluksen koostamista raporteista, joita käyttäjät pystyvät tallentamaan omille työasemilleen CSV- ja PDF-tiedostoina tai katsomaan suoraan selaimella HTML-esitysmuodossa.
Laskentasovelluksen palvelinpuolen kehittämiseen käytettiin PHP-ohjelmointikielellä toteutettua Laravel-sovelluskehystä, jolla saatiin toteutettua sovelluksen runko. Sovellukseen tuli kehittää pysyviä tietoja varten tietokantatallennusta ja väliaikaisia tietoja varten istuntotallennusta. Sovellus toteutettiin yhden sivun verkkosovelluksena käyttäen sovelluksen asiakaspuolen kehittämiseen JavaScript-ohjelmointikielellä toteutettua AngularJS-sovelluskehystä. Sovelluksen käyttöliittymä toteutettiin HTML- ja CSS-tekniikoilla, mutta käyttöliittymän ulkoasu jäi insinöörityön osalta sovitusti hyvin yksinkertaiseksi.
Tavoitteena oli saada aikaiseksi toimiva verkkosovellusprototyyppi, joka sisältäisi kaikki insinöörityön alussa määritetyt ominaisuudet. Tavoite saatiin toteutettua, ja tilaaja oli tyytyväinen lopputulokseen. Sovellus ei kuitenkaan ole vielä julkaisukelpoinen ja siihen on jo suunniteltu useita parannuksia ja lisäominaisuuksia. Sovellus saatiin kuitenkin sellaiseen tilaan, että sitä voidaan alkaa jatkokehittää.