wiki:Halyri/Projektisuunitelma

Version 8 (modified by nimajomo, 5 years ago) (diff)

--

Hälyri-Sovellusprojekti Niko Mononen Veli-Mikko Puupponen Ilkka Rautiainen Atte Söderlund Projektisuunnitelma Versio: 0.5.0 Julkinen

  1. toukokuuta 2014

Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä PäivämääräAllekirjoitus Nimenselvennys Projektipäällikkö ..2014

Tilaaja ..2014

Ohjaaja ..2014

Tietoa dokumentista Tekijät:

∙ Niko Mononen (NM) niko.m.mononen@… ∙ Veli-Mikko Puupponen (VMP) veli-mikko.a.puupponen@… ∙ Ilkka Rautiainen (IR) ilkka.t.rautiainen@… ∙ Atte Söderlund (AS) atte.a.soderlund@…

Dokumentin nimi: Hälyri-projekti, Projektisuunnitelma Sivumäärä: 41 Tiedosto: Halyri_projektisuunnitelma.tex Tiivistelmä: Projektisuunnitelmassa kuvataan Hälyri-projektin suunniteltua läpivientiä. Suunnitelmassa esitellään projektin taustoja, tavoitteita, käytettävissä olevat resurssit ja käytänteet. Suunnitelmassa kuvataan myös projektin tehtävien työmääriä ja jakautumista jäsenten kesken, sekä projektin prosessia ja läpiviennin aikataulua. Suunnitelmassa kartoitetaan projektiin liittyviä riskejä, arvioidaan niiden todennäköisyyttä ja toteutumisen haittavaikutuksia sekä kuvataan riskien hallintaa. Avainsanat: Aikataulu, EKG, hätäkeskus, hätäpuhelu, käytänteet, matkapuhelin, ohjelmistoprojekti, projektisuunitelma, prosessi, resurssit, riskien hallinta, sovellus, tavoitteet, taustaa, tehtävät, työmäärät, vastuualueet, videopuhelu, Windows Phone 8. Muutoshistoria Versio Päivämäärä

Muutokset

Tekijät 0.0.1 11.2.2014

Projektisuunitelman laatiminen on aloitettu.

NM 0.0.2 15.2.2014

Suunitelmaa on täydennetty.

NM 0.0.3 18.2.2014

Projektin hallinta -luku on kirjoitettu.

NM 0.0.4 23.2.2014

Prosessi ja riskit on kuvattu.

NM 0.0.5 25.2.2014

Johdanto ja yhteenveto on kirjoitettu, sekä dokumenttia on viimeistelty.

NM 0.1.0 27.2.2014

Aikataulut ja työnjako on päivitetty, sekä dokumnettia on viimeistelty.

NM 0.1.1 9.3.2014

Ulkoasua on korjattu.

NM 0.1.2 12.3.2014

Sisältöä on korjattu.

NM 0.1.3 13.3.2014

Tavoitteet, tulokset ja resurssit on päivitetty.

NM 0.1.4 13.3.2014

Projektiorganisaatiolukua on päivitetty.

NM 0.1.5 18.3.2014

Termejä, vastuualueita ja aikataulua kuvaavia lukuja on päivitetty, sekä niiden järjestystä on muutettu.

NM 0.2.0 19.3.2014

Työmäärät ja riskiarviot on päivitetty, sekä dokumenttia on viimeistelyä.

NM 0.2.1 28.3.2014

Dokumenttia on korjattu saadun palautteen mukaisesti.

NM 0.2.2 5.4.2014

Työmäärät ja Gantt-kaavio on päivitetty.

NM 0.3.0 6.4.2014

Dokumentin ulkoasua on päivitetty.

NM 0.3.1 9.4.2014

Dokumenttia on korjattu saadun palautteen mukaisesti.

NM 0.3.2 18.4.2014

Sisältöä on korjattu.

NM 0.4.0 19.4.2014

Työmäärät ja Gantt-kaavio on päivitetty.

NM 0.5.0 23.4.2014

Dokumenttia on korjattu saadun palautteen mukaisesti.

NM Tietoa projektista Projekti kehittää prototyypin uudenlaisesta tietojärjestelmästä, joka mahdollistaa yhteyden hädässä olevien ihmisten ja hätäkeskusten välillä. Keskeinen ajatus on hyödyntää matkapuhelinten merkittävästi lisääntynyttä datan lähetys- ja vastaanottokykyä osana auttamisprosessia. Tavoitteena kehitettävällä tietojärjestelmällä on luoda aikaisempaa tarkempi kuva entistä lyhyemmässä ajassa. Tämä auttaa pelastamaan ihmishenkiä, parantamaan palvelun laatua ja tehostamaan resurssien käyttöä. Projektissa kehitettävän hätätietojärjestelmän prototyypin avulla pyritään osoittamaan teknologiset mahdollisuudet ja haasteet sekä havainnollistamaan käyttöliittymillä avuntarvitsijan ja hätäkeskuksen vuorovaikutusta.

Tekijät:

∙ Niko Mononen (NM)

niko.m.mononen@…

∙ Veli-Mikko Puupponen (VMP)

veli-mikko.a.puupponen@…

∙ Ilkka Rautiainen (IR)

ilkka.t.rautiainen@…

∙ Atte Söderlund (AS)

atte.a.soderlund@…

Tilaaja:

∙ Vesa Lappalainen

vesa.t.lappalainen@…

∙ Tero Tuovinen

tero.tuovinen@…

Ohjaajat:

∙ Jaakko Kosonen

jaakko.j.kosonen@…

∙ Olli Kauppinen

olli.p.kauppinen@…

∙ Jukka-Pekka Santanen

santanen@…

Asiantuntijat:

∙ Helena Jäntti

helena.jantti@…

Yhteystiedot:

∙ Sähköpostilistat:

halyri@…,

halyri_opetus@…

∙ Sähköpostiarkistot:

https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri/, https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri\_opetus/

∙ Projektitila:

AgC 223.2, puh. 040-3573796

Sisältö 1 Johdanto 2 Termit 3 Taustaa ja tavoitteet

3.1 Taustaa 3.2 Prototyypille asetetut tavoitteet 3.3 Tulokset 3.4 Oppimistavoitteet

4 Organisaatio ja resurssit

4.1 Projektiorganisaatio 4.2 Projektin tilat ja laitteet 4.3 Dokumentointityökalut 4.4 Ohjelmointityökalut 4.5 Luennot ja perehdytykset

5 Projektin käytänteet

5.1 Tiedotus 5.2 Palaverit 5.3 Tiedostojen nimeäminen 5.4 Hakemistorakenne 5.5 Lähdekoodi 5.6 Versiointi ja versiohallinta 5.7 Testaus 5.8 Tulosten katselmoinnit ja hyväksyminen 5.9 Tulosten koostaminen ja toimittaminen

6 Tehtävät, työmäärät ja työnjako

6.1 Vastuualueet 6.2 Työnositus ja työmäärä

7 Prosessi ja aikataulu

7.1 Prosessi 7.2 Aikataulu

8 Riskit ja riskien hallinta

8.1 Riskien todennäköisyydet ja haitat 8.2 Alustan rajoitukset 8.3 Kehittäjien tietotaidon puutteet 8.4 Tavoitteiden rajaaminen 8.5 Tiedotuksen puutteet 8.6 Jäsenten poissaolot 8.7 Kokemattomuus projektihallinnassa

9 Yhteenveto 10 Lähteet Luku 1 Johdanto

Projekti suoritta Sovellusprojekti-kurssilla keväällä 2014 alustavan tarvekartoituksen ja kehittää prototyypin uudenlaisesta tietojärjestelmästä, joka mahdollistaa yhteyden hädässä olevien ihmisten ja hätäkeskusten välillä. Keskeinen ajatus on hyödyntää matkapuhelinten merkittävästi lisääntynyttä datan lähetys- ja vastaanottokykyä osana auttamisprosessia. Tavoitteena kehitettävällä tietojärjestelmällä on luoda aikaisempaa tarkempi kuva hätätilanteesta entistä lyhyemmässä ajassa. Tämä auttaa pelastamaan ihmishenkiä, parantamaan palvelun laatua ja tehostamaan resurssien mbockäyttöä. Projektissa kehitettävän hätätietojärjestelmän prototyypin avulla pyritään osoittamaan teknologiset mahdollisuudet ja haasteet sekä havainnollistamaan käyttöliittymillä avuntarvitsijan ja hätäkeskuksen vuorovaikutusta.

Projektisuunnitelma kuvaa Hälyri-projektin suunniteltua läpivientiä. Projektisuunnitelman laatimisessa on hyödynnetty Paatti-projektin projektisuunnitelmaa [2] ja Sovellusprojektien ohjetta [7] sekä projektiryhmän laatimaa vaatimusmäärittelyä [6].

Luvussa 2 esitellään dokumentissa käytetyt termit ja niiden merkitys. Luvussa 3 käsitellään projektin taustoja sekä tavoitteita ja projektiryhmän jäsenten oppimistavoitteita. Luvussa 4 esitellään projektin organisaatio ja resurssit. Luvussa 5 kuvataan projektin käytänteitä. Luvussa 6 hahmotellaan projektin oleellisimpien tulosten vastuuhenkilöt, keskeisimmät tehtävät, sekä arvioidaan tehtävien työmääriä. Luvussa 7 kuvataan projektissa noudatettavaa prosessia ja projektin aikataulua. Luvussa 8 kuvataan projektin ennakoituja riskejä ja niiden hallintaa. Luku 2 Termit

Dokumentin aihealueen termejä ovat seuraavat:

EKG

on elektrokardiogrammi eli sydänsähkökäyrä.

Hätäkeskus

vastaanottaa ja käsittelee yleiseurooppalaiseen hätänumeroon 112 soitetut hätäpuhelut.

Käyttöliittymä

on se ohjelmiston, laitteen tai minkä tahansa muun tuotteen osa, jonka kautta käyttäjä käyttää tuotetta.

Mobiilisovellus

on sovellus, joka on suunniteltu mobiilipäätelaitteisiin eli matkapuhelimiin, älypuhelimiin, kämmentietokoneisiin ja ammattikäyttöön tarkoitettuihin mobiilipäätelaitteisiin.

Palvelin

on palvelinsovellusta suorittava tietokone.

Palvelinsovellus

on ohjelma, joka tarjoaa erilaisia palveluja muille ohjelmille joko tietokoneverkon välityksellä tai paikallisesti samassa tietokoneessa.

Prototyyppi

tarkoittaa sovelluksen tai tietojärjestelmän versiota, jolla on tarkoitus varmistaa konseptin tekninen toimivuus ja/tai kartoittaa käyttäjien tarpeet.

Tietojärjestelmä

on ihmisistä, tietojenkäsittelylaitteista, tiedonsiirtolaitteista ja ohjelmistoista koostuva järjestelmä, jolla tehostetaan tai helpotetaan jotain tietojen käsittelyn toimintaa tai tehdään se ylipäätään mahdolliseksi.

Tietokanta

on tietotekniikassa käytetty termi tietovarastolle. Se on kokoelma tietoja, joilla on yhteys toisiinsa.

Dokumentissa esiintyviä teknisiä termejä ovat seuraavat:

Alusta

koostuu käyttöjärjestelmästä ja muista tietojärjestelmän käyttämistä varusohjelmistoista.

FreeMind

on ajatuskarttasovellus.

GanttProject

on ajan- ja resurssienhallintaohjelma projekteille.

Git

on hajautettu versiohallintajärjestelmä.

LaTeX

on ladontaohjelmisto.

Lähdekoodi

on tekstimuotoista ohjelmointikielistä listausta.

Trac

on hyvin yksinkertainen WWW-pohjainen alun perin ohjelmistoprojektien tehtävien hallintaan tarkoitettu järjestelmä

WP8

on lyhenne sanasta Windows Phone 8.

YouSource

on Git-versiohallintaohjelmistoa tukeva lähdekoodien julkistusjärjestelmä.

Luku 3 Taustaa ja tavoitteet

Luvussa käsitellään projektin taustatietoja, tavoitteita projektissa toteutettavalle tietojärjestelmän prototyypille ja muille tuloksille sekä ryhmän jäsenille asetettuja oppimistavoitteita. 3.1 Taustaa

Matkapuhelinteknologia on kehittynyt huimasti kuluneen vuosikymmenen aikana. Nykyisin Suomessa jokaiseen puhelinliittymään kytketään automaattisesti mahdollisuus tietoliikennedatan siirtämiseen, ja käytännössä suurin osa tänä päivänä myytävistä matkapuhelimista on varustettu "älyominaisuuksilla". Älypuhelimien laaja kattavuus tarjoaa luonnollisen ja tehokkaan tavan kehittää perinteistä hätäpuhelua nykyaikaan.

Hätäkeskuslaitos on avun ja turvan ensimmäinen viranomaislenkki auttamisen ketjussa. Hätäkeskuksen tehtävänä on puhelun aikana luoda vakioidulla menettelyllä riskiarvio tilanteesta ja välittää tehtävä asianomaiselle viranomaiselle. Tänä päivänä hätäpuhelu on rajoittunut puheyhteyteen hätäkeskuksen päivystäjän kanssa. Pelkän puheyhteyden avulla kokonaisarvion tekeminen tilanteesta voi olla joskus erittäin haastavaa, joten virhearvioita ja niiden seurauksia voidaan lukea päivälehdistä aika-ajoin.

Virhearviot voivat aiheuttaa seuraavanlaisia ongelmia:

Tilannetta tai riskiä ei tunnisteta, jolloin viranomaisapu viivästyy tai jää saapumatta, ja pahimmillaan menehtyy ihmishenkiä. Tilanne tai riski yliarvioidaan, josta seuraa viranomaisresurssien epätarkoituksen mukainen käyttö johtaen mm. seuraaviin ongelmiin:

Vaste on liian suuri tehtävän todelliseen riskiin nähden. Hälytysajojen lisääntyminen lisää liikenneriskiä.

Hälyri-projektina aloitettavan hankkeen tavoitteena on osoittaa uudenmallisten datayhteyksien laaja ja innovatiivinen hyödynnettävyys hätätilanteiden arvioinnissa ja hallinnassa. Hätäpuhelun aikana älypuhelimesta voitaisiin lähettää hätäkeskukseen ääni- ja videokuvaa, paikkatietoja sekä EKG- ja muuta anturidataa tukemaan riskiarvion tekemistä. Hätäkeskus voisi lähettää toimintaohjeita esimerkiksi videona tai kuvina hädässä olevalle. Hätäkeskus voisi myös siirtää yhteyden suoraan auttajille.

Jyväskylän yliopiston tietotekniikan laitoksella on Sapporo-projektin kautta laaja kokemus julkisen hätäviestijärjestelmän kehittämisestä ja pilotoinnista. Siitä saadun tiedon perusteella vastaava pilotointi voitaisiin luotettavasti suorittaa yliopiston hankkeena. Hankkeessa kehitettävä tietojärjestelmä voisi toimia hätätilanteessa lisäapuna perinteisen 112-hätäpuhelun rinnalla.

Hankkeessa kehitettävän tietojärjestelmän valmistuttua jokainen kansalainen voisi ilmaiseksi ladata siihen sisältyvän mobiilisovelluksen omalle puhelimelleen niin halutessaan. Toiminta perustuu siis keskeisesti vapaaehtoisuuteen, eikä ensimmäisessä vaiheessaan tule vaikuttamaan perinteisen 112-hätäpuhelun toimintaan ja siihen liittyviin säädöksiin.

3.2 Prototyypille asetetut tavoitteet

Hälyri-projektin tavoitteena on kehittää hätäilmoitusjärjestelmän prototyyppi, jolla voidaan demonstroida älypuhelimeen asennettavan hätäilmoitussovelluksen toimintaa. Hätäilmoitusjärjestelmän kokonaisrakenne on esitetty kuvassa 3.1. Projektin tavoitteisiin kuuluu myös kohderyhmien ja käyttäjien sekä sovelluksen teknisten vaatimusten alustava kartoittaminen laatimalla vaatimusmäärittely [6] hätäilmoitusjärjestelmän prototyypille.

Älypuhelimeen asennettava sovellus ei korvaa perinteistä hätäpuhelua, vaan sovellus tukee nykyistä hätäkeskusjärjestelmää siten, että hätäpuhelun aikana tilanteesta tehtävän riskiarvion tekeminen helpottuisi ja tehostuisi. Ottaessa puhelimella hätäyhteys uuden sovelluksen kautta

sovellus lähettää automaattisesti paikka- ja henkilötietoja sovellus avaa kaiuttimen sekä video- tai kuvayhteyden hätäkeskukseen sovellus välittää hätäkeskukseen riskin arvioinnin tueksi potilaiden tilanteesta fysiologista mittausdataa, kuten esimerkiksi älypuhelimella mitattua EKG-dataa.

Mobiilisovellus huolehtii tarvittavasta kaistastaan siten, että huonoilla yhteyksillä toimittaessa rakennetaan perinteinen hätäpuhelu automaattisesti. Lisäksi äärimmäisen hankalissa olosuhteissa puhelin lähettää olennaisen tiedon suoraan tekstiviestillä hätäkeskukseen.

Hätäkeskuksen henkilökunnan käyttöön kehitetään hätätietosovellus, jolla he voivat ottaa hätäilmoituksia käsiteltäväksi. Sovelluksen käyttöliittymässä esitetään älypuhelimesta lähetetyt tiedot. Hätätietosovelluksella voidaan pyytää mobiilisovelluksesta tietoja, kuten esimerkiksi fysiologista mittausdataa. Sovelluksesta voidaan myös lähettää toimintaohjeita, kuvia ja videokuvaa mobiilisovellukselle. Tietojärjestelmän palvelinsovellus huolehtii hätäpuheluiden käsittelystä, välittämisestä ja tallentamisesta.

PIC Kuva 3.1: Projektissa kehitettävän hätäilmoitusjärjestelmän prototyyppi.

3.3 Tulokset

Tietojärjestelmän ohella projektiryhmä toteuttaa seuraavat dokumentit:

Ajankäyttöraportti sisältää ryhmän jäsenten kirjaamat työtunnit sekä niiden jakautumisen eri tehtäväkokonaisuuksille ja tehtäville. Asennusohjeet sisältää tietojärjestelmän eri sovellusten asennusohjeet. Esittelymateriaali sisältää väli- ja loppuesittelyn materiaalit ja muistiot. Itsearvioinnit sisältävät ryhmän jäsenten arvioinnit omasta toiminnasta, onnistumisesta, kokemuksista ja oppimisesta. Lisenssisitoumuksella ryhmän jäsenet vahvistavat sitoutuvansa sijoittamaan toteuttamansa lähdekoodin valitun avoimen lähdekoodin lisenssin alaisuuteen. Luokkadokumentaatio sisältää lähdekoodista automaattisesti generoidut luokkia kuvaavat dokumentit. Lähdekoodi sisältää lähdekoodin kommentteineen. Palaverien dokumentit sisältävät kokouksien esityslistat, pöytäkirjat ja tilakatsaukset. Projektiraportti kuvaa projektin toteutunutta läpivientiä ja asetettujen tavoitteiden saavuttamista. Projektisuunnitelma kuvaa projektin suunniteltuja tavoitteita, resursseja, käytänteitä, tehtävien työmääriä ja työnjakoa, aikataulua sekä riskien hallintaa. Sovellusraportti kuvaa toteutetun sovelluksen kokonaisrakenteen ja toiminnot, puutteelliset ja heikot toteutusratkaisut sekä jatkokehitysideat. Sähköpostiarkistot sisältävät kaikki projektin sähköpostilistoilla käydyt keskustelut. Vaatimusmäärittely kuvaa projektin toiminnalliset ja tekniset vaatimukset.

3.4 Oppimistavoitteet

Tietotekniikan Sovellusprojekti-opintojakson oppimistavoitteena on projektimuotoisen työskentelyn oppiminen. Projektin kuluessa jäsenet saavat käsityksen siitä, millaista ohjelmistoalan projektimuotoinen ryhmätyö oikeasti on. Opiskelijat pääsevät myös tutustumaan uusiin ohjelmointitekniikoihin asiantuntevassa ympäristössä. Sovellusprojektin keskeinen asia on käytännön tekemisen kautta oppiminen sekä aikaisemmilla kursseilla opitun teoriatiedon soveltaminen. Jäsenet tulevat arvioimaan omaa työskentelyään projektin lopussa.

Ryhmän jäsenet ovat asettaneet seuraavia henkilökohtaisia oppimistavoitteita:

Niko Mononen haluaa oppia ohjelmistoprojektin johtamista. Veli-Mikko Puupponen haluaa kokemusta projektimuotoisesta työtavasta ja ryhmätyöskentelystä. Ilkka Rautiainen haluaa kehittää ohjelmointiosaamistaan. Atte Söderlund haluan oppia projektimuotoista työtapaa kokonaisuudessaan.

Luku 4 Organisaatio ja resurssit

Luvussa esitellään projektiorganisaatio, käytössä olevat resurssit sekä projektiin liittyvät oheiskurssit ja perehdytykset. 4.1 Projektiorganisaatio

Projektiryhmän muodostavat Niko Mononen, Veli-Mikko Puupponen, Ilkka Rautiainen ja Atte Söderlund. Niko Monosella on aiempaa ohjelmointikokemusta työelämästä ja omien ohjelmistoprojektien kautta. Veli-Mikko Puupposella on myös ohjelmointikokemusta yliopiston ohjelmointikurssien ja omien ohjelmistoprojektien kautta. Hänellä on myös paljon tietämystä erilaisista tietojärjestelmistä, mistä on hyötyä sovelluksen suunnittelu- ja toteutusvaiheessa. Ilkka Rautiaisella on ohjelmointitaitoja yliopiston ohjelmointikursseilta. Atte Söderlundilla on aiempaa kokemusta mobiiliohjelmoinnista.

Tilaajan edustajina toimivat Tero Tuovinen ja Vesa Lappalainen tietotekniikan laitokselta. Jukka-Pekka Santanen on projektin vastaava ohjaaja. Teknisiä ohjaajia ovat Olli Kauppinen ja Jaakko Kosonen. Kosonen toimii ensisijaisena ohjaajana tietojärjestelmän toteutusratkaisuihin liittyvissä asioissa. Kauppisella on tietämystä kohdealueesta ja älypuhelinsovellusten kehittämiseen liittyvää aiempaa kokemusta. Projektin sidosryhmiin kuuluu myös hätäkeskusten, pelastusalan ja ensihoidon asiantuntijoita, joita ovat mm. Helena Jäntti Kuopion yliopistollisesta sairaalasta.

Jyväskylän yliopiston ATK-lähituki vastaa ryhmän käytössä olevista laitteista ja ohjelmistoista. Projektiin kuuluvan viestintäkurssin kirjoitusviestinnän opettajana toimii Timo Nurmi ja puheviestinnän opettajana Hanna Kivimäki.

4.2 Projektin tilat ja laitteet

Projektiryhmä sai käyttöönsä tietotekniikan laitokselta Agorasta huoneen C223.2, jossa on asennettuina neljä Windows 8 -työasemaa. Projektiryhmällä on käytössä myös palvelin ja Lappalaisen projektiryhmälle lainaama Windows Phone 8 -puhelin.

Sovellusprojektien avotilassa on ryhmän käytössä monitoimitulostin. Ryhmän jäsenet pystyvät tulostamaan projektiin liittyvät dokumentit ilman maksuja. Ryhmällä on mahdollisuus varata käyttöönsä videoprojektori, kannettava PC ja digitaalisanelin. Projektiryhmällä on käytettävissä virkistystila, jossa on vedenkeitin ja kahvinkeitin. Tietotekniikan laitos tarjoaa ryhmälle kahvit, teet ja mehut.

Projektilla on käytössään yhteinen verkkolevy ja WWW-sivusto projektin tiedostojen säilytystä varten. Verkkolevy on hakemistossa
sovpa7.cc.jyu.fi\halyri ja sivusto osoitteessa http://sovellusprojektit.it.jyu.fi/halyri.

Projektin julkistetut dokumentit sijoitetaan trac-wikiin URL-osoitteeseen https://trac.cc.jyu.fi/projects/sovproj/wiki/Halyri.

Trac on hyvin yksinkertainen WWW-pohjainen, alun perin ohjelmistoprojektien tehtävien hallintaan tarkoitettu järjestelmä.

Projektissa toteutettava lähdekoodi sijoitetaan git-pohjaiseen YouSource-julkistusjärjestelmään osoitteeseen https://yousource.it.jyu.fi/halyri/

Projektilla on käytössä sähköpostilistat halyri@… ja halyri_opetus@…. Sähköpostilistojen arkistoista https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri/ ja https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri\_opetus/ keskustelua voi lukea WWW-selaimella kirjautumalla Korppi-opintotietojärjestelmään.

4.3 Dokumentointityökalut

Projektisuunnitelma ja projektiraportti laaditaan LATEX-ladontaohjelmistolla. Microsoft Office -toimisto-ohjelmistolla laaditaan palaverien esitysgrafiikat ja lisenssisitoumus. Vaatimusmäärittelyn tekemisessä käytetään freemind-ajatuskarttaohjelmaa. Palaverien pöytäkirjat laaditaan joko Microsoft Word-ohjelmistolla tai LATEX-ladontaohjelmistolla. Projektin aikataulu laaditaan GanttProject-ohjelmalla ja tehtävien työtunnit Excel-taulukkolaskentaohjelmalla. Kaikki em. dokumentit pyritään julkistamaan myös pdf-muodossa. Raakatekstimuodossa laaditaan muut tekstidokumentit, kuten esityslistat. Luokkadokumentit generoidaan lähdekoodista Doxygen-työkalulla.

Ajankäytön kirjaamiseen ja seurantaan ryhmällä on käytössään Petri Heinosen sovellusprojekteille toteuttama Excel-sovellus [1]. Lisäksi kyseisestä sovelluksesta laaditaan tilakatsauksissa vaadittavat graafit.

4.4 Ohjelmointityökalut

Sovellukset toteutetaan Microsoftin Visual Studio 2013 -ohjelmalla ja Windows Phone SDK-kehitystyökaluilla [4]. Projektiryhmä voi kuitenkin toteuttaa osia sovelluksista eri tekniikoilla, jos se on tarpeellista. Käytettyjä kirjastoja ovat SignalR sekä Microsoftin ASP.NET Framework ja Entity Framework. Tietokantaohjelmisto on Microsoft SQL Server, ja ohjelmointikielenä käytetään Microsoftin C#:a.

4.5 Luennot ja perehdytykset

Projektin rinnalla järjestetään kaksi oheiskurssia: Sovellusprojektin hallintaa, viestintää ja työkaluja sekä Projektiviestintä IT-alalla. Oheiskurssien työtunnit kirjataan omalle tehtäväkokonaisuudelle työajanseurantasovelluksessa.

Kurssiin Sovellusprojektin hallintaa, viestintää ja työkaluja sisältyvät seuraavat luennot:

aloitusluento, vaatimusmäärittely, projektin johtaminen ja hallinta, käytettävyyspäivä, tekijänoikeus ja sopimukset sekä versiohallinta.

Kurssiin Projektiviestintä IT-alalla kuuluvat puhe- ja kirjoitusviestinnän luentojen ja ryhmätöiden ohella projektissa laadittujen dokumenttien kirjoitusasun ja rakenteen muokkauksen työtunnit. Projektin aikana järjestettävät kaksi väliesittelyä kuuluvat myös viestintäkurssiin.

Tarvittaessa sovellusprojektiin sisällytetään perehdyttämistä projektiin liittyvistä työkaluista ja tekniikoista sekä aihealueesta. Luku 5 Projektin käytänteet

Luvussa kuvataan projektissa noudatettavia käytänteitä. Nämä käytänteet edesauttavat projektin läpivientiä, asetettujen tavoitteiden saavuttamista ja tulosten toteuttamista. Käytänteiden tarkoitus on varmistaa, että projekti etenee aikataulussa, ja projektin aikana toteutetut tulokset ovat korkealaatuisia ja keskenään yhteneviä. 5.1 Tiedotus

Projektin tiedotuksesta projektiorganisaation sisällä vastaa ensisijaisesti projektipäällikkö. Ryhmän jäsenet kommunikoivat ensisijaisesti projektipäällikön kanssa, mutta voivat kuitenkin vastuualueillaan välittää oleelliset asiat eteenpäin koko projektiorganisaatiolle. Projektiorganisaatiolle tiedotetaan vähintään projektissa kohdatuista haasteista ja vaihtoehdoista sekä tehdyistä valinnoista, ratkaisuista ja päätöksistä.

