Projektisuunnitelma: Tietokonepeliavusteinen kognitiivinen terapia AS 0.3200 Automaatio ja systeemitekniikan projektityöt Ristomatti Karppanen Wille Keltikangas Mikko Mulari 1. Projektin tavoite Työssä toteutetaan kognitiivisen terapian ja seurannan apuväline tietokonepelimäisen lähestymistavan kautta. Kognitiivista terapiaa voidaan käyttää esimerkiksi aivovaurion jälkeisessä aivojen kuntoutuksessa tai dementoituneen vanhuksen mentaalisten kykyjen aktivoinnissa. Projekti toteutetaan web pohjaisena sovelluksena pääosin JavaScript ohjelmointikieltä käyttäen. Toteutettavassa sovelluksessa on kolme erilaista pelityyppiä, joiden pelitulokset tallentamalla voidaan tunnistetun käyttäjän kehitystä seurata. Tallennetusta tiedosta voidaan muodostaa käyttäjäprofiili, jonka avulla voidaan esimerkiksi seurata kognitiivisten kykyjen kehittymistä. Tiedot tallennetaan SQL tietokantaan. Toteutettavat pelit ovat muistipeli, sanapeli ja assosiaatiopeli. Muistipelissä pelaajan tulee kyetä löytämään parit ripeästi ja vähin liikkein. Sanapelissä pelaajan tulee kyetä kirjoittamaan sanoja väärinpäin tai muistaa esimerkiksi yksi sana lauseesta tai kyetä muistamaan lukuja. Assosiaatiopelissä pelaajan tulee kyetä yhdistämään muuttamaton kuva ja tietyllä tavalla muokattuun kuvaan. Peleissä voidaan myös näyttää pelin alussa jokin sana tai kuva, jota voidaan kysyä pelisession päätteeksi. Projektin laajuus on arvioitu 3 opintopistettä eli noin 80 tuntia työtä kutakin projektin ryhmäläistä kohden. Ajankäytön jakautumista eri viikoille on kuvattu tarkemmin kappaleessa Työajan hallinta ja tehtäväjako. Projektin toteutuksen rakennetta on hahmoteltu kohdassa Työn rakenne.
2. Työn rakenne 0 Projektin aloitus ja projektisuunnitelma Projektin tavoitteisiin tutustuminen, reunaehtojen hahmottaminen ja ideoin yhdessä. Tapaaminen ohjaajan kanssa. 20 tuntia Tuotos: Projektisuunnitelma 1 Web ympäristöön ja tekniikkaan perehtyminen Projektissa käytettäviin teknologioihin tutustuminen. Edellytys projektin toteuttamiselle. 12 tuntia 2 Laitteiston hankinta ja ympäristön alustaminen Palvelinympäristön hankkiminen riittävin oikeuksin osastolta. Palvelinympäristön alustaminen projektia varten: tarvittavat teknologiat ja versionhallinta. 10 tuntia Wille 3 Perustoiminnallisuuksien toteuttaminen Perustoiminnallisuuden toteuttaminen. Sovellukseen voidaan tunnistautua sovellus lukee käyttäjän syötettä ja sovellus osaa tallentaa käyttäjäkohtaiset tiedot. Perustoiminnallisuudet sisältävät myös pelin ulkoasun suunnittelun ja toteuttamisen.
Riippuvuudet: 3 Tuotos: 45 tuntia Valmis alusta, jolle voidaan toteuttaa kohtien 4a 4c pelit Risto & Wille 4a Muistipeli Perinteinen muistipeli, jossa käyttäjä pyrkii näytettävien pienoiskuvien joukosta löytämään kaksi samanlaista kuvaa. Kuvia käännetään yksitellen oikein päin ja oikea pari katsotaan löytyneeksi, kun kaksi samaa kuvaa on käännetty peräkkäin oikein päin. Pelissä onnistuminen arvioidaan pelin ratkaisemiseen käytetyn ajan ja käännettyjen kuvien lukumäärän perusteella. Sopivan ja vapaasti saatavilla olevan grafiikkakokoelman löytäminen. Riippuvuudet: 4 25 tuntia Tuotos: Yksi sovelluksen peleistä. Wille 4b Sana ja lausepeli Sana ja lausepeli, jossa pelaajalle näytetään tietty sana tai lause, joka myöhemmin piilotetaan. Tämän jälkeen pelaajan on kyettävä muodostamaan sanasta pyydettyjä muunnoksia: esimerkiksi kirjoittamaan yksittäinen sana väärinpäin, lauseen neljäs sana, lauseen sanat tietyssä järjestyksessä, poimimaan sanasta vokaalit jne. Matematiikkatehtävät, joissa pelaajan tulee muistaa alussa näytetty luku ja kyetä vähentämään siitä sama luku toistuvasti. Tarkemmat tehtävät tarkentuvat projektin edetessä. Pelaajan suoriutumista arvioidaan käytetyn ajan ja tehtyjen virheiden perusteella. Sopivan ja saatavilla olevan sanalistan löytäminen tai laatiminen. Riippuvuudet: 4
15 tuntia Tuotos: Yksi sovelluksen peleistä. Mikko 4c Assosiaatiopeli (merkityksen ja liitännäisyyden hahmottaminen) Assosiaatiopelissä pelaajalle näytetään yksi alkuperäinen kuva, joka häne tulee yhdistää muokattuun kuvaan, jonka vaihtoehtoja hänelle tarjotaan tarjotaan tietty määrä. Muokattua kuvaa on käsitelty siten, että se ei vastaa aivan alkuperäistä: kuvaa on voitu esimerkiksi kääntää, sitä on voitu muokata tietyillä maskeilla, se on voitu jakaa erilaisiin osiin ja osat on voitu uudelleenjärjestellä Tarkemmat tehtävät tarkentuvat projektin edetessä. Pelaajan suoriutumista arvioidaan käytetyn ajan ja tehtyjen virheiden perusteella. Sopivan ja saatavilla olevan kuvakokoelman löytäminen. Riippuvuudet: 4 Tuotos: 25 tuntia Yksi sovelluksen peleistä. Risto 5 Kognitiivisen suoriutumisen arviointi ja seuranta Kukin pelaaja pelaa peliä lähtökohtaisesti samoilla tunnuksilla, jolloin käyttäjä voidaan tunnistaa samaksi jokaisella pelikerralla. Kunkin pelikerra (muistipeli, sanapeli, assosiaatiopeli) jälkeen pelaajan suoriutuminen pelissä tallennetaan SQL tietokantaan numeroarvona. Mitä useampaa peliä pelaaja pelasi kyseisenä päivänä, sitä luotettavampi arvio on. Näistä pelituloksista voidaan seurata käyttäjän kognitiivisten taitojen kehittymistä. Riippuvuudet: 4a 4c 20 tuntia Tuotos: Pelaajien tulokset SQL tietokannassa.
Mikko 6 Testaus Pelit toimivat oletetun mukaisesti eikä pelaaminen keskeydy, vaikka pelaaja tekisi tavanomaisesta poikkeavia toimenpiteitä peleissä. Testaamista tehdään jatkuvasti projektin edetessä. Riippuvuudet: Ei riippuvuuksia. 18 tuntia Tuotos: Virheetön ja intuitiivinen pelikokemus. 7 Lisäominaisuudet / jatkokehitys (mahdollinen) Projektin tilanteesta riippuen mahdollinen jatkokehitys perustuen projektin aikana tehtyihin havaintoihin ja suunnitteluvaiheessa poisrajattuihin ominaisuuksiin. Riippuvuudet: 1 6 Näitä ominaisuuksia voivat olla ainakin: Graafiset tilastot, joista voidaan seurata kunkin pelaajan kognitiivisten taitojen kehittymistä ajan funktiona. Mikäli graafisten tilastoja ei toteuteta, pelaajien kehittymistä voidaan silti seurata SQL tietokannan avulla graafisesti esimerkiksi Excelissä. Monen kielen tuki (suomi ensisijaisesti, englanti toissijaisesti). Mahdolliset aloituskysymykset sovelluksen alussa kuten: mikä vuosi/päivä/vuodenaika/maa? Tarkentuu myöhemmin. 8 Viimeistely Projektin viimeistely loppuraportointia varten.
Riippuvuudet: 1 7 Tuotos: 10 tuntia Toiminta ja esityskelpoinen tavoitteen mukaisesti toimiva sovellus. 9 Dokumentointi Projektin dokumentointi kurssin ohjeiden mukaisesti. Riippuvuudet: Tuotos: 20 tuntia Valmis projektidokumentti. Projektinhallinta, seuranta ja esittelyt Tuotos: Projektin toteutumisen seuranta ja projektin aikana tehtyjen muutoksien kirjaaminen. Tuntikirjanpidon tekeminen. Kommunikointi ohjaajan kanssa. Valmistautuminen ja osallistuminen raportointitilaisuuksiin. 20 tuntia Tuntikirjanpito, raportointien esitykset ja tapaamiset Työmäärä yhteensä 240 tuntia.
3. Työajan hallinta ja tehtäväjako Projektin laajuus on 3 opintopistettä kutakin opiskelijaa kohden, eli yhteensä noin 240 tuntia eli 80 tuntia ryhmäläistä kohden. Projektiin käytettyä työaikaa hallitaan tuntikirjanpidolla, jota ylläpidetään jatkuvasti projektin aikana. Tuntikirjanpidolla voidaan aikaisessa vaiheessa varautua myös riskeihin, jotka liittyvät työmäärän yli tai aliarviointiin. Karkea jakauma projektin työmäärästä ja työajan kohdentumisesta on kuvattu oheisessa taulukossa viikkotasolla. Viikko Projektin eteneminen Viikon aikana käytetty työaika Käytetty työaika yht. 38, 16.9. 22.9. Avausluento, käytännöistä sopiminen 8 8 39, 23.9. 29.9. Tapaaminen ohjaajan kanssa, projektisuunnitelman työstäminen 40, 30.9. 6.10. Projektisuunnitelman esittely, pelin pohjan valmistelu, laitteiston hankkiminen ja konfigurointi laboratoriolta, web ympäristöön ja käytettäviin tekniikoihin perehtyminen 41, 7.10. 13.10. Ohjelmiston pohjan rakentaminen, kognitiivisen arvioinnin pisteytyksen suunnittelu, web ympäristöön ja käytettäviin tekniikoihin perehtyminen 42, 14.10. 20.10. Ohjelmiston pohjan rakentaminen ja testaus, tenttiviikko 43, 21.10. 27.10. Pelien työstäminen tehdylle pohjalle, väliraportointiin valmistautuminen, tenttiviikko 44, 28.10. 3.11. Pelien työstäminen tehdylle pohjalle, väliraportointi 29.10. 18 26 22 48 22 70 12 82 12 94 24 118 45, 4.11. 10.11. Pelien työstäminen tehdylle pohjalle 24 142 46, 11.11. 17.11. Pelien ja statistiikkatiedon työstäminen tehdylle pohjalle 25 167
47, 18.11. 24.11. Statistiikkatiedon työstäminen 26 193 48, 25.11. 1.12. Dokumentointi ja loppuraportointiin valmistautuminen, ei enää juuri ohjelmointia 28 221 49, 2.12. 8.12. Loppuraportointi 3.12. 9 230 50, 9.12. 15.12. Dokumentoinnin viimeistely 10 240 Kuvaaja 1. Projektin toteuttamiseen suunniteltu käytettävä työaika viikoittain kumulatiivisesti. Kuvaajasta 1 nähdään, että projektia tullaan edistämään tasaisesti projektiin käytettävissä olevan ajan kuluessa, jolloin työmäärä ei kohdistu viimeisille viikoille. Projektin loppuraportissa verrataan toteutuneen työajan kertymää suunnitellun työajan kertymään, jolloin voidaan arvioida projektiohjauksen toimivuutta.
4. Riskienhallinta Projektiin liittyvää riskejä hallitaan etukäteissuunnittelun ja riskien tunnistamisen kautta. Oheinen riskimatriisi kuvaa projektiin liittyviä riskejä kahdessa ulottuvuudessa: kuinka todennäköinen riski on ja millaiset vaikutukset sillä voi olla, jos riski toteutuu. Taulukon avulla voidaan hahmottaa, mihin riskeihin tulee erityisesti varautua (suuri vaikutus, suuri todennäköisyys) ja mitkä tulee jättää vähemmälle huomiolle. Todennäköisyys ja seurausten vaikutus Vähäinen vaikutus Keskinkertainen vaikutus Suuri vaikutus Vähäinen todennäköisyys Valittujen teknologioiden osoittautuminen riittämättömiksi: voidaan välttää kattavalla perehtymisellä. Keskinkertainen todennäköisyys Ryhmän jäsenten lyhytaikaiset sairastumiset: työtä voidaan tehdä joustavasti kunkin oman aikataulun mukaisesti Laboratorio ei kykene tarjoamaan laitteistoa projektille: hankitaan laitteisto jostain muualta Ryhmän jäsenten teknologioiden osaamisen vaikutus siihen, että työt jakautuvat epätasaisesti Suuri todennäköisyys Toiminnallisuuksien osien toteuttaminen on teknisesti haastavaa: mietitään yhdessä ratkaisuja ja tarvittaessa tehdään toisella tavalla Haasteet ryhmän jäsenten ajankäytössä: mahdollistetaan joustavat ajat edistää projektia, ei tarvetta fyysisille tapaamisille Toiminnallisuuksien toteuttaminen vie enemmän tai vähemmän aikaa kuin on suunniteltu: suunnitelmasta karsitaan toiminnallisuuksia pois tai tehdään jatkokehitykseksi merkattuja toiminnallisuuksia
Projektin ollessa pääasiassa IT hanke, sitä kehitetään ketterillä menetelmillä (agile methods). Näitä menetelmiä käytettäessä voidaan vaikuttaa myös riskien toteutumiseen ja niihin reagoimiseen. Tehtävät toiminnallisuudet on jaettu projektisuunnitelman kohdassa 2 käyttäjätarinoihin, joilla on selkeät tavoitteet ja joiden tuotokset on määritelty. Käyttäjätarinoille on määritetty myös aika arviot. Koko projektiin käytettävää aikamäärää voidaan arvioida vertaamalla tuntikirjanpitoa käyttäjätarinoiden arvioituihin aikamääriin, jolloin mahdollisiin ajan ylityksiin ja alituksiin pystytään reagoimaan aikaisessa vaiheessa, jolloin voidaan myös muuttaa aika arvioita tai käyttäjätarinoiden sisältöjä. Projektia edistetään toisin sanoen iteratiivisesti, jolloin muutoksiin pystytään reagoimaan joustavasti ja aikaisessa vaiheessa. Ketterän ohjelmistokehityksen periaatteeseen kuuluu myös valmisten tuotosten tekeminen: käyttäjätarinat ovat itsessään valmiita tuotoksia, joille on kullekin nimetty vastuuhenkilö tai vastuuhenkilöt, mikä osaltaan edesauttaa tuotosten valmistumista. Riskimatriisissa kuvattujen riskien realisoituessa ryhmän jäsenet ottavat toisiinsa yhteyttä heti kun riskin toteutuminen on tunnistettu, jolloin ryhmä voi yhdessä miettiä, miten ongelma ratkaistaan eikä ryhmän työskentely keskeydy pitkäksi aikaa.