Älykiekkojärjestelmän web-hallintatyökalu
Martin, Toni-Erik (2019)
Martin, Toni-Erik
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-21
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201910284142
https://urn.fi/URN:NBN:fi:tuni-201910284142
Tiivistelmä
Reaaliaikaisesti analysoitua dataa tuottavan älykiekkojärjestelmän ottelun päivystysprosessiin liittyy monia ei-triviaaleja vaiheita, jotka saattavat aiheuttaa ongelmia järjestelmän toiminnalle. Monet näistä ongelmatilanteista johtuvat reaalimaailmassa tapahtuvista inhimillisistä virheistä, joista osaan ei voida vaikuttaa automaattisesti nykyisessä järjestelmässä. Tämän työn tarkoituksena oli toteuttaa järjestelmään päivystäjän toimintaa helpottava ja nopeuttava web-pohjainen hallintatyökalu, jonka avulla voidaan korjata ja esittää näitä virheitä, sekä muuttaa järjestelmän tilaa. Päivystäjät tässä tapauksessa olivat samalla järjestelmän kehittäjiä. Toteutusprosessin piti olla nopeaa, sillä hallintatyökalulle toteutetut ominaisuudet haluttiin ottaa käyttöön välittömästi, vaikka siihen tehdyt ominaisuudet eivät olleet täysin valmiita.
Toteutuksen alussa toiminnalliseksi vaatimukseksi työkalulle asetettiin tagimäärittelyn manuaalinen korjaaminen, joka kuvastaa tietoa siitä, että mikä tagi on määritelty millekin pelaajalle, tuomarille, tai kiekolle ottelussa. Älykiekkojärjestelmä pyrkii tekemään määrittelyn automaattisesti, mutta tämä ei aina onnistu. Esimerkkinä tästä voidaan pitää tilannetta, jossa pelaaja pelaa ensimmäistä kertaa joukkueessa, jolloin järjestelmällä ei ole tietoa kyseisen pelaajan tagista. Tagimäärittelyn lisäksi toteutusprosessin edetessä hallintatyökalulle asetettiin uusia vaatimuksia sitä mukaa, kun päivystäjät kokivat tarpeelliseksi tuoda niitä työkalun vastuulle.
Toteutettu hallintatyökalu käsittää järjestelmän back-endiin toteutetun palvelun, sekä sitä käyttävän front-end -sovelluksen. Back-endiin toteutettu palvelu haluttiin pitää suhteellisen yksinkertaisena, jotta hallintatyökalun back-end -palvelu olisi toimintavarma. Sen vastuulle siis jäi muista palveluista datan haku ja sen tarjoileminen front-end -sovellukselle. Siihen toteutettiin rajapinta, joka suunniteltiin hallintatyökalulle spesifiksi rajapinnaksi. Front-end ja back-end keskustelevat HTTP-protokollan ylitse.
Hallintatyökalun toteutusta arvioitiin toiminnallisuuden sekä käytettävyyden näkökulmasta. Arvioinnissa käsiteltiin sitä mahdollisuutta, että front-end -sovellus hakisi itsenäisesti datansa back-endin palveluista. Pohdinnan tuloksena todettiin, että tämä olisi ollut vain vähän suorituskyvyltään tehokkaampi ratkaisu, kuin työssä toteutettu tapa, eikä tämäkään olisi ollut varmaa. Suorituskykyparannus olisi tullut siitä, että RPC-kutsuja tarvittaisiin vähemmän osassa tapauksista. Toisaalta tässä front-end -sovellus olisi tiukasti sidottu back-endin palveluihin, joka ei myöskään olisi ollut skaalautuva. Käytettävyyden näkökulmasta työkalusta jäi uupumaan reaaliaikaisuuden tuomat hyödyt. Arvioinnin perusteella todettiin, että tavoitteisiin päästiin osittain.
Tulevaisuudessa hallintatyökalun rinnalle toteutetaan uusi hallintatyökalu samoilla ominaisuuksilla. Näin päätettiin siksi, koska älykiekko-otteluiden päivystysmalli muuttuu monikerroksiseksi, sekä se tulee käyttöön liigojen omiin organisaatioihin.
Toteutuksen alussa toiminnalliseksi vaatimukseksi työkalulle asetettiin tagimäärittelyn manuaalinen korjaaminen, joka kuvastaa tietoa siitä, että mikä tagi on määritelty millekin pelaajalle, tuomarille, tai kiekolle ottelussa. Älykiekkojärjestelmä pyrkii tekemään määrittelyn automaattisesti, mutta tämä ei aina onnistu. Esimerkkinä tästä voidaan pitää tilannetta, jossa pelaaja pelaa ensimmäistä kertaa joukkueessa, jolloin järjestelmällä ei ole tietoa kyseisen pelaajan tagista. Tagimäärittelyn lisäksi toteutusprosessin edetessä hallintatyökalulle asetettiin uusia vaatimuksia sitä mukaa, kun päivystäjät kokivat tarpeelliseksi tuoda niitä työkalun vastuulle.
Toteutettu hallintatyökalu käsittää järjestelmän back-endiin toteutetun palvelun, sekä sitä käyttävän front-end -sovelluksen. Back-endiin toteutettu palvelu haluttiin pitää suhteellisen yksinkertaisena, jotta hallintatyökalun back-end -palvelu olisi toimintavarma. Sen vastuulle siis jäi muista palveluista datan haku ja sen tarjoileminen front-end -sovellukselle. Siihen toteutettiin rajapinta, joka suunniteltiin hallintatyökalulle spesifiksi rajapinnaksi. Front-end ja back-end keskustelevat HTTP-protokollan ylitse.
Hallintatyökalun toteutusta arvioitiin toiminnallisuuden sekä käytettävyyden näkökulmasta. Arvioinnissa käsiteltiin sitä mahdollisuutta, että front-end -sovellus hakisi itsenäisesti datansa back-endin palveluista. Pohdinnan tuloksena todettiin, että tämä olisi ollut vain vähän suorituskyvyltään tehokkaampi ratkaisu, kuin työssä toteutettu tapa, eikä tämäkään olisi ollut varmaa. Suorituskykyparannus olisi tullut siitä, että RPC-kutsuja tarvittaisiin vähemmän osassa tapauksista. Toisaalta tässä front-end -sovellus olisi tiukasti sidottu back-endin palveluihin, joka ei myöskään olisi ollut skaalautuva. Käytettävyyden näkökulmasta työkalusta jäi uupumaan reaaliaikaisuuden tuomat hyödyt. Arvioinnin perusteella todettiin, että tavoitteisiin päästiin osittain.
Tulevaisuudessa hallintatyökalun rinnalle toteutetaan uusi hallintatyökalu samoilla ominaisuuksilla. Näin päätettiin siksi, koska älykiekko-otteluiden päivystysmalli muuttuu monikerroksiseksi, sekä se tulee käyttöön liigojen omiin organisaatioihin.