Projektiorganisaation sisäinen sähköpostilista halyri@… on tarkoitettu tilaajien edustajille ja ohjaajille suunnattuun tiedotukseen. Sähköpostilistalle kuuluvat kaikki projektiorganisaation jäsenet. Postilistalle lähetetyt viestit tallentuvat sähköpostiarkistoon, joka löytyy osoitteesta https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri.

Projektiryhmän jäsenten ja ohjaajien käytössä on myös sähköpostilista halyri_opetus@…. Sen sähköpostiarkisto sijaitsee osoitteessa https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri\_opetus/. Sähköpostilistalla käsitellään sellaisia asioita, jotka eivät ole merkityksellisiä tilaajalle. Tällaisia asioita ovat esimerkiksi projektiryhmän sisäiset palaverit sekä erilaiset opetukseen ja koulutukseen liittyvät asiat.

Ryhmän sisäinen tiedotus tapahtuu pääosin suullisesti, sillä ryhmän jäsenet työskentelevät samassa tilassa ja ovat yhteydessä toisiinsa. Tarvittaessa tiedotus ja keskustelu voidaan ryhmän sisällä hoitaa sähköpostitse.

5.2 Palaverit

Projektiorganisaatio pyrkii pitämään yhteisen palaverin kerran kahdessa viikossa. Seuraavan palaverin ajankohta päätetään aina edellisessä palaverissa.

Palavereissa käsitellään edellisen palaverin jälkeen tapahtuneita projektin etenemiseen vaikuttaneita asioita sekä tulevia toimenpiteitä ja tarvittavia päätöksiä. Jokaisessa palaverissa käydään läpi edellisen palaverin pöytäkirjaan merkityt päätökset sekä osallistujille osoitetut toimenpiteet ja niiden tila. Palavereissa projektipäällikkö esittää tilakatsauksen, jossa esitetään projektiryhmän viikoittainen ajankäyttö eri tehtäväkonaisuuksittain.

Palavereissa käsitellään myös toteutettavan sovelluksen ominaisuuksia ja vaatimuksia, sekä niiden toteutusratkaisuja. Palavereissa käsiteltävät asiat pyritään käymään läpi niin perusteellisesti, että asiakkaan edustajat ja projektiryhmän jäsenet ymmärtävät asiat samalla tavalla, eikä väärinymmärryksiä pääse syntymään. Jos projektiryhmällä on esittää sovelluksesta konkreettisia käyttöliittymään liittyviä demoja tai prototyyppejä, ne esitellään palavereissa. Palavereissa sovitaan myös projektiin liittyvistä käytänteistä.

Ryhmän jäsenet toimivat vuorollaan palavereissa sihteerinä tai puheenjohtajana siten, että kyseiset tehtävät kiertävät ryhmän keskenään sopimassa järjestyksessä. Puheenjohtaja johtaa keskustelua ja pitää huolen siitä, että palaveri etenee esityslistan osoittamalla tavalla. Sihteeri laatii palaverista pöytäkirjan, jonka hän toimittaa myöhemmin palaverin puheenjohtajalle tarkastettavaksi. Kun pöytäkirja on puheenjohtajan osalta hyväksytty, puheenjohtaja tai sihteeri toimittaa sen koko projektiorganisaatiolle. Tämän lisäksi jokaisen ryhmän jäsenen laatima ensimmäinen pöytäkirja toimitetaan myös vastaavan ohjaajan ja kirjoitusviestinnän opettajan esitarkastettavaksi. Pöytäkirja hyväksytetään seuraavassa palaverissa, ja siihen voidaan tällöin esittää muutoksia.

5.3 Tiedostojen nimeäminen

Lähdekooditiedostojen nimeämisessä käytetään C#-kielen yleisiä käytänteitä. Tiedostojen ja hakemistojen nimet kirjoitetaan englanniksi. Lisäksi tiedostonimet kirjoitetaan aina pienillä kirjaimilla ja välilyönnit korvataan alaviivoilla (_). Lähdekoodissa ja dokumentoinnissa käytettyjen tekstitiedostojen tallennusmerkistönä käytetään ensisijaisesti UTF-8-koodausta.

Dokumenttitiedostot nimetään projektin nimen ohella niiden sisältöä kuvaavilla nimillä. Julkistettaessa nimiin lisätään versionumero luvussa 5.6 esitettyjen käytänteiden mukaisesti. Esimerkiksi projektisuunnitelman pdf-tiedosto nimettäisiin halyri_projektisuunitelma_[numero].[numero].[numero].pdf

5.4 Hakemistorakenne

Projektin tulokset tallennetaan CD-levylle ja projektin WWW-hakemistoon päähakemiston alle seuraavan hakemistorakenteen mukaisesti:

dokumentit

ajankaytto esittelyt itsearvioinnit projektiraportti projektisuunnitelma sovellusraportti vaatimusmaarittely lisenssisitoumus

palaverit

esityslistat materiaalit poytakirjat tilakatsaukset katselmoinnit

testaus

testausraportit testaussuunnitelmat

sahkopostiarkistot

halyri halyri_opetus

software

class_documentation installation_documents installation_files source_code

5.5 Lähdekoodi

Projektissa toteutettava lähdekoodi sijoitetaan YouSource-julkistusjärjestelmään. Sovelluksen lähdekoodi kirjoitetaan noudattaen yleisiä C# -koodin käytänteitä [5]. Lähdekoodin kommentoinnissa käytetään C#:n XML-tyylistä käytäntöä. Kommentoinnissa käytetään XML-tyyliä, jotta lähdekoodista voidaan generoida luokkadokumentaatio Doxygen-ohjelmalla. Lähdekoodissa käytetyt aliohjelmat, luokat ja muuttujat nimetään mahdollisimman kuvaavilla englanninkielisillä nimillä. Myös koko lähdekoodin kommentointi toteutetaan englanniksi. Usean sanan nimet kirjoitetaan CamelCasena ja lähdekoodiin sallitaan enintään 80 merkkiä riviä kohden.

Seuraavassa on esimerkki edellä esitettyjen käytänteiden mukaisesta C# -koodista. / The MIT License (MIT) / Copyright (C) 2014 Veli-Mikko Puupponen, Ilkka Rautiainen / / Permission is hereby granted, free of charge, to any person obtaining a copy / of this software and associated documentation files (the ~Software~), to / deal in the Software without restriction, including without limitation the / rights to use, copy, modify, merge, publish, distribute, sublicense, / and/or sell copies of the Software, and to permit persons to whom the / Software is furnished to do so, subject to the following conditions: / / The above copyright notice and this permission notice shall be included in / all copies or substantial portions of the Software. / / THE SOFTWARE IS PROVIDED ~AS IS~, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR / IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, / FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE / AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER / LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING / FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS / IN THE SOFTWARE. using System; using HalyriServer.Model.Transfer; using HalyriServer.Services.Exceptions; namespace HalyriServer.Controllers {

