Changes between Version 6 and Version 7 of Halyri/Projektisuunitelma


Ignore:
Timestamp:
2014-05-03 17:50:00 (5 years ago)
Author:
nimajomo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Halyri/Projektisuunitelma

    v6 v7  
    1    Hälyri-Sovellusprojekti 
    2    Niko Mononen 
    3    Veli-Mikko Puupponen 
    4    Ilkka Rautiainen 
    5    Atte Söderlund 
    6    Projektisuunnitelma 
    7    Versio: 0.5.0 
    8    Julkinen 
    9    3. toukokuuta 2014 
    10    Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä 
    11    Hyväksyjä PäivämääräAllekirjoitus Nimenselvennys 
    12    Projektipäällikkö __.__.2014 
    131 
    14    Tilaaja __.__.2014 
    15  
    16    Ohjaaja __.__.2014 
    17  
    18 Tietoa dokumentista 
    19  
    20    Tekijät: 
    21  
    22       *  Niko Mononen (NM)   niko.m.mononen@student.jyu.fi                    
    23       *  Veli-Mikko          veli-mikko.a.puupponen@student.jyu.fi            
    24    Puupponen (VMP)            
    25       *  Ilkka               ilkka.t.rautiainen@student.jyu.fi                
    26    Rautiainen (IR)            
    27       *  Atte                atte.a.soderlund@student.jyu.fi                  
    28    Söderlund (AS)           
    29  
    30    Dokumentin nimi: Hälyri-projekti, Projektisuunnitelma 
    31    Sivumäärä: 41 Tiedosto: Halyri_projektisuunnitelma.tex 
    32    Tiivistelmä: Projektisuunnitelmassa kuvataan Hälyri-projektin 
    33    suunniteltua läpivientiä. Suunnitelmassa esitellään projektin 
    34    taustoja, tavoitteita, käytettävissä olevat resurssit ja 
    35    käytänteet. Suunnitelmassa kuvataan myös projektin tehtävien 
    36    työmääriä ja jakautumista jäsenten kesken, sekä projektin 
    37    prosessia ja läpiviennin aikataulua. Suunnitelmassa kartoitetaan 
    38    projektiin liittyviä riskejä, arvioidaan niiden 
    39    todennäköisyyttä ja toteutumisen haittavaikutuksia sekä 
    40    kuvataan riskien hallintaa. Avainsanat: Aikataulu, EKG, hätäkeskus, 
    41    hätäpuhelu, käytänteet, matkapuhelin, ohjelmistoprojekti, 
    42    projektisuunitelma, prosessi, resurssit, riskien hallinta, sovellus, 
    43    tavoitteet, taustaa, tehtävät, työmäärät, vastuualueet, 
    44    videopuhelu, Windows Phone 8. 
    45  
    46 Muutoshistoria 
    47  
    48    +------------------------------------------------------------------------+ 
    49    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    50    |Versio|Päivämäärä|Muutokset                   |Tekijät| 
    51    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    52    |0.0.1 |11.2.2014                |Projektisuunitelman         |NM        | 
    53    |      |                         |laatiminen on aloitettu.    |          | 
    54    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    55    |0.0.2 |15.2.2014                |Suunitelmaa on              |NM        | 
    56    |      |                         |täydennetty.             |          | 
    57    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    58    |0.0.3 |18.2.2014                |Projektin hallinta -luku on |NM        | 
    59    |      |                         |kirjoitettu.                |          | 
    60    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    61    |0.0.4 |23.2.2014                |Prosessi ja riskit on       |NM        | 
    62    |      |                         |kuvattu.                    |          | 
    63    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    64    |      |                         |Johdanto ja yhteenveto on   |          | 
    65    |0.0.5 |25.2.2014                |kirjoitettu, sekä        |NM        | 
    66    |      |                         |dokumenttia on viimeistelty.|          | 
    67    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    68    |      |                         |Aikataulut ja työnjako on |          | 
    69    |0.1.0 |27.2.2014                |päivitetty, sekä      |NM        | 
    70    |      |                         |dokumnettia on viimeistelty.|          | 
    71    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    72    |0.1.1 |9.3.2014                 |Ulkoasua on korjattu.       |NM        | 
    73    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    74    |0.1.2 |12.3.2014                |Sisältöä on         |NM        | 
    75    |      |                         |korjattu.                   |          | 
    76    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    77    |0.1.3 |13.3.2014                |Tavoitteet, tulokset ja     |NM        | 
    78    |      |                         |resurssit on päivitetty. |          | 
    79    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    80    |0.1.4 |13.3.2014                |Projektiorganisaatiolukua on|NM        | 
    81    |      |                         |päivitetty.              |          | 
    82    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    83    |      |                         |Termejä, vastuualueita ja|          | 
    84    |      |                         |aikataulua kuvaavia lukuja  |          | 
    85    |0.1.5 |18.3.2014                |on päivitetty, sekä   |NM        | 
    86    |      |                         |niiden järjestystä on |          | 
    87    |      |                         |muutettu.                   |          | 
    88    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    89    |      |                         |Työmäärät ja     |          | 
    90    |      |                         |riskiarviot on              |          | 
    91    |0.2.0 |19.3.2014                |päivitetty, sekä      |NM        | 
    92    |      |                         |dokumenttia on              |          | 
    93    |      |                         |viimeistelyä.            |          | 
    94    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    95    |      |                         |Dokumenttia on korjattu     |          | 
    96    |0.2.1 |28.3.2014                |saadun palautteen           |NM        | 
    97    |      |                         |mukaisesti.                 |          | 
    98    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    99    |      |                         |Työmäärät ja     |          | 
    100    |0.2.2 |5.4.2014                 |Gantt-kaavio on             |NM        | 
    101    |      |                         |päivitetty.              |          | 
    102    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    103    |0.3.0 |6.4.2014                 |Dokumentin ulkoasua on      |NM        | 
    104    |      |                         |päivitetty.              |          | 
    105    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    106    |      |                         |Dokumenttia on korjattu     |          | 
    107    |0.3.1 |9.4.2014                 |saadun palautteen           |NM        | 
    108    |      |                         |mukaisesti.                 |          | 
    109    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    110    |0.3.2 |18.4.2014                |Sisältöä on         |NM        | 
    111    |      |                         |korjattu.                   |          | 
    112    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    113    |      |                         |Työmäärät ja     |          | 
    114    |0.4.0 |19.4.2014                |Gantt-kaavio on             |NM        | 
    115    |      |                         |päivitetty.              |          | 
    116    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    117    |      |                         |Dokumenttia on korjattu     |          | 
    118    |0.5.0 |23.4.2014                |saadun palautteen           |NM        | 
    119    |      |                         |mukaisesti.                 |          | 
    120    |  --  |  ---------------------  |  ------------------------  |  ------  | 
    121    +------------------------------------------------------------------------+ 
    122  
    123 Tietoa projektista 
    124  
    125    Projekti kehittää prototyypin uudenlaisesta 
    126    tietojärjestelmästä, joka mahdollistaa yhteyden hädässä 
    127    olevien ihmisten ja hätäkeskusten välillä. Keskeinen ajatus on 
    128    hyödyntää matkapuhelinten merkittävästi 
    129    lisääntynyttä datan lähetys- ja vastaanottokykyä osana 
    130    auttamisprosessia. Tavoitteena kehitettävällä 
    131    tietojärjestelmällä on luoda aikaisempaa tarkempi kuva entistä 
    132    lyhyemmässä ajassa. Tämä auttaa pelastamaan ihmishenkiä, 
    133    parantamaan palvelun laatua ja tehostamaan resurssien käyttöä. 
    134    Projektissa kehitettävän hätätietojärjestelmän 
    135    prototyypin avulla pyritään osoittamaan teknologiset mahdollisuudet 
    136    ja haasteet sekä havainnollistamaan käyttöliittymillä 
    137    avuntarvitsijan ja hätäkeskuksen vuorovaikutusta. 
    138  
    139    Tekijät: 
    140  
    141       *  Niko Mononen (NM)   niko.m.mononen@student.jyu.fi                    
    142       *  Veli-Mikko          veli-mikko.a.puupponen@student.jyu.fi            
    143    Puupponen (VMP)            
    144       *  Ilkka               ilkka.t.rautiainen@student.jyu.fi                
    145    Rautiainen (IR)            
    146       *  Atte                atte.a.soderlund@student.jyu.fi                  
    147    Söderlund (AS)           
    148  
    149    Tilaaja: 
    150  
    151       *  Vesa Lappalainen  vesa.t.lappalainen@jyu.fi                          
    152       *  Tero Tuovinen     tero.tuovinen@jyu.fi                               
    153  
    154    Ohjaajat: 
    155  
    156       *  Jaakko Kosonen        jaakko.j.kosonen@gmail.com                     
    157       *  Olli Kauppinen        olli.p.kauppinen@student.jyu.fi                
    158       *  Jukka-Pekka Santanen  santanen@mit.jyu.fi                            
    159  
    160    Asiantuntijat: 
    161  
    162       *  Helena Jäntti                              helena.jantti@kuh.fi   
    163  
    164    Yhteystiedot: 
    165  
    166                                 halyri@korppi.jyu.fi,                                              
    167    *  Sähköpostilistat:                                                                      
    168                                 halyri_opetus@korppi.jyu.fi                                        
    169    *  Sähköpostiarkistot: https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri/,         
    170                                 https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri\_opetus/  
    171    *  Projektitila:            AgC 223.2, puh. 040-3573796                                        
    172  
    173      
    174  
    175 Sisältö 
    176  
    177    1 Johdanto 
    178    2 Termit 
    179    3 Taustaa ja tavoitteet 
    180     3.1 Taustaa 
    181     3.2 Prototyypille asetetut tavoitteet 
    182     3.3 Tulokset 
    183     3.4 Oppimistavoitteet 
    184    4 Organisaatio ja resurssit 
    185     4.1 Projektiorganisaatio 
    186     4.2 Projektin tilat ja laitteet 
    187     4.3 Dokumentointityökalut 
    188     4.4 Ohjelmointityökalut 
    189     4.5 Luennot ja perehdytykset 
    190    5 Projektin käytänteet 
    191     5.1 Tiedotus 
    192     5.2 Palaverit 
    193     5.3 Tiedostojen nimeäminen 
    194     5.4 Hakemistorakenne 
    195     5.5 Lähdekoodi 
    196     5.6 Versiointi ja versiohallinta 
    197     5.7 Testaus 
    198     5.8 Tulosten katselmoinnit ja hyväksyminen 
    199     5.9 Tulosten koostaminen ja toimittaminen 
    200    6 Tehtävät, työmäärät ja työnjako 
    201     6.1 Vastuualueet 
    202     6.2 Työnositus ja työmäärä 
    203    7 Prosessi ja aikataulu 
    204     7.1 Prosessi 
    205     7.2 Aikataulu 
    206    8 Riskit ja riskien hallinta 
    207     8.1 Riskien todennäköisyydet ja haitat 
    208     8.2 Alustan rajoitukset 
    209     8.3 Kehittäjien tietotaidon puutteet 
    210     8.4 Tavoitteiden rajaaminen 
    211     8.5 Tiedotuksen puutteet 
    212     8.6 Jäsenten poissaolot 
    213     8.7 Kokemattomuus projektihallinnassa 
    214    9 Yhteenveto 
    215    10 Lähteet 
    216  
    217 Luku 1 
    218 Johdanto 
    219  
    220    Projekti suoritta Sovellusprojekti-kurssilla keväällä 2014 
    221    alustavan tarvekartoituksen ja kehittää prototyypin uudenlaisesta 
    222    tietojärjestelmästä, joka mahdollistaa yhteyden hädässä 
    223    olevien ihmisten ja hätäkeskusten välillä. Keskeinen ajatus on 
    224    hyödyntää matkapuhelinten merkittävästi 
    225    lisääntynyttä datan lähetys- ja vastaanottokykyä osana 
    226    auttamisprosessia. Tavoitteena kehitettävällä 
    227    tietojärjestelmällä on luoda aikaisempaa tarkempi kuva 
    228    hätätilanteesta entistä lyhyemmässä ajassa. Tämä 
    229    auttaa pelastamaan ihmishenkiä, parantamaan palvelun laatua ja 
    230    tehostamaan resurssien mbockäyttöä. Projektissa kehitettävän 
    231    hätätietojärjestelmän prototyypin avulla pyritään 
    232    osoittamaan teknologiset mahdollisuudet ja haasteet sekä 
    233    havainnollistamaan käyttöliittymillä avuntarvitsijan ja 
    234    hätäkeskuksen vuorovaikutusta. 
    235  
    236    Projektisuunnitelma kuvaa Hälyri-projektin suunniteltua 
    237    läpivientiä. Projektisuunnitelman laatimisessa on hyödynnetty 
    238    Paatti-projektin projektisuunnitelmaa [2] ja Sovellusprojektien ohjetta 
    239    [7] sekä projektiryhmän laatimaa vaatimusmäärittelyä [6]. 
    240  
    241    Luvussa 2 esitellään dokumentissa käytetyt termit ja niiden 
    242    merkitys. Luvussa 3 käsitellään projektin taustoja sekä 
    243    tavoitteita ja projektiryhmän jäsenten oppimistavoitteita. Luvussa 4 
    244    esitellään projektin organisaatio ja resurssit. Luvussa 5 kuvataan 
    245    projektin käytänteitä. Luvussa 6 hahmotellaan projektin 
    246    oleellisimpien tulosten vastuuhenkilöt, keskeisimmät tehtävät, 
    247    sekä arvioidaan tehtävien työmääriä. Luvussa 7 kuvataan 
    248    projektissa noudatettavaa prosessia ja projektin aikataulua. Luvussa 8 
    249    kuvataan projektin ennakoituja riskejä ja niiden hallintaa. 
    250  
    251 Luku 2 
    252 Termit 
    253  
    254    Dokumentin aihealueen termejä ovat seuraavat: 
    255  
    256       EKG 
    257  
    258            on elektrokardiogrammi eli sydänsähkökäyrä. 
    259  
    260       Hätäkeskus 
    261  
    262            vastaanottaa ja käsittelee yleiseurooppalaiseen 
    263            hätänumeroon 112 soitetut hätäpuhelut. 
    264  
    265       Käyttöliittymä 
    266  
    267            on se ohjelmiston, laitteen tai minkä tahansa muun tuotteen 
    268            osa, jonka kautta käyttäjä käyttää tuotetta. 
    269  
    270       Mobiilisovellus 
    271  
    272            on sovellus, joka on suunniteltu mobiilipäätelaitteisiin eli 
    273            matkapuhelimiin, älypuhelimiin, kämmentietokoneisiin ja 
    274            ammattikäyttöön tarkoitettuihin 
    275            mobiilipäätelaitteisiin. 
    276  
    277       Palvelin 
    278  
    279            on palvelinsovellusta suorittava tietokone. 
    280  
    281       Palvelinsovellus 
    282  
    283            on ohjelma, joka tarjoaa erilaisia palveluja muille ohjelmille 
    284            joko tietokoneverkon välityksellä tai paikallisesti samassa 
    285            tietokoneessa. 
    286  
    287       Prototyyppi 
    288  
    289            tarkoittaa sovelluksen tai tietojärjestelmän versiota, jolla 
    290            on tarkoitus varmistaa konseptin tekninen toimivuus ja/tai 
    291            kartoittaa käyttäjien tarpeet. 
    292  
    293       Tietojärjestelmä 
    294  
    295            on ihmisistä, tietojenkäsittelylaitteista, 
    296            tiedonsiirtolaitteista ja ohjelmistoista koostuva 
    297            järjestelmä, jolla tehostetaan tai helpotetaan jotain 
    298            tietojen käsittelyn toimintaa tai tehdään se 
    299            ylipäätään mahdolliseksi. 
    300  
    301       Tietokanta 
    302  
    303            on tietotekniikassa käytetty termi tietovarastolle. Se on 
    304            kokoelma tietoja, joilla on yhteys toisiinsa. 
    305  
    306    Dokumentissa esiintyviä teknisiä termejä ovat seuraavat: 
    307  
    308       Alusta 
    309  
    310            koostuu käyttöjärjestelmästä ja muista 
    311            tietojärjestelmän käyttämistä varusohjelmistoista. 
    312  
    313       FreeMind 
    314  
    315            on ajatuskarttasovellus. 
    316  
    317       GanttProject 
    318  
    319            on ajan- ja resurssienhallintaohjelma projekteille. 
    320  
    321       Git 
    322  
    323            on hajautettu versiohallintajärjestelmä. 
    324  
    325       LaTeX 
    326  
    327            on ladontaohjelmisto. 
    328  
    329       Lähdekoodi 
    330  
    331            on tekstimuotoista ohjelmointikielistä listausta. 
    332  
    333       Trac 
    334  
    335            on hyvin yksinkertainen WWW-pohjainen alun perin 
    336            ohjelmistoprojektien tehtävien hallintaan tarkoitettu 
    337            järjestelmä 
    338  
    339       WP8 
    340  
    341            on lyhenne sanasta Windows Phone 8. 
    342  
    343       YouSource 
    344  
    345            on Git-versiohallintaohjelmistoa tukeva lähdekoodien 
    346            julkistusjärjestelmä. 
    347  
    348 Luku 3 
    349 Taustaa ja tavoitteet 
    350  
    351    Luvussa käsitellään projektin taustatietoja, tavoitteita 
    352    projektissa toteutettavalle tietojärjestelmän prototyypille ja 
    353    muille tuloksille sekä ryhmän jäsenille asetettuja 
    354    oppimistavoitteita. 
    355  
    356   3.1 Taustaa 
    357  
    358    Matkapuhelinteknologia on kehittynyt huimasti kuluneen vuosikymmenen 
    359    aikana. Nykyisin Suomessa jokaiseen puhelinliittymään 
    360    kytketään automaattisesti mahdollisuus tietoliikennedatan 
    361    siirtämiseen, ja käytännössä suurin osa tänä 
    362    päivänä myytävistä matkapuhelimista on varustettu 
    363    "älyominaisuuksilla". A*lypuhelimien laaja kattavuus tarjoaa 
    364    luonnollisen ja tehokkaan tavan kehittää perinteistä 
    365    hätäpuhelua nykyaikaan. 
    366  
    367    Hätäkeskuslaitos on avun ja turvan ensimmäinen viranomaislenkki 
    368    auttamisen ketjussa. Hätäkeskuksen tehtävänä on puhelun 
    369    aikana luoda vakioidulla menettelyllä riskiarvio tilanteesta ja 
    370    välittää tehtävä asianomaiselle viranomaiselle. Tänä 
    371    päivänä hätäpuhelu on rajoittunut puheyhteyteen 
    372    hätäkeskuksen päivystäjän kanssa. Pelkän puheyhteyden 
    373    avulla kokonaisarvion tekeminen tilanteesta voi olla joskus erittäin 
    374    haastavaa, joten virhearvioita ja niiden seurauksia voidaan lukea 
    375    päivälehdistä aika-ajoin. 
    376  
    377    Virhearviot voivat aiheuttaa seuraavanlaisia ongelmia: 
    378      * Tilannetta tai riskiä ei tunnisteta, jolloin viranomaisapu 
    379        viivästyy tai jää saapumatta, ja pahimmillaan menehtyy 
    380        ihmishenkiä. 
    381      * Tilanne tai riski yliarvioidaan, josta seuraa viranomaisresurssien 
    382        epätarkoituksen mukainen käyttö johtaen mm. seuraaviin 
    383        ongelmiin: 
    384           * Vaste on liian suuri tehtävän todelliseen riskiin 
    385             nähden. 
    386           * Hälytysajojen lisääntyminen lisää 
    387             liikenneriskiä. 
    388  
    389    Hälyri-projektina aloitettavan hankkeen tavoitteena on osoittaa 
    390    uudenmallisten datayhteyksien laaja ja innovatiivinen hyödynnettävyys 
    391    hätätilanteiden arvioinnissa ja hallinnassa. Hätäpuhelun 
    392    aikana älypuhelimesta voitaisiin lähettää hätäkeskukseen 
    393    ääni- ja videokuvaa, paikkatietoja sekä EKG- ja muuta anturidataa 
    394    tukemaan riskiarvion tekemistä. Hätäkeskus voisi 
    395    lähettää toimintaohjeita esimerkiksi videona tai kuvina 
    396    hädässä olevalle. Hätäkeskus voisi myös siirtää 
    397    yhteyden suoraan auttajille. 
    398  
    399    Jyväskylän yliopiston tietotekniikan laitoksella on 
    400    Sapporo-projektin kautta laaja kokemus julkisen 
    401    hätäviestijärjestelmän kehittämisestä ja pilotoinnista. 
    402    Siitä saadun tiedon perusteella vastaava pilotointi voitaisiin 
    403    luotettavasti suorittaa yliopiston hankkeena. Hankkeessa kehitettävä 
    404    tietojärjestelmä voisi toimia hätätilanteessa lisäapuna 
    405    perinteisen 112-hätäpuhelun rinnalla. 
    406  
    407    Hankkeessa kehitettävän tietojärjestelmän valmistuttua 
    408    jokainen kansalainen voisi ilmaiseksi ladata siihen sisältyvän 
    409    mobiilisovelluksen omalle puhelimelleen niin halutessaan. Toiminta 
    410    perustuu siis keskeisesti vapaaehtoisuuteen, eikä ensimmäisessä 
    411    vaiheessaan tule vaikuttamaan perinteisen 112-hätäpuhelun toimintaan 
    412    ja siihen liittyviin säädöksiin. 
    413  
    414   3.2 Prototyypille asetetut tavoitteet 
    415  
    416    Hälyri-projektin tavoitteena on kehittää 
    417    hätäilmoitusjärjestelmän prototyyppi, jolla voidaan 
    418    demonstroida älypuhelimeen asennettavan hätäilmoitussovelluksen 
    419    toimintaa. Hätäilmoitusjärjestelmän kokonaisrakenne on 
    420    esitetty kuvassa 3.1. Projektin tavoitteisiin kuuluu myös kohderyhmien 
    421    ja käyttäjien sekä sovelluksen teknisten vaatimusten alustava 
    422    kartoittaminen laatimalla vaatimusmäärittely [6] 
    423    hätäilmoitusjärjestelmän prototyypille. 
    424  
    425    A*lypuhelimeen asennettava sovellus ei korvaa perinteistä 
    426    hätäpuhelua, vaan sovellus tukee nykyistä 
    427    hätäkeskusjärjestelmää siten, että hätäpuhelun 
    428    aikana tilanteesta tehtävän riskiarvion tekeminen helpottuisi ja 
    429    tehostuisi. Ottaessa puhelimella hätäyhteys uuden sovelluksen kautta 
    430      * sovellus lähettää automaattisesti paikka- ja henkilötietoja 
    431      * sovellus avaa kaiuttimen sekä video- tai kuvayhteyden 
    432        hätäkeskukseen 
    433      * sovellus välittää hätäkeskukseen riskin arvioinnin 
    434        tueksi potilaiden tilanteesta fysiologista mittausdataa, kuten 
    435        esimerkiksi älypuhelimella mitattua EKG-dataa. 
    436  
    437    Mobiilisovellus huolehtii tarvittavasta kaistastaan siten, että 
    438    huonoilla yhteyksillä toimittaessa rakennetaan perinteinen 
    439    hätäpuhelu automaattisesti. Lisäksi äärimmäisen 
    440    hankalissa olosuhteissa puhelin lähettää olennaisen tiedon 
    441    suoraan tekstiviestillä hätäkeskukseen. 
    442  
    443    Hätäkeskuksen henkilökunnan käyttöön kehitetään 
    444    hätätietosovellus, jolla he voivat ottaa hätäilmoituksia 
    445    käsiteltäväksi. Sovelluksen käyttöliittymässä 
    446    esitetään älypuhelimesta lähetetyt tiedot. 
    447    Hätätietosovelluksella voidaan pyytää mobiilisovelluksesta 
    448    tietoja, kuten esimerkiksi fysiologista mittausdataa. Sovelluksesta 
    449    voidaan myös lähettää toimintaohjeita, kuvia ja videokuvaa 
    450    mobiilisovellukselle. Tietojärjestelmän palvelinsovellus huolehtii 
    451    hätäpuheluiden käsittelystä, välittämisestä ja 
    452    tallentamisesta. 
    453  
    454      ---------------------------------------------------------------------- 
    455  
    456    PIC 
    457    Kuva 3.1: Projektissa kehitettävän 
    458    hätäilmoitusjärjestelmän prototyyppi. 
    459  
    460      ---------------------------------------------------------------------- 
    461  
    462   3.3 Tulokset 
    463  
    464    Tietojärjestelmän ohella projektiryhmä toteuttaa seuraavat 
    465    dokumentit: 
    466      * Ajankäyttöraportti sisältää ryhmän jäsenten 
    467        kirjaamat työtunnit sekä niiden jakautumisen eri 
    468        tehtäväkokonaisuuksille ja tehtäville. 
    469      * Asennusohjeet sisältää tietojärjestelmän eri 
    470        sovellusten asennusohjeet. 
    471      * Esittelymateriaali sisältää väli- ja loppuesittelyn 
    472        materiaalit ja muistiot. 
    473      * Itsearvioinnit sisältävät ryhmän jäsenten arvioinnit 
    474        omasta toiminnasta, onnistumisesta, kokemuksista ja oppimisesta. 
    475      * Lisenssisitoumuksella ryhmän jäsenet vahvistavat sitoutuvansa 
    476        sijoittamaan toteuttamansa lähdekoodin valitun avoimen 
    477        lähdekoodin lisenssin alaisuuteen. 
    478      * Luokkadokumentaatio sisältää lähdekoodista automaattisesti 
    479        generoidut luokkia kuvaavat dokumentit. 
    480      * Lähdekoodi sisältää lähdekoodin kommentteineen. 
    481      * Palaverien dokumentit sisältävät kokouksien esityslistat, 
    482        pöytäkirjat ja tilakatsaukset. 
    483      * Projektiraportti kuvaa projektin toteutunutta läpivientiä ja 
    484        asetettujen tavoitteiden saavuttamista. 
    485      * Projektisuunnitelma kuvaa projektin suunniteltuja tavoitteita, 
    486        resursseja, käytänteitä, tehtävien työmääriä ja 
    487        työnjakoa, aikataulua sekä riskien hallintaa. 
    488      * Sovellusraportti kuvaa toteutetun sovelluksen kokonaisrakenteen ja 
    489        toiminnot, puutteelliset ja heikot toteutusratkaisut sekä 
    490        jatkokehitysideat. 
    491      * Sähköpostiarkistot sisältävät kaikki projektin 
    492        sähköpostilistoilla käydyt keskustelut. 
    493      * Vaatimusmäärittely kuvaa projektin toiminnalliset ja tekniset 
    494        vaatimukset. 
    495  
    496   3.4 Oppimistavoitteet 
    497  
    498    Tietotekniikan Sovellusprojekti-opintojakson oppimistavoitteena on 
    499    projektimuotoisen työskentelyn oppiminen. Projektin kuluessa jäsenet 
    500    saavat käsityksen siitä, millaista ohjelmistoalan projektimuotoinen 
    501    ryhmätyö oikeasti on. Opiskelijat pääsevät myös 
    502    tutustumaan uusiin ohjelmointitekniikoihin asiantuntevassa 
    503    ympäristössä. Sovellusprojektin keskeinen asia on 
    504    käytännön tekemisen kautta oppiminen sekä aikaisemmilla 
    505    kursseilla opitun teoriatiedon soveltaminen. Jäsenet tulevat arvioimaan 
    506    omaa työskentelyään projektin lopussa. 
    507  
    508    Ryhmän jäsenet ovat asettaneet seuraavia henkilökohtaisia 
    509    oppimistavoitteita: 
    510      * Niko Mononen haluaa oppia ohjelmistoprojektin johtamista. 
    511      * Veli-Mikko Puupponen haluaa kokemusta projektimuotoisesta työtavasta 
    512        ja ryhmätyöskentelystä. 
    513      * Ilkka Rautiainen haluaa kehittää ohjelmointiosaamistaan. 
    514      * Atte Söderlund haluan oppia projektimuotoista työtapaa 
    515        kokonaisuudessaan. 
    516  
    517 Luku 4 
    518 Organisaatio ja resurssit 
    519  
    520    Luvussa esitellään projektiorganisaatio, käytössä olevat 
    521    resurssit sekä projektiin liittyvät oheiskurssit ja perehdytykset. 
    522  
    523   4.1 Projektiorganisaatio 
    524  
    525    Projektiryhmän muodostavat Niko Mononen, Veli-Mikko Puupponen, Ilkka 
    526    Rautiainen ja Atte Söderlund. Niko Monosella on aiempaa 
    527    ohjelmointikokemusta työelämästä ja omien ohjelmistoprojektien 
    528    kautta. Veli-Mikko Puupposella on myös ohjelmointikokemusta yliopiston 
    529    ohjelmointikurssien ja omien ohjelmistoprojektien kautta. Hänellä on 
    530    myös paljon tietämystä erilaisista tietojärjestelmistä, 
    531    mistä on hyötyä sovelluksen suunnittelu- ja toteutusvaiheessa. 
    532    Ilkka Rautiaisella on ohjelmointitaitoja yliopiston ohjelmointikursseilta. 
    533    Atte Söderlundilla on aiempaa kokemusta mobiiliohjelmoinnista. 
    534  
    535    Tilaajan edustajina toimivat Tero Tuovinen ja Vesa Lappalainen 
    536    tietotekniikan laitokselta. Jukka-Pekka Santanen on projektin vastaava 
    537    ohjaaja. Teknisiä ohjaajia ovat Olli Kauppinen ja Jaakko Kosonen. 
    538    Kosonen toimii ensisijaisena ohjaajana tietojärjestelmän 
    539    toteutusratkaisuihin liittyvissä asioissa. Kauppisella on 
    540    tietämystä kohdealueesta ja älypuhelinsovellusten 
    541    kehittämiseen liittyvää aiempaa kokemusta. 
    542    Projektin sidosryhmiin kuuluu myös hätäkeskusten, pelastusalan ja 
    543    ensihoidon asiantuntijoita, joita ovat mm. Helena Jäntti Kuopion 
    544    yliopistollisesta sairaalasta. 
    545  
    546    Jyväskylän yliopiston ATK-lähituki vastaa ryhmän 
    547    käytössä olevista laitteista ja ohjelmistoista. Projektiin 
    548    kuuluvan viestintäkurssin kirjoitusviestinnän opettajana toimii Timo 
    549    Nurmi ja puheviestinnän opettajana Hanna Kivimäki. 
    550  
    551   4.2 Projektin tilat ja laitteet 
    552  
    553    Projektiryhmä sai käyttöönsä tietotekniikan laitokselta 
    554    Agorasta huoneen C223.2, jossa on asennettuina neljä Windows 8 
    555    -työasemaa. Projektiryhmällä on käytössä myös palvelin 
    556    ja Lappalaisen projektiryhmälle lainaama Windows Phone 8 -puhelin. 
    557  
    558    Sovellusprojektien avotilassa on ryhmän käytössä 
    559    monitoimitulostin. Ryhmän jäsenet pystyvät tulostamaan projektiin 
    560    liittyvät dokumentit ilman maksuja. Ryhmällä on mahdollisuus 
    561    varata käyttöönsä videoprojektori, kannettava PC ja 
    562    digitaalisanelin. Projektiryhmällä on käytettävissä 
    563    virkistystila, jossa on vedenkeitin ja kahvinkeitin. Tietotekniikan laitos 
    564    tarjoaa ryhmälle kahvit, teet ja mehut. 
    565  
    566    Projektilla on käytössään yhteinen verkkolevy ja WWW-sivusto 
    567    projektin tiedostojen säilytystä varten. Verkkolevy on hakemistossa 
    568    \\sovpa7.cc.jyu.fi\halyri ja sivusto osoitteessa 
    569    http://sovellusprojektit.it.jyu.fi/halyri. 
    570  
    571    Projektin julkistetut dokumentit sijoitetaan trac-wikiin URL-osoitteeseen 
    572    https://trac.cc.jyu.fi/projects/sovproj/wiki/Halyri. 
    573  
    574    Trac on hyvin yksinkertainen WWW-pohjainen, alun perin 
    575    ohjelmistoprojektien tehtävien hallintaan tarkoitettu 
    576    järjestelmä. 
    577  
    578    Projektissa toteutettava lähdekoodi sijoitetaan git-pohjaiseen 
    579    YouSource-julkistusjärjestelmään osoitteeseen 
    580    https://yousource.it.jyu.fi/halyri/ 
    581  
    582    Projektilla on käytössä sähköpostilistat halyri@korppi.jyu.fi 
    583    ja 
    584    halyri_opetus@korppi.jyu.fi. Sähköpostilistojen arkistoista 
    585    https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri/ ja 
    586    https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri\_opetus/ 
    587     keskustelua voi lukea WWW-selaimella kirjautumalla 
    588    Korppi-opintotietojärjestelmään. 
    589  
    590   4.3 Dokumentointityökalut 
    591  
    592    Projektisuunnitelma ja projektiraportti laaditaan 
    593    LATEX-ladontaohjelmistolla. Microsoft Office -toimisto-ohjelmistolla 
    594    laaditaan palaverien esitysgrafiikat ja lisenssisitoumus. 
    595    Vaatimusmäärittelyn tekemisessä käytetään 
    596    freemind-ajatuskarttaohjelmaa. Palaverien pöytäkirjat laaditaan joko 
    597    Microsoft Word-ohjelmistolla tai LATEX-ladontaohjelmistolla. Projektin 
    598    aikataulu laaditaan GanttProject-ohjelmalla ja tehtävien työtunnit 
    599    Excel-taulukkolaskentaohjelmalla. Kaikki em. dokumentit pyritään 
    600    julkistamaan myös pdf-muodossa. Raakatekstimuodossa laaditaan muut 
    601    tekstidokumentit, kuten esityslistat. Luokkadokumentit generoidaan 
    602    lähdekoodista Doxygen-työkalulla. 
    603  
    604    Ajankäytön kirjaamiseen ja seurantaan ryhmällä on 
    605    käytössään Petri Heinosen sovellusprojekteille toteuttama 
    606    Excel-sovellus [1]. Lisäksi kyseisestä sovelluksesta laaditaan 
    607    tilakatsauksissa vaadittavat graafit. 
    608  
    609   4.4 Ohjelmointityökalut 
    610  
    611    Sovellukset toteutetaan Microsoftin Visual Studio 2013 -ohjelmalla ja 
    612    Windows Phone SDK-kehitystyökaluilla [4]. Projektiryhmä voi kuitenkin 
    613    toteuttaa osia sovelluksista eri tekniikoilla, jos se on tarpeellista. 
    614    Käytettyjä kirjastoja ovat SignalR sekä Microsoftin ASP.NET 
    615    Framework ja Entity Framework. Tietokantaohjelmisto on Microsoft SQL 
    616    Server, ja ohjelmointikielenä käytetään Microsoftin C#:a. 
    617  
    618   4.5 Luennot ja perehdytykset 
    619  
    620    Projektin rinnalla järjestetään kaksi oheiskurssia: 
    621    Sovellusprojektin hallintaa, viestintää ja työkaluja sekä 
    622    Projektiviestintä IT-alalla. Oheiskurssien työtunnit kirjataan omalle 
    623    tehtäväkokonaisuudelle työajanseurantasovelluksessa. 
    624  
    625    Kurssiin Sovellusprojektin hallintaa, viestintää ja työkaluja 
    626    sisältyvät seuraavat luennot: 
    627      * aloitusluento, 
    628      * vaatimusmäärittely, 
    629      * projektin johtaminen ja hallinta, 
    630      * käytettävyyspäivä, 
    631      * tekijänoikeus ja sopimukset sekä 
    632      * versiohallinta. 
    633  
    634    Kurssiin Projektiviestintä IT-alalla kuuluvat puhe- ja 
    635    kirjoitusviestinnän luentojen ja ryhmätöiden ohella projektissa 
    636    laadittujen dokumenttien kirjoitusasun ja rakenteen muokkauksen 
    637    työtunnit. Projektin aikana järjestettävät kaksi 
    638    väliesittelyä kuuluvat myös viestintäkurssiin. 
    639  
    640    Tarvittaessa sovellusprojektiin sisällytetään 
    641    perehdyttämistä projektiin liittyvistä työkaluista ja 
    642    tekniikoista sekä aihealueesta. 
    643  
    644 Luku 5 
    645 Projektin käytänteet 
    646  
    647    Luvussa kuvataan projektissa noudatettavia käytänteitä. 
    648    Nämä käytänteet edesauttavat projektin läpivientiä, 
    649    asetettujen tavoitteiden saavuttamista ja tulosten toteuttamista. 
    650    Käytänteiden tarkoitus on varmistaa, että projekti etenee 
    651    aikataulussa, ja projektin aikana toteutetut tulokset ovat korkealaatuisia 
    652    ja keskenään yhteneviä. 
    653  
    654   5.1 Tiedotus 
    655  
    656    Projektin tiedotuksesta projektiorganisaation sisällä vastaa 
    657    ensisijaisesti projektipäällikkö. Ryhmän jäsenet 
    658    kommunikoivat ensisijaisesti projektipäällikön kanssa, mutta 
    659    voivat kuitenkin vastuualueillaan välittää oleelliset asiat 
    660    eteenpäin koko projektiorganisaatiolle. Projektiorganisaatiolle 
    661    tiedotetaan vähintään projektissa kohdatuista haasteista ja 
    662    vaihtoehdoista sekä tehdyistä valinnoista, ratkaisuista ja 
    663    päätöksistä. 
    664  
    665    Projektiorganisaation sisäinen sähköpostilista 
    666    halyri@korppi.jyu.fi on tarkoitettu tilaajien edustajille ja ohjaajille 
    667    suunnattuun tiedotukseen. Sähköpostilistalle kuuluvat kaikki 
    668    projektiorganisaation jäsenet. Postilistalle lähetetyt viestit 
    669    tallentuvat sähköpostiarkistoon, joka löytyy osoitteesta 
    670    https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri. 
    671  
    672    Projektiryhmän jäsenten ja ohjaajien käytössä on myös 
    673    sähköpostilista 
    674    halyri_opetus@korppi.jyu.fi. Sen sähköpostiarkisto sijaitsee 
    675    osoitteessa 
    676    https://korppi.jyu.fi/kotka/servlet/list-_archive/halyri\_opetus/. 
    677    Sähköpostilistalla käsitellään sellaisia asioita, jotka 
    678    eivät ole merkityksellisiä tilaajalle. Tällaisia asioita ovat 
    679    esimerkiksi projektiryhmän sisäiset palaverit sekä erilaiset 
    680    opetukseen ja koulutukseen liittyvät asiat. 
    681  
    682    Ryhmän sisäinen tiedotus tapahtuu pääosin suullisesti, 
    683    sillä ryhmän jäsenet työskentelevät samassa tilassa ja ovat 
    684    yhteydessä toisiinsa. Tarvittaessa tiedotus ja keskustelu voidaan 
    685    ryhmän sisällä hoitaa sähköpostitse. 
    686  
    687   5.2 Palaverit 
    688  
    689    Projektiorganisaatio pyrkii pitämään yhteisen palaverin kerran 
    690    kahdessa viikossa. Seuraavan palaverin ajankohta päätetään 
    691    aina edellisessä palaverissa. 
    692  
    693    Palavereissa käsitellään edellisen palaverin jälkeen 
    694    tapahtuneita projektin etenemiseen vaikuttaneita asioita sekä tulevia 
    695    toimenpiteitä ja tarvittavia päätöksiä. Jokaisessa 
    696    palaverissa käydään läpi edellisen palaverin pöytäkirjaan 
    697    merkityt päätökset sekä osallistujille osoitetut toimenpiteet 
    698    ja niiden tila. Palavereissa projektipäällikkö esittää 
    699    tilakatsauksen, jossa esitetään projektiryhmän viikoittainen 
    700    ajankäyttö eri tehtäväkonaisuuksittain. 
    701  
    702    Palavereissa käsitellään myös toteutettavan sovelluksen 
    703    ominaisuuksia ja vaatimuksia, sekä niiden toteutusratkaisuja. 
    704    Palavereissa käsiteltävät asiat pyritään käymään 
    705    läpi niin perusteellisesti, että asiakkaan edustajat ja 
    706    projektiryhmän jäsenet ymmärtävät asiat samalla tavalla, 
    707    eikä väärinymmärryksiä pääse syntymään. Jos 
    708    projektiryhmällä on esittää sovelluksesta konkreettisia 
    709    käyttöliittymään liittyviä demoja tai prototyyppejä, ne 
    710    esitellään palavereissa. Palavereissa sovitaan myös projektiin 
    711    liittyvistä käytänteistä. 
    712  
    713    Ryhmän jäsenet toimivat vuorollaan palavereissa sihteerinä tai 
    714    puheenjohtajana siten, että kyseiset tehtävät kiertävät 
    715    ryhmän keskenään sopimassa järjestyksessä. Puheenjohtaja 
    716    johtaa keskustelua ja pitää huolen siitä, että palaveri etenee 
    717    esityslistan osoittamalla tavalla. Sihteeri laatii palaverista 
    718    pöytäkirjan, jonka hän toimittaa myöhemmin palaverin 
    719    puheenjohtajalle tarkastettavaksi. Kun pöytäkirja on puheenjohtajan 
    720    osalta hyväksytty, puheenjohtaja tai sihteeri toimittaa sen koko 
    721    projektiorganisaatiolle. Tämän lisäksi jokaisen ryhmän 
    722    jäsenen laatima ensimmäinen pöytäkirja toimitetaan myös 
    723    vastaavan ohjaajan ja kirjoitusviestinnän opettajan 
    724    esitarkastettavaksi. Pöytäkirja hyväksytetään seuraavassa 
    725    palaverissa, ja siihen voidaan tällöin esittää muutoksia. 
    726  
    727   5.3 Tiedostojen nimeäminen 
    728  
    729    Lähdekooditiedostojen nimeämisessä käytetään C#-kielen 
    730    yleisiä käytänteitä. Tiedostojen ja hakemistojen nimet 
    731    kirjoitetaan englanniksi. Lisäksi tiedostonimet kirjoitetaan aina 
    732    pienillä kirjaimilla ja välilyönnit korvataan alaviivoilla (_). 
    733    Lähdekoodissa ja dokumentoinnissa käytettyjen tekstitiedostojen 
    734    tallennusmerkistönä käytetään ensisijaisesti 
    735    UTF-8-koodausta. 
    736  
    737    Dokumenttitiedostot nimetään projektin nimen ohella niiden 
    738    sisältöä kuvaavilla nimillä. Julkistettaessa nimiin 
    739    lisätään versionumero luvussa 5.6 esitettyjen käytänteiden 
    740    mukaisesti. Esimerkiksi projektisuunnitelman pdf-tiedosto nimettäisiin 
    741    halyri_projektisuunitelma_[numero].[numero].[numero].pdf 
    742  
    743   5.4 Hakemistorakenne 
    744  
    745    Projektin tulokset tallennetaan CD-levylle ja projektin WWW-hakemistoon 
    746    päähakemiston alle seuraavan hakemistorakenteen mukaisesti: 
    747         dokumentit   
    748              ajankaytto   
    749              esittelyt   
    750              itsearvioinnit   
    751              projektiraportti   
    752              projektisuunnitelma   
    753              sovellusraportti   
    754              vaatimusmaarittely   
    755              lisenssisitoumus   
    756         palaverit   
    757              esityslistat   
    758              materiaalit   
    759              poytakirjat   
    760              tilakatsaukset   
    761              katselmoinnit   
    762         testaus   
    763              testausraportit   
    764              testaussuunnitelmat   
    765         sahkopostiarkistot   
    766              halyri   
    767              halyri_opetus   
    768         software   
    769            class_documentation   
    770            installation_documents   
    771            installation_files   
    772            source_code 
    773  
    774   5.5 Lähdekoodi 
    775  
    776    Projektissa toteutettava lähdekoodi sijoitetaan 
    777    YouSource-julkistusjärjestelmään. Sovelluksen lähdekoodi 
    778    kirjoitetaan noudattaen yleisiä C# -koodin käytänteitä [5]. 
    779    Lähdekoodin kommentoinnissa käytetään C#:n XML-tyylistä 
    780    käytäntöä. Kommentoinnissa käytetään XML-tyyliä, 
    781    jotta lähdekoodista voidaan generoida luokkadokumentaatio 
    782    Doxygen-ohjelmalla. Lähdekoodissa käytetyt aliohjelmat, luokat ja 
    783    muuttujat nimetään mahdollisimman kuvaavilla englanninkielisillä 
    784    nimillä. Myös koko lähdekoodin kommentointi toteutetaan 
    785    englanniksi. Usean sanan nimet kirjoitetaan CamelCasena ja lähdekoodiin 
    786    sallitaan enintään 80 merkkiä riviä kohden. 
    787  
    788    Seuraavassa on esimerkki edellä esitettyjen käytänteiden 
    789    mukaisesta C# -koodista. 
    790    /// The MIT License (MIT)   
    791    /// Copyright (C) 2014 Veli-Mikko Puupponen, Ilkka Rautiainen   
    792    ///   
    793    /// Permission is hereby granted, free of charge, to any person obtaining a copy 
    794      
    795    /// of this software and associated documentation files (the ~Software~), to 
    796      
    797    /// deal in the Software without restriction, including without limitation the 
    798      
    799    /// rights to use, copy, modify, merge, publish, distribute, sublicense,   
    800    /// and/or sell copies of the Software, and to permit persons to whom the 
    801      
    802    /// Software is furnished to do so, subject to the following conditions:   
    803    ///   
    804    /// The above copyright notice and this permission notice shall be included in 
    805      
    806    /// all copies or substantial portions of the Software.   
    807    ///   
    808    /// THE SOFTWARE IS PROVIDED ~AS IS~, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    809      
    810    /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    811      
    812    /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
    813      
    814    /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
    815      
    816    /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
    817      
    818    /// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 
    819      
    820    /// IN THE SOFTWARE.   
    821      
    822    using System;   
    823    using HalyriServer.Model.Transfer;   
    824    using HalyriServer.Services.Exceptions;   
    825      
    826    namespace HalyriServer.Controllers   
    827    {   
    828        /// <author>Veli-Mikko Puupponen, Ilkka Rautiainen</author>   
    829        /// <summary>   
    830        /// The singleton class manages active emergency connections (Connection). 
    831      
    832        /// It contains a dictionary for active connections and their   
    833        /// identifying GUIDs. All emergency connection states and life cycle methods 
    834      
    835        /// are handled by the class. It functions as a broker  between the mobile 
    836      
    837        ///  emergency connection client and the call center client.   
    838        /// </summary>   
    839        public class ConnectionController   
    840        {   
    841            private static readonly Lazy<ConnectionController> instance =   
    842                new Lazy<ConnectionController>(() => new ConnectionController()); 
    843      
    844            private DatabaseController databaseController;   
    845      
    846            /// <summary>   
    847            /// Returns the ConnectionController instance.   
    848            /// </summary>   
    849            public static ConnectionController Instance   
    850            {   
    851                get { return instance.Value; }   
    852            }   
    853      
    854            /// <summary>   
    855            /// The method generates a new GUID. It currently uses  Guid.NewGuid() of 
    856      
    857            /// .NET framework. No collision checking is performed. All-zero GUIDs are 
    858      
    859            /// not returned.   
    860            /// </summary>   
    861            /// <returns>A new GUID formatted as a string.</returns>   
    862            /// <example>   
    863            /// <pre name=~test~>   
    864            /// GetNewGuidStrig().length() > 0 === true;   
    865            /// GetNewGuidStrig().length() < 25 === true;   
    866            /// GetNewGuidStrig().length() == 25 === false;   
    867            /// </pre>   
    868            /// </example>   
    869            public string GetNewGuidStrig()   
    870            {   
    871                Guid guid;   
    872                do   
    873                    guid = Guid.NewGuid();   
    874                while (guid == Guid.Empty);   
    875                return guid.ToString();   
    876            }   
    877      
    878        }   
    879    } 
    880  
    881   5.6 Versiointi ja versiohallinta 
    882  
    883    Sovelluksen lähdekoodi sijoitetaan Git-pohjaiseen 
    884    YouSource-julkistusjärjestelmään, josta se on myös tilaajan 
    885    edustajien ja ohjaajien saatavilla. Kaikki sovellukseen ja projektiin 
    886    liittyvä julkistettu dokumentaatio säilytetään 
    887    trac-wikissä. 
    888  
    889    Dokumenttien versioissa tullaan käyttämään kolmiportaista 
    890    versionumerointia. 
    891    Ryhmän sisäiset versiot aloitetaan versionumerosta 0.0.1, ja kunkin 
    892    uuden version osalta kasvatetaan vähiten merkitsevää numeroa 
    893    yhdellä. Tällöin toinen versio on versionumeroltaan 0.0.2. 
    894    Projektiorganisaatiolle julkistettavien versioiden numerointi aloitetaan 
    895    versionumerosta 0.1.0. Seuraavat versiot numeroidaan kasvattamalla toisen 
    896    tason numeroa yhdellä. Ensimmäisen hyväksytyn version numero on 
    897    1.0.0, ja sitä seuraavissa hyväksytyissä versioissa kasvatetaan 
    898    toisen tason numeroa yhdellä. 
    899  
    900   5.7 Testaus 
    901  
    902    Toteutetun sovelluksen toiminnan verifiointi tapahtuu yksikkö- ja 
    903    järjestelmätestauksella. Yksikkötestaus toteutetaan testaamalla 
    904    yksittäiset aliohjelmat ja metodit ComTestin C#-versiolla [3], 
    905    mikäli se on mahdollista. Yksikkötestit laatii ja suorittaa 
    906    aliohjelman tekijä. 
    907  
    908    Järjestelmätestaukseen osallistuvat kaikki projektiryhmän 
    909    jäsenet.Testausdokumenttien vastuuhenkilö laatii järjestelmän 
    910    testaussuunnitelmat vaatimusmäärittelyn pohjalta, ja suoritettavista 
    911    testauskerroista laaditaan testausraportit. Testaussuunnitelma 
    912    sisältää eri testauskerroilla suoritettavat testitapaukset. 
    913    Testausraportissa kuvataan yksittäisellä testauskerralla 
    914    suoritettujen testitapausten tulokset, virheet ja mahdolliset puutteet. 
    915  
    916   5.8 Tulosten katselmoinnit ja hyväksyminen 
    917  
    918    Ryhmän projektissa kirjoittama lähdekoodi tullaan katselmoimaan 
    919    vähintään kaksi kertaa projektin aikana. Katselmointiin 
    920    osallistuu teknisen ohjaajan lisäksi koko projektiryhmä, ja 
    921    projektiryhmä kirjaa katselmoinnin havainnot muistioksi. 
    922    Katselmoinnissa tekninen ohjaaja kommentoi lähdekoodia antaen 
    923    vinkkejä ja parannusehdotuksia. Tekninen ohjaaja myös hyväksyy 
    924    lähdekoodin joko viimeisessä katselmoinnissa tai sähköpostitse. 
    925  
    926    Projektin lopussa tulokset kokonaisuutena hyväksytetään projektin 
    927    ohjaajilla ja tilaajan edustajilla. Yksittäisistä tuloksista 
    928    tilaajan edustajan hyväksyntä tarvitaan vähintään 
    929    toteutetuille sovelluksille, sovellusraportille ja 
    930    vaatimusmäärittelylle. Tekninen ohjaaja hyväksyy lähdekoodin 
    931    yhdessä tilaajan edustajan kanssa. Vastaava ohjaaja hyväksyy 
    932    projektin keskeisimmät dokumentit, joita ovat projektisuunnitelma, 
    933    projektiraportti, sovellusraportti ja vaatimusmäärittely. 
    934    Projektisuunnitelma ja projektiraportti, sovellusraportti sekä 
    935    vaatimusmäärittely hyväksytään projektipäällikön, 
    936    tilaajan edustajan ja projektin vastaavan ohjaajan allekirjoituksilla. 
    937  
    938   5.9 Tulosten koostaminen ja toimittaminen 
    939  
    940    Projektiryhmä kokoaa projektin tulokset projektikansioon ja CD-levylle. 
    941    Projektikansioon kerätään kaikki projektissa laaditut dokumentit 
    942    ja lähdekoodi. Lisäksi sähköpostiarkistot, tiivistetty 
    943    projektin kuvaus ja jäsenten itsearvioinnit liitetään 
    944    projektikansioon ja CD-levylle. CD-levylle tallennetaan edellisten 
    945    lisäksi myös kehitetty ajettava sovellus ml. asennuspaketti ja 
    946    asennusohjeet. 
    947  
    948    CD-levy koostetaan vasta, kun kaikki projektin tulokset on hyväksytty. 
    949    Tulokset toimitetaan tilaajalle CD-levyllä. Laitokselle toimitetaan 
    950    projektikansio, joka sisältää projekti-CD:n. Kolmas CD-levy 
    951    toimitetaan laitoksen arkistoon. Projektikansio sijoitetaan projektitilan 
    952    kokoushuoneessa olevaan kirjahyllyyn. 
    953  
    954    Projektissa käytetty palvelin siirretään projektin 
    955    päätyttyä tilaajan haltuun. Tietojärjestelmän 
    956    viimeisimmät versiot ovat saatavilla YouSourcesta osoitteesta 
    957    https://yousource.it.jyu.fi/halyri/ 
    958  
    959 Luku 6 
    960 Tehtävät, työmäärät ja työnjako 
    961  
    962    Luvussa määritellään projektiryhmän jäsenten 
    963    vastuualueet sekä eri tehtävien työmäärät ja työnjako. 
    964  
    965   6.1 Vastuualueet 
    966  
    967    Projektipäällikkönä toimii Niko Mononen ja 
    968    varapäällikkönä Atte Söderlund. Projektipäällikön 
    969    vastuulle kuuluvat projektin suunnittelu ja hallinta sekä 
    970    ajankäytön seuranta. Projektipäällikkö vastaa myös 
    971    projektisuunnitelman ja projektiraportin laatimisesta. 
    972    Projektipäällikön tehtäviin kuuluu lisäksi projektin tilan 
    973    seuranta ja poikkeamiin reagoiminen. Jos projektipäällikkö ei 
    974    jostain syystä pysty hoitamaan jotain edellä mainituista 
    975    tehtävistä, vastuu siirtyy varapäällikölle. 
    976  
    977    Ryhmä jakaa tehtäviä monipuolisesti siten, että kaikki 
    978    tekevät ainakin jossain vaiheessa projektia suunnittelua, toteutusta ja 
    979    testausta. Tällöin kukin projektiryhmän jäsen saa kokemusta em. 
    980    kehitysprosessin tehtäväkokonaisuuksista. Tuloksille on alustavasti 
    981    nimetty vastuuhenkilöt taulukossa 6.1. 
    982  
    983      ---------------------------------------------------------------------- 
    984  
    985    +------------------------------------------------------------------------+ 
    986    |  ------------------------------------------  |  ---------------------  | 
    987    |Tulos                                         |Vastuuhenkilö          | 
    988    |  ------------------------------------------  |  ---------------------  | 
    989    |Hätäkeskussovellus                      |Ilkka Rautiainen         | 
    990    |  ------------------------------------------  |  ---------------------  | 
    991    |Käyttöliittymät                       |Atte Söderlund         | 
    992    |  ------------------------------------------  |  ---------------------  | 
    993    |Mobiilisovellus                               |Atte Söderlund         | 
    994    |  ------------------------------------------  |  ---------------------  | 
    995    |Palvelinsovellus                              |Veli-Mikko Puupponen     | 
    996    |  ------------------------------------------  |  ---------------------  | 
    997    |Projektisuunnitelma                           |Niko Mononen             | 
    998    |  ------------------------------------------  |  ---------------------  | 
    999    |Projektiraportti                              |Niko Mononen             | 
    1000    |  ------------------------------------------  |  ---------------------  | 
    1001    |Sovellusraportti                              |Atte Söderlund         | 
    1002    |  ------------------------------------------  |  ---------------------  | 
    1003    |Testausdokumentit                             |Ilkka Rautiainen         | 
    1004    |  ------------------------------------------  |  ---------------------  | 
    1005    |Tietokanta                                    |Veli-Mikko Puupponen     | 
    1006    |  ------------------------------------------  |  ---------------------  | 
    1007    |Vaatimusmäärittely                      |Veli-Mikko Puupponen     | 
    1008    |  ------------------------------------------  |  ---------------------  | 
    1009    +------------------------------------------------------------------------+ 
    1010  
    1011    Taulukko 6.1: Olennaisten tulosten vastuuhenkilöt 
    1012  
    1013      ---------------------------------------------------------------------- 
    1014  
    1015    Vastuuhenkilö vastaa kyseisen tuloksen etenemisestä ja laadusta. 
    1016    Dokumentointia toteutetaan koko projektin ajan tasaisesti, jotta kaikki 
    1017    oleellinen saadaan kirjattua. Dokumentit laaditaan koko projektiryhmän 
    1018    voimin siten, että kukin laatii vähintään yhtä dokumenttia. 
    1019  
    1020   6.2 Työnositus ja työmäärä 
    1021  
    1022    Projektiryhmä käyttää projektiin 250 tuntia kutakin 
    1023    jäsentä kohden, joten koko ryhmän työtunnit ovat yhteensä 
    1024    1000 tuntia. Työmäärä vastaa kymmentä opintopistetta ja noin 
    1025    14 tuntia viikossa jäsentä kohden. Lisäksi kukin 
    1026    projektiryhmän jäsen käyttää yhteensä 70 tuntia 
    1027    oheiskursseihin. Projektin työmäärä jakautuu tehtävittäin 
    1028    ja jäsenten kesken kuvien 6.1 ja 6.2 mukaisesti. Suunnittelun ja 
    1029    toteutuksen työnositus perustuu kehitettävän 
    1030    tietojärjestelmän kokonaisrakenteeseen. Tehtävien jaossa on 
    1031    otettu huomioon jokaisen projektin jäsenen vastuualue. 
    1032  
    1033    Työmäärien suunittelussa on huomioitu kehitettävän 
    1034    tietojärjestelmän rakenne, projektin jäsenten taidot ja 
    1035    aikataulut sekä projektin aikataulu. Työmäärien 
    1036    järkevyyttä on pohdittu vertailemalla Paatti-projektin [2] 
    1037    suuniteltuja- ja toteutuneita työmääriä. 
    1038  
    1039      ---------------------------------------------------------------------- 
    1040  
    1041    PIC 
    1042    Kuva 6.1: Työajankäyttösuunnitelma tehtäväkokonaisuuksittain 
    1043    1/2. 
    1044  
    1045      ---------------------------------------------------------------------- 
    1046  
    1047      ---------------------------------------------------------------------- 
    1048  
    1049    PICPICPIC 
    1050    Kuva 6.2: Työajankäyttösuunnitelma tehtäväkokonaisuuksittain 
    1051    2/2. 
    1052  
    1053      ---------------------------------------------------------------------- 
    1054  
    1055 Luku 7 
    1056 Prosessi ja aikataulu 
    1057  
    1058    Luvussa kuvataan projektissa noudatettavaa prosessia ja suunniteltua 
    1059    aikataulua. 
    1060  
    1061   7.1 Prosessi 
    1062  
    1063    Projektin alussa on määrittelyn ja suunnittelun vaihe. Siinä 
    1064    suunnitellaan projektin läpivienti, kartoitetaan järjestelmän 
    1065    vaatimukset ja laaditaan vaatimusmäärittely sekä hahmotellaan 
    1066    sovelluksen käyttöliittymää, rakennetta ja arkkitehtuuria. 
    1067  
    1068    Ensimmäisessä kehitysvaiheessa toteutetaan mobiilisovelluksen, 
    1069    palvelimen ja hätäkeskuksen käyttöliittymän runko hyvin 
    1070    pienellä määrällä toivotuista toiminnoista. Kun runko on 
    1071    kasassa ja todettu toimivaksi, aletaan siihen toteuttamaan lisää 
    1072    ominaisuuksia vaatimusmäärittelyn pohjalta kahden viikon vaiheissa. 
    1073    Ohjelmistokehitysvaiheita on yhteensä viisi. Vaiheen aloittavassa 
    1074    palaverissa esitellään tämän hetkistä sovellusta ja 
    1075    päätetään tilaajan kanssa, mitä uusia ominaisuuksia 
    1076    kehitetään seuraavaksi. Jokaiseen vaiheeseen sisältyy ohjelmiston 
    1077    suunnittelua, toteutusta ja testausta. Projektin lopuksi on tulosten 
    1078    viimeistelyn ja raportoinnin vaihe. 
    1079  
    1080   7.2 Aikataulu 
    1081  
    1082      ---------------------------------------------------------------------- 
    1083  
    1084    PIC 
    1085    Kuva 7.1: Projektin Gantt-kaavio. 
    1086  
    1087      ---------------------------------------------------------------------- 
    1088  
    1089    Kuvassa 7.1 on esitelty projektin suunniteltu aikataulu. Projekti alkoi 
    1090    21.1.2014, ja se päättyy viimeistään toukokuun puolessa 
    1091    välissä. Ensimmäinen yksinkertainen prototyyppi on valmis 10.4. 
    1092    järjestettävään palaveriin mennessä, jonka jälkeen 
    1093    kahden viikon vaiheissa toteutetaan lisää ominaisuuksia palavereissa 
    1094    sovitun mukaisesti. Toukokuussa ei toteuteta uusia ominaisuuksia, vaan 
    1095    keskitytään ohjelmiston, lähdekoodin ja dokumentaation 
    1096    viimeistelyyn. 
    1097  
    1098 Luku 8 
    1099 Riskit ja riskien hallinta 
    1100  
    1101    Luvussa kuvataan projektissa tiedostetut riskit ja niiden vaikutukset 
    1102    projektin tuloksiin tai läpivientiin. Lisäksi kuvataan toimia niiden 
    1103    ennakoimiseksi ja ehkäisemiseksi sekä niistä toipumiseen. 
    1104  
    1105   8.1 Riskien todennäköisyydet ja haitat 
    1106  
    1107    Riskien todennäköisyydet ja niistä seuraavat haittavaikutukset on 
    1108    arvioitu taulukossa 8.1. Todennäköisyyttä ja haittavaikutusta 
    1109    arvioidaan asteikolla pieni, keskinkertainen ja suuri. 
    1110  
    1111      ---------------------------------------------------------------------- 
    1112  
    1113    +------------------------------------------------------------------------+ 
    1114    |  -------------------------------  |  ----------------  |  -----------  | 
    1115    |Riski                              |Todennäköisyys |Haittavaikutus | 
    1116    |  -------------------------------  |  ----------------  |  -----------  | 
    1117    |  -------------------------------  |  ----------------  |  -----------  | 
    1118    |Alustan rajoitukset                |keskinkertainen     |suuri          | 
    1119    |  -------------------------------  |  ----------------  |  -----------  | 
    1120    |Kehittäjien tietotaidon puutteet|keskinkertainen     |keskinkertainen| 
    1121    |  -------------------------------  |  ----------------  |  -----------  | 
    1122    |Tavoitteiden rajaaminen            |keskinkertainen     |keskinkertainen| 
    1123    |  -------------------------------  |  ----------------  |  -----------  | 
    1124    |Tiedotuksen puutteet               |pieni               |keskinkertainen| 
    1125    |  -------------------------------  |  ----------------  |  -----------  | 
    1126    |Jäsenten poissaolot             |keskinkertainen     |pieni          | 
    1127    |  -------------------------------  |  ----------------  |  -----------  | 
    1128    |Kokemattomuus projektihallinnassa  |keskinkertainen     |pieni          | 
    1129    |  -------------------------------  |  ----------------  |  -----------  | 
    1130    +------------------------------------------------------------------------+ 
    1131  
    1132    Taulukko 8.1: Arvioitujen riskien todennäköisyys ja haittavaikutus. 
    1133  
    1134      ---------------------------------------------------------------------- 
    1135  
    1136   8.2 Alustan rajoitukset 
    1137  
    1138    Projektiryhmä joutuu päättämään yhdessä tilaajan 
    1139    edustajien kanssa, mille alustoille tietojärjestelmään kuuluvat 
    1140    sovellukset toteutetaan projektin aikana. Koska alustat ovat hyvin 
    1141    erilaisia, voi jonkin ominaisuuden toteuttaminen vaatia huomattavasti 
    1142    enemmän resursseja kuin jollakin toisella alustalla. Alustan valinnasta 
    1143    riippuen joitakin tietojärjestelmältä vaadittuja ominaisuuksia 
    1144    saatetaan joutua rajaamaan projektin ulkopuolelle. 
    1145  
    1146    Riskiä ehkäistään tutustumalla etukäteen eri alustoihin 
    1147    mahdollisimman hyvin. Riskin toteutuessa on mahdollista vaihtaa 
    1148    käytettävää alustaa tai rajata joitakin toteutettavia 
    1149    ominaisuuksia projektin ulkopuolelle. 
    1150  
    1151   8.3 Kehittäjien tietotaidon puutteet 
    1152  
    1153    Ohjelmiston toteutuksessa käytetään monia eri työkaluja ja 
    1154    tekniikoita, joista projektiryhmän jäsenillä ei ole aikaisempaa 
    1155    kokemusta. Näin ollen ryhmä ei aina osaa ennakoida mahdollisia 
    1156    ongelmakohtia. Tietotaidon puute voi vaikeuttaa tavoitteiden toteuttamista 
    1157    ja viivästyttää projektin aikataulua. 
    1158  
    1159    Riskin ehkäisemiseksi ryhmän jäsenet tutustuvat 
    1160    käytettäviin työkaluihin ja tekniikoihin. Ongelmia kohdatessa 
    1161    ryhmän jäsenten tietoa pyritään hyödyntämään 
    1162    keskustelemalla ongelmasta. Ongelmatilanteissa projektiryhmällä on 
    1163    myös käytettävissään kaksi teknistä ohjaajaa ja 
    1164    asiantuntijoita. 
    1165  
    1166   8.4 Tavoitteiden rajaaminen 
    1167  
    1168    Tilaajan edustajien tavoitteet poikkeavat toisistaan, ja niissä 
    1169    painotetaan eri asioita, joten vaatimusmäärittelyn laatimiseen on 
    1170    kiinnitettävä paljon huomiota. Ryhmän muodostama kuva ohjelmiston 
    1171    tavoitteista voi erota tilaajan toiveista ja tarpeista. Tällöin 
    1172    tietojärjestelmä ei tule projektin päättyessä 
    1173    sisältämään kaikkia vaatimusmäärittelyssä kuvattuja 
    1174    ominaisuuksia. 
    1175  
    1176    Riskin ehkäisemiseksi projektiryhmä joutuu projektin alussa 
    1177    käyttämään paljon aikaa sovittaakseen tilaajan näkemykset 
    1178    yhtenäiseksi vaatimusmäärittelyksi [6]. Ennen kuin ohjelmiston 
    1179    toteutus aloitetaan, pitää projektiryhmällä ja tilaajalla olla 
    1180    selkeä kuva siitä, mitä ohjelmiston osia ja toimintoja on 
    1181    mahdollista saada projektin aikana valmiiksi. Vaatimusmäärittelyyn 
    1182    tulee kirjata vähintään projektissa toteutettavat vaatimukset ja 
    1183    priorisoida ne. 
    1184  
    1185    Sovittujen tavoitteiden muuttuessa täytyy ryhmän ja tilaajan 
    1186    yhdessä päättää, mitä vaatimusmäärittelyn 
    1187    vaatimuksia voidaan siirtää jatkokehitykseen, jotta uudet tavoitteet 
    1188    voidaan toteuttaa pysyen aikataulussa. Jos projektin kuluessa huomataan, 
    1189    että vaatimusmäärittelyn priorisointi on liian optimistinen ja 
    1190    kaikkia luvattuja vaatimuksia ei ehditä toteuttaa, täytyy ryhmän 
    1191    ja tilaajan yhdessä päättää, mitä 
    1192    vaatimusmäärittelyn vaatimuksia voidaan siirtää pienemmälle 
    1193    prioriteetille. 
    1194  
    1195   8.5 Tiedotuksen puutteet 
    1196  
    1197    Projektiorganisaatiossa tiedonkulku on tärkeää. Tiedotuksen 
    1198    puutteet voivat vaarantaa koko projektin aikataulussa pysymisen tai 
    1199    tulokset eivät vastaa tilaajan kokonaistavoitteita. 
    1200  
    1201    Riskin ehkäisemiseksi ryhmän jäsenten tiedotuksen täytyy olla 
    1202    riittävää, jotta jokainen projektiorganisaation jäsen pysyy 
    1203    ajantasalla projektin kulusta ja omista tehtävistään projektin 
    1204    eteenpäin viemiseksi. Ehkäisykeinoja muodostuville ongelmille on 
    1205    kuvattu luvuissa 5.1 ja 5.2. Jos projektin tiedotuksessa havaitaan 
    1206    puutteita, projektipäällikön täytyy pystyä havaitsemaan 
    1207    ongelmat ja pyytää asianomaisia parantamaan tiedottamistaan. 
    1208    Jokaisen projektiorganisaation jäsenen täytyy tiedottaa havaituista 
    1209    ongelmista ja valmistuneista tehtävistä asiaankuuluville 
    1210    henkilöille. 
    1211  
    1212   8.6 Jäsenten poissaolot 
    1213  
    1214    Ryhmän yhdellä tai useammalla jäsenellä voi olla suunniteltuja 
    1215    (kuten esimerkiksi matka) tai ennakoimattomia (kuten sairastuminen) 
    1216    poissaoloja. Ryhmän jäsenten poissaolot saattavat hidastaa 
    1217    ohjelmiston kehitystä. 
    1218  
    1219    Riskin ehkäisemiseksi suunnitellut poissaolot huomioidaan tehtävien 
    1220    jaossa etukäteen. Lyhyet poissaolot voidaan ratkaista työtuntien 
    1221    tasaamisella poissaolon jälkeen, ja pidemmän poissaolon tapauksessa 
    1222    asiasta keskustellaan projektin ohjaajan kanssa. Jos poissaolo vaikuttaa 
    1223    projektin aikatauluun tai tuloksiin, täytyy asiasta keskustella 
    1224    tilaajan kanssa ja neuvotella muutoksista toteutettaviin vaatimuksiin. 
    1225  
    1226   8.7 Kokemattomuus projektihallinnassa 
    1227  
    1228    Projektipäälliköllä ei ole aiempaa kokemusta projektin 
    1229    läpiviemisestä päällikkönä, joten työmäärien ja 
    1230    aikataulun arvioiminen on vaikeaa. Kokemattomuudesta johtuen 
    1231    työtehtävien tasainen jakaminen ryhmän jäsenille ja ryhmän 
    1232    jäsenten taitojen hyödyntäminen ei välttämättä ole 
    1233    ihanteellista. 
    1234  
    1235    Riskien ehkäisemisessä ja siitä toipumisessa ryhmän 
    1236    jäsenten apu projektipäälliköille on ensiarvoisen 
    1237    tärkeää. Lisäksi mahdollisten ongelmien havainnoinnissa 
    1238    auttavat tilakatsaukset ja projektiryhmän keskinäiset tapaamiset. 
    1239  
    1240    Ryhmän jäsenten täytyy muistaa, että projektipäällikkö 
    1241    on myös oppimassa projektin johtamista. Projektiryhmän 
    1242    jäsenillä on velvollisuus huomauttaa, jos projekti ei etene oikeaan 
    1243    suuntaan. Ryhmän jäsenten täytyy lisäksi olla oma-aloitteisia 
    1244    ja huomauttaa, jos jotkin tehtävät jäävät tekemättä. 
    1245    Jos projektin hallinnassa esiintyy ongelmia, täytyy niistä 
    1246    keskustella vastaavan ohjaajan kanssa. 
    1247  
    1248 Luku 9 
    1249 Yhteenveto 
    1250  
    1251    Hälyri-projekti suorittaa alustavan toteutettavuuskartoituksen ja 
    1252    kehittää hätätietojärjestelmän prototyypin 
    1253    Sovellusprojekti-kurssilla keväällä 2014. Projektin tulokset 
    1254    luovutetaan tilaajalle toukokuun lopussa. 
    1255  
    1256    Kehitettävä prototyyppi on laaja ja monimutkainen, joten 
    1257    tietojärjestelmän sovellusten ominaisuuksien priorisointiin on 
    1258    kiinnitettävä erityisen paljon huomiota. Projektin onnistumisen 
    1259    esteenä olevat suurimmat riskit liittyvät alustan rajoituksiin, 
    1260    kehittäjien tietotaidon puutteisiin ja tavoitteiden rajaamiseen. 
    1261    Projektissa kehitettävän prototyypin pohjalta tullaan 
    1262    kehittämään tietojärjestelmästä pilottiversio, joten 
    1263    projektissa laadittuja dokumentteja tullaan hyödyntämään 
    1264    myöhemmin. 
    1265  
    1266    Tietojärjestelmän toteutuksen kokemuksen lisäksi sovellusprojekti 
    1267    antaa projektiryhmän jäsenille kattavan käsityksen 
    1268    ohjelmistoprojektissa työskentelystä sekä sen vaatimuksista ja 
    1269    työtavoista. Ryhmän jäsenet oppivat asioita käytännön 
    1270    tekemisen kautta sekä soveltavat aikaisemmilta kursseilta oppimaansa 
    1271    teoriatietoja ja taitoja. 
    1272  
    1273 Luku 10 
    1274 Lähteet 
    1275  
    1276    [1]   Petri Heinonen, "Ajankäytönseurantasovellus", saatavilla 
    1277    Excel-muodossa <URL: 
    1278    http://appro.mit.jyu.fi/tools/ajankaytto/ajankaytonseuranta.xls>, 
    1279    Jyväskylän yliopisto, informaatioteknologian tiedekunta, viitattu 
    1280    23.2.2014. 
    1281  
    1282    [2]   Tapio Keränen, Toni Salminen, Jari Salokangas ja Lauri 
    1283    Satokangas, "Paatti-projekti", saatavilla PDF-muodossa <URL: 
    1284    http://sovellusprojektit.it.jyu.fi/paatti/>, Jyväskylän yliopisto, 
    1285    tietotekniikan laitos, 2012. 
    1286  
    1287    [3]   Tomi Karppinen, "ComTest for C#", saatavilla WWW-osoitteessa <URL: 
    1288    https://trac.cc.jyu.fi/projects/comtest/wiki/ComTestCsharp>, 
    1289    Jyväskylän yliopisto, tietotekniikan laitos, 14.2.2014. 
    1290  
    1291    [4]   Microsoft, "Windows Phone SDK", saatavilla WWW-osoitteessa <URL: 
    1292    http://dev.windowsphone.com/en-_us/>, Microsoft, 2014. 
    1293  
    1294    [5]   Microsoft, "C# Programming Guide", saatavilla WWW-osoitteessa <URL: 
    1295    http://msdn.microsoft.com/en-_us/library/67ef8*d.aspx>, Microsoft, 2014. 
    1296  
    1297    [6]   Niko Mononen, Veli-Mikko Puupponen, Ilkka Rautiainen ja Atte 
    1298    Söderlund, "Hätäilmoitustietojärjestelmän 
    1299    vaatimusmäärittely", saatavilla WWW-osoitteessa <URL: 
    1300    https://trac.cc.jyu.fi/projects/sovproj/wiki/Halyri/Vaatimusmaarittely>, 
    1301    Jyväskylän yliopisto, tietotekniikan laitos, 2014. 
    1302  
    1303    [7]   Jukka-Pekka Santanen, "Tietotekniikan Sovellusprojektien ohje", 
    1304    saatavilla WWW-osoitteessa <URL: 
    1305    http://www.mit.jyu.fi/opetus/sovellusprojektit/projohje.html>, 
    1306    Jyväskylän yliopisto, tietotekniikan laitos, 29.1.2013. 
    13072 
    13083== Projektisuunitelma ==