/ <author>Veli-Mikko Puupponen, Ilkka Rautiainen</author> / <summary> / The singleton class manages active emergency connections (Connection). / It contains a dictionary for active connections and their / identifying GUIDs. All emergency connection states and life cycle methods / are handled by the class. It functions as a broker between the mobile / emergency connection client and the call center client. / </summary> public class ConnectionController {

private static readonly Lazy<ConnectionController> instance =

new Lazy<ConnectionController>(() => new ConnectionController());

private DatabaseController databaseController;

/ <summary> / Returns the ConnectionController instance. / </summary> public static ConnectionController Instance {

get { return instance.Value; }

}

/ <summary> / The method generates a new GUID. It currently uses Guid.NewGuid() of / .NET framework. No collision checking is performed. All-zero GUIDs are / not returned. / </summary> / <returns>A new GUID formatted as a string.</returns> / <example> / <pre name=~test~> / GetNewGuidStrig().length() > 0 === true; / GetNewGuidStrig().length() < 25 === true; / GetNewGuidStrig().length() == 25 === false; / </pre> / </example> public string GetNewGuidStrig() {

Guid guid; do

guid = Guid.NewGuid();

while (guid == Guid.Empty); return guid.ToString();

}

}

}

5.6 Versiointi ja versiohallinta

Sovelluksen lähdekoodi sijoitetaan Git-pohjaiseen YouSource-julkistusjärjestelmään, josta se on myös tilaajan edustajien ja ohjaajien saatavilla. Kaikki sovellukseen ja projektiin liittyvä julkistettu dokumentaatio säilytetään trac-wikissä.

Dokumenttien versioissa tullaan käyttämään kolmiportaista versionumerointia. Ryhmän sisäiset versiot aloitetaan versionumerosta 0.0.1, ja kunkin uuden version osalta kasvatetaan vähiten merkitsevää numeroa yhdellä. Tällöin toinen versio on versionumeroltaan 0.0.2. Projektiorganisaatiolle julkistettavien versioiden numerointi aloitetaan versionumerosta 0.1.0. Seuraavat versiot numeroidaan kasvattamalla toisen tason numeroa yhdellä. Ensimmäisen hyväksytyn version numero on 1.0.0, ja sitä seuraavissa hyväksytyissä versioissa kasvatetaan toisen tason numeroa yhdellä.

5.7 Testaus

Toteutetun sovelluksen toiminnan verifiointi tapahtuu yksikkö- ja järjestelmätestauksella. Yksikkötestaus toteutetaan testaamalla yksittäiset aliohjelmat ja metodit ComTestin C#-versiolla [3], mikäli se on mahdollista. Yksikkötestit laatii ja suorittaa aliohjelman tekijä.

Järjestelmätestaukseen osallistuvat kaikki projektiryhmän jäsenet.Testausdokumenttien vastuuhenkilö laatii järjestelmän testaussuunnitelmat vaatimusmäärittelyn pohjalta, ja suoritettavista testauskerroista laaditaan testausraportit. Testaussuunnitelma sisältää eri testauskerroilla suoritettavat testitapaukset. Testausraportissa kuvataan yksittäisellä testauskerralla suoritettujen testitapausten tulokset, virheet ja mahdolliset puutteet.

5.8 Tulosten katselmoinnit ja hyväksyminen

Ryhmän projektissa kirjoittama lähdekoodi tullaan katselmoimaan vähintään kaksi kertaa projektin aikana. Katselmointiin osallistuu teknisen ohjaajan lisäksi koko projektiryhmä, ja projektiryhmä kirjaa katselmoinnin havainnot muistioksi. Katselmoinnissa tekninen ohjaaja kommentoi lähdekoodia antaen vinkkejä ja parannusehdotuksia. Tekninen ohjaaja myös hyväksyy lähdekoodin joko viimeisessä katselmoinnissa tai sähköpostitse.

Projektin lopussa tulokset kokonaisuutena hyväksytetään projektin ohjaajilla ja tilaajan edustajilla. Yksittäisistä tuloksista tilaajan edustajan hyväksyntä tarvitaan vähintään toteutetuille sovelluksille, sovellusraportille ja vaatimusmäärittelylle. Tekninen ohjaaja hyväksyy lähdekoodin yhdessä tilaajan edustajan kanssa. Vastaava ohjaaja hyväksyy projektin keskeisimmät dokumentit, joita ovat projektisuunnitelma, projektiraportti, sovellusraportti ja vaatimusmäärittely. Projektisuunnitelma ja projektiraportti, sovellusraportti sekä vaatimusmäärittely hyväksytään projektipäällikön, tilaajan edustajan ja projektin vastaavan ohjaajan allekirjoituksilla.

5.9 Tulosten koostaminen ja toimittaminen

Projektiryhmä kokoaa projektin tulokset projektikansioon ja CD-levylle. Projektikansioon kerätään kaikki projektissa laaditut dokumentit ja lähdekoodi. Lisäksi sähköpostiarkistot, tiivistetty projektin kuvaus ja jäsenten itsearvioinnit liitetään projektikansioon ja CD-levylle. CD-levylle tallennetaan edellisten lisäksi myös kehitetty ajettava sovellus ml. asennuspaketti ja asennusohjeet.

CD-levy koostetaan vasta, kun kaikki projektin tulokset on hyväksytty. Tulokset toimitetaan tilaajalle CD-levyllä. Laitokselle toimitetaan projektikansio, joka sisältää projekti-CD:n. Kolmas CD-levy toimitetaan laitoksen arkistoon. Projektikansio sijoitetaan projektitilan kokoushuoneessa olevaan kirjahyllyyn.

Projektissa käytetty palvelin siirretään projektin päätyttyä tilaajan haltuun. Tietojärjestelmän viimeisimmät versiot ovat saatavilla YouSourcesta osoitteesta https://yousource.it.jyu.fi/halyri/ Luku 6 Tehtävät, työmäärät ja työnjako

Luvussa määritellään projektiryhmän jäsenten vastuualueet sekä eri tehtävien työmäärät ja työnjako. 6.1 Vastuualueet

Projektipäällikkönä toimii Niko Mononen ja varapäällikkönä Atte Söderlund. Projektipäällikön vastuulle kuuluvat projektin suunnittelu ja hallinta sekä ajankäytön seuranta. Projektipäällikkö vastaa myös projektisuunnitelman ja projektiraportin laatimisesta. Projektipäällikön tehtäviin kuuluu lisäksi projektin tilan seuranta ja poikkeamiin reagoiminen. Jos projektipäällikkö ei jostain syystä pysty hoitamaan jotain edellä mainituista tehtävistä, vastuu siirtyy varapäällikölle.

Ryhmä jakaa tehtäviä monipuolisesti siten, että kaikki tekevät ainakin jossain vaiheessa projektia suunnittelua, toteutusta ja testausta. Tällöin kukin projektiryhmän jäsen saa kokemusta em. kehitysprosessin tehtäväkokonaisuuksista. Tuloksille on alustavasti nimetty vastuuhenkilöt taulukossa 6.1.

Tulos

Vastuuhenkilö

Hätäkeskussovellus

Ilkka Rautiainen

Käyttöliittymät

Atte Söderlund

Mobiilisovellus

Atte Söderlund

Palvelinsovellus

Veli-Mikko Puupponen

Projektisuunnitelma

Niko Mononen

Projektiraportti

Niko Mononen

Sovellusraportti

Atte Söderlund

Testausdokumentit

Ilkka Rautiainen

Tietokanta

Veli-Mikko Puupponen

Vaatimusmäärittely

Veli-Mikko Puupponen

Taulukko 6.1: Olennaisten tulosten vastuuhenkilöt

Vastuuhenkilö vastaa kyseisen tuloksen etenemisestä ja laadusta. Dokumentointia toteutetaan koko projektin ajan tasaisesti, jotta kaikki oleellinen saadaan kirjattua. Dokumentit laaditaan koko projektiryhmän voimin siten, että kukin laatii vähintään yhtä dokumenttia.

6.2 Työnositus ja työmäärä

Projektiryhmä käyttää projektiin 250 tuntia kutakin jäsentä kohden, joten koko ryhmän työtunnit ovat yhteensä 1000 tuntia. Työmäärä vastaa kymmentä opintopistetta ja noin 14 tuntia viikossa jäsentä kohden. Lisäksi kukin projektiryhmän jäsen käyttää yhteensä 70 tuntia oheiskursseihin. Projektin työmäärä jakautuu tehtävittäin ja jäsenten kesken kuvien 6.1 ja 6.2 mukaisesti. Suunnittelun ja toteutuksen työnositus perustuu kehitettävän tietojärjestelmän kokonaisrakenteeseen. Tehtävien jaossa on otettu huomioon jokaisen projektin jäsenen vastuualue.

Työmäärien suunittelussa on huomioitu kehitettävän tietojärjestelmän rakenne, projektin jäsenten taidot ja aikataulut sekä projektin aikataulu. Työmäärien järkevyyttä on pohdittu vertailemalla Paatti-projektin [2] suuniteltuja- ja toteutuneita työmääriä.

PIC Kuva 6.1: Työajankäyttösuunnitelma tehtäväkokonaisuuksittain 1/2.

PICPICPIC Kuva 6.2: Työajankäyttösuunnitelma tehtäväkokonaisuuksittain 2/2.

Luku 7 Prosessi ja aikataulu

Luvussa kuvataan projektissa noudatettavaa prosessia ja suunniteltua aikataulua. 7.1 Prosessi

Projektin alussa on määrittelyn ja suunnittelun vaihe. Siinä suunnitellaan projektin läpivienti, kartoitetaan järjestelmän vaatimukset ja laaditaan vaatimusmäärittely sekä hahmotellaan sovelluksen käyttöliittymää, rakennetta ja arkkitehtuuria.

Ensimmäisessä kehitysvaiheessa toteutetaan mobiilisovelluksen, palvelimen ja hätäkeskuksen käyttöliittymän runko hyvin pienellä määrällä toivotuista toiminnoista. Kun runko on kasassa ja todettu toimivaksi, aletaan siihen toteuttamaan lisää ominaisuuksia vaatimusmäärittelyn pohjalta kahden viikon vaiheissa. Ohjelmistokehitysvaiheita on yhteensä viisi. Vaiheen aloittavassa palaverissa esitellään tämän hetkistä sovellusta ja päätetään tilaajan kanssa, mitä uusia ominaisuuksia kehitetään seuraavaksi. Jokaiseen vaiheeseen sisältyy ohjelmiston suunnittelua, toteutusta ja testausta. Projektin lopuksi on tulosten viimeistelyn ja raportoinnin vaihe.

7.2 Aikataulu

PIC Kuva 7.1: Projektin Gantt-kaavio.

Kuvassa 7.1 on esitelty projektin suunniteltu aikataulu. Projekti alkoi 21.1.2014, ja se päättyy viimeistään toukokuun puolessa välissä. Ensimmäinen yksinkertainen prototyyppi on valmis 10.4. järjestettävään palaveriin mennessä, jonka jälkeen kahden viikon vaiheissa toteutetaan lisää ominaisuuksia palavereissa sovitun mukaisesti. Toukokuussa ei toteuteta uusia ominaisuuksia, vaan keskitytään ohjelmiston, lähdekoodin ja dokumentaation viimeistelyyn. Luku 8 Riskit ja riskien hallinta

Luvussa kuvataan projektissa tiedostetut riskit ja niiden vaikutukset projektin tuloksiin tai läpivientiin. Lisäksi kuvataan toimia niiden ennakoimiseksi ja ehkäisemiseksi sekä niistä toipumiseen. 8.1 Riskien todennäköisyydet ja haitat

Riskien todennäköisyydet ja niistä seuraavat haittavaikutukset on arvioitu taulukossa 8.1. Todennäköisyyttä ja haittavaikutusta arvioidaan asteikolla pieni, keskinkertainen ja suuri.

Riski

Todennäköisyys Haittavaikutus

Alustan rajoitukset

keskinkertainen suuri

Kehittäjien tietotaidon puutteet

keskinkertainen keskinkertainen

Tavoitteiden rajaaminen

keskinkertainen keskinkertainen

Tiedotuksen puutteet

pieni keskinkertainen

Jäsenten poissaolot

keskinkertainen pieni

Kokemattomuus projektihallinnassa

keskinkertainen pieni

Taulukko 8.1: Arvioitujen riskien todennäköisyys ja haittavaikutus.

8.2 Alustan rajoitukset

Projektiryhmä joutuu päättämään yhdessä tilaajan edustajien kanssa, mille alustoille tietojärjestelmään kuuluvat sovellukset toteutetaan projektin aikana. Koska alustat ovat hyvin erilaisia, voi jonkin ominaisuuden toteuttaminen vaatia huomattavasti enemmän resursseja kuin jollakin toisella alustalla. Alustan valinnasta riippuen joitakin tietojärjestelmältä vaadittuja ominaisuuksia saatetaan joutua rajaamaan projektin ulkopuolelle.

Riskiä ehkäistään tutustumalla etukäteen eri alustoihin mahdollisimman hyvin. Riskin toteutuessa on mahdollista vaihtaa käytettävää alustaa tai rajata joitakin toteutettavia ominaisuuksia projektin ulkopuolelle.

8.3 Kehittäjien tietotaidon puutteet

Ohjelmiston toteutuksessa käytetään monia eri työkaluja ja tekniikoita, joista projektiryhmän jäsenillä ei ole aikaisempaa kokemusta. Näin ollen ryhmä ei aina osaa ennakoida mahdollisia ongelmakohtia. Tietotaidon puute voi vaikeuttaa tavoitteiden toteuttamista ja viivästyttää projektin aikataulua.

Riskin ehkäisemiseksi ryhmän jäsenet tutustuvat käytettäviin työkaluihin ja tekniikoihin. Ongelmia kohdatessa ryhmän jäsenten tietoa pyritään hyödyntämään keskustelemalla ongelmasta. Ongelmatilanteissa projektiryhmällä on myös käytettävissään kaksi teknistä ohjaajaa ja asiantuntijoita.

8.4 Tavoitteiden rajaaminen

Tilaajan edustajien tavoitteet poikkeavat toisistaan, ja niissä painotetaan eri asioita, joten vaatimusmäärittelyn laatimiseen on kiinnitettävä paljon huomiota. Ryhmän muodostama kuva ohjelmiston tavoitteista voi erota tilaajan toiveista ja tarpeista. Tällöin tietojärjestelmä ei tule projektin päättyessä sisältämään kaikkia vaatimusmäärittelyssä kuvattuja ominaisuuksia.

Riskin ehkäisemiseksi projektiryhmä joutuu projektin alussa käyttämään paljon aikaa sovittaakseen tilaajan näkemykset yhtenäiseksi vaatimusmäärittelyksi [6]. Ennen kuin ohjelmiston toteutus aloitetaan, pitää projektiryhmällä ja tilaajalla olla selkeä kuva siitä, mitä ohjelmiston osia ja toimintoja on mahdollista saada projektin aikana valmiiksi. Vaatimusmäärittelyyn tulee kirjata vähintään projektissa toteutettavat vaatimukset ja priorisoida ne.

Sovittujen tavoitteiden muuttuessa täytyy ryhmän ja tilaajan yhdessä päättää, mitä vaatimusmäärittelyn vaatimuksia voidaan siirtää jatkokehitykseen, jotta uudet tavoitteet voidaan toteuttaa pysyen aikataulussa. Jos projektin kuluessa huomataan, että vaatimusmäärittelyn priorisointi on liian optimistinen ja kaikkia luvattuja vaatimuksia ei ehditä toteuttaa, täytyy ryhmän ja tilaajan yhdessä päättää, mitä vaatimusmäärittelyn vaatimuksia voidaan siirtää pienemmälle prioriteetille.

8.5 Tiedotuksen puutteet

Projektiorganisaatiossa tiedonkulku on tärkeää. Tiedotuksen puutteet voivat vaarantaa koko projektin aikataulussa pysymisen tai tulokset eivät vastaa tilaajan kokonaistavoitteita.

Riskin ehkäisemiseksi ryhmän jäsenten tiedotuksen täytyy olla riittävää, jotta jokainen projektiorganisaation jäsen pysyy ajantasalla projektin kulusta ja omista tehtävistään projektin eteenpäin viemiseksi. Ehkäisykeinoja muodostuville ongelmille on kuvattu luvuissa 5.1 ja 5.2. Jos projektin tiedotuksessa havaitaan puutteita, projektipäällikön täytyy pystyä havaitsemaan ongelmat ja pyytää asianomaisia parantamaan tiedottamistaan. Jokaisen projektiorganisaation jäsenen täytyy tiedottaa havaituista ongelmista ja valmistuneista tehtävistä asiaankuuluville henkilöille.

8.6 Jäsenten poissaolot

Ryhmän yhdellä tai useammalla jäsenellä voi olla suunniteltuja (kuten esimerkiksi matka) tai ennakoimattomia (kuten sairastuminen) poissaoloja. Ryhmän jäsenten poissaolot saattavat hidastaa ohjelmiston kehitystä.

Riskin ehkäisemiseksi suunnitellut poissaolot huomioidaan tehtävien jaossa etukäteen. Lyhyet poissaolot voidaan ratkaista työtuntien tasaamisella poissaolon jälkeen, ja pidemmän poissaolon tapauksessa asiasta keskustellaan projektin ohjaajan kanssa. Jos poissaolo vaikuttaa projektin aikatauluun tai tuloksiin, täytyy asiasta keskustella tilaajan kanssa ja neuvotella muutoksista toteutettaviin vaatimuksiin.

8.7 Kokemattomuus projektihallinnassa

Projektipäälliköllä ei ole aiempaa kokemusta projektin läpiviemisestä päällikkönä, joten työmäärien ja aikataulun arvioiminen on vaikeaa. Kokemattomuudesta johtuen työtehtävien tasainen jakaminen ryhmän jäsenille ja ryhmän jäsenten taitojen hyödyntäminen ei välttämättä ole ihanteellista.

Riskien ehkäisemisessä ja siitä toipumisessa ryhmän jäsenten apu projektipäälliköille on ensiarvoisen tärkeää. Lisäksi mahdollisten ongelmien havainnoinnissa auttavat tilakatsaukset ja projektiryhmän keskinäiset tapaamiset.

Ryhmän jäsenten täytyy muistaa, että projektipäällikkö on myös oppimassa projektin johtamista. Projektiryhmän jäsenillä on velvollisuus huomauttaa, jos projekti ei etene oikeaan suuntaan. Ryhmän jäsenten täytyy lisäksi olla oma-aloitteisia ja huomauttaa, jos jotkin tehtävät jäävät tekemättä. Jos projektin hallinnassa esiintyy ongelmia, täytyy niistä keskustella vastaavan ohjaajan kanssa. Luku 9 Yhteenveto

Hälyri-projekti suorittaa alustavan toteutettavuuskartoituksen ja kehittää hätätietojärjestelmän prototyypin Sovellusprojekti-kurssilla keväällä 2014. Projektin tulokset luovutetaan tilaajalle toukokuun lopussa.

Kehitettävä prototyyppi on laaja ja monimutkainen, joten tietojärjestelmän sovellusten ominaisuuksien priorisointiin on kiinnitettävä erityisen paljon huomiota. Projektin onnistumisen esteenä olevat suurimmat riskit liittyvät alustan rajoituksiin, kehittäjien tietotaidon puutteisiin ja tavoitteiden rajaamiseen. Projektissa kehitettävän prototyypin pohjalta tullaan kehittämään tietojärjestelmästä pilottiversio, joten projektissa laadittuja dokumentteja tullaan hyödyntämään myöhemmin.

Tietojärjestelmän toteutuksen kokemuksen lisäksi sovellusprojekti antaa projektiryhmän jäsenille kattavan käsityksen ohjelmistoprojektissa työskentelystä sekä sen vaatimuksista ja työtavoista. Ryhmän jäsenet oppivat asioita käytännön tekemisen kautta sekä soveltavat aikaisemmilta kursseilta oppimaansa teoriatietoja ja taitoja. Luku 10 Lähteet

[1] Petri Heinonen, ”Ajankäytönseurantasovellus”, saatavilla Excel-muodossa <URL: http://appro.mit.jyu.fi/tools/ajankaytto/ajankaytonseuranta.xls>, Jyväskylän yliopisto, informaatioteknologian tiedekunta, viitattu 23.2.2014.

[2] Tapio Keränen, Toni Salminen, Jari Salokangas ja Lauri Satokangas, ”Paatti-projekti”, saatavilla PDF-muodossa <URL: http://sovellusprojektit.it.jyu.fi/paatti/>, Jyväskylän yliopisto, tietotekniikan laitos, 2012.

[3] Tomi Karppinen, ”ComTest for C#”, saatavilla WWW-osoitteessa <URL: https://trac.cc.jyu.fi/projects/comtest/wiki/ComTestCsharp>, Jyväskylän yliopisto, tietotekniikan laitos, 14.2.2014.

[4] Microsoft, ”Windows Phone SDK”, saatavilla WWW-osoitteessa <URL: http://dev.windowsphone.com/en-_us/>, Microsoft, 2014.

[5] Microsoft, ”C# Programming Guide”, saatavilla WWW-osoitteessa <URL: http://msdn.microsoft.com/en-_us/library/67ef8sbd.aspx>, Microsoft, 2014.

[6] Niko Mononen, Veli-Mikko Puupponen, Ilkka Rautiainen ja Atte Söderlund, ”Hätäilmoitustietojärjestelmän vaatimusmäärittely”, saatavilla WWW-osoitteessa <URL: https://trac.cc.jyu.fi/projects/sovproj/wiki/Halyri/Vaatimusmaarittely>, Jyväskylän yliopisto, tietotekniikan laitos, 2014.

[7] Jukka-Pekka Santanen, ”Tietotekniikan Sovellusprojektien ohje”, saatavilla WWW-osoitteessa <URL: http://www.mit.jyu.fi/opetus/sovellusprojektit/projohje.html>, Jyväskylän yliopisto, tietotekniikan laitos, 29.1.2013.

Projektisuunitelma

Liitteinä ovat Hälyri-projektin projektisuunitelma.

Attachments