Kaakkuri

Tietotekniikan sovellusprojekti

Petteri Kela
Antti Pokela
Santtu Salmi
Matti Suomalainen

Projektisuunnitelma

14. joulukuuta 2004

Versio 1.0



Tietoja Kaakkuri-projektista

Tekijät:                       Petteri Kela, PK, (kapekela@cc.jyu.fi)
Antti Pokela, AP,
(anpokela@cc.jyu.fi)
Santtu Salmi, SS,
(ssalmi@cc.jyu.fi)
Matti Suomalainen, MS,
(msuomal@cc.jyu.fi)

Tilaaja:                        Jyväskylän yliopisto, tietotekniikan laitos

Tilaajan edustajat:     Päivi Jämsen, (pjamsen@mit.jyu.fi)
Vesa Lappalainen (vesal@mit.jyu.fi)

Vastaava ohjaaja:       Lari Kannisto (kalahe@mit.jyu.fi)

Tekninen ohjaaja:       Arto Rikalainen (artturi@cc.jyu.fi)

Käytettävyyskonsultit:

                                    Ville Haapsaari (vjhaaps@cc.jyu.fi)
Jukka Partanen
(jpartan@cc.jyu.fi)

Yhteystiedot:              Työtila AgC222.2, puhelin (014) 260 4963

Kotisivu:                     http://sovellusprojektit.it.jyu.fi/kaakkuri/

Postilista:                    kaakkuri@korppi.jyu.fi

Tiivistelmä:                Tämä projektisuunnitelma kuvaa Jyväskylän Yliopiston tietotekniikan laitokselle toteutettavan Kaakkuri-sovellusprojektin läpivientiä. Dokumentissa kerrotaan projektin yhteystiedot, projektin käytännöistä, aikataulusta sekä kuvataan projektin taustoja ja tavoitteita, sekä käsitellään riskien hallintaa.

 


Versiohistoria

Versio

Päiväys

Tekijä

Muutokset

0.1

29.10.2004

AP

Ensimmäinen versio.

0.2

5.11.2004

AP, MS

-Lisätty aikataulusuunnitelma ja Gantt-kaavio.

0.3

22.11.2004

AP, MS

-Lisätty dokumenttien katselmointimenettely lukuun 6.

-Lisätty lukuun 6 kappale versionhallinnan käytöstä.

-Lisätty lähdeluettelo.

-Lisätty käytettävyyskonsulttien tiedot.

-Tarkennettu muiden laitosten menettelytapaa lukujärjestyksen suunnittelussa lukuun 4.2.

-Lisätty maininta Javadoc-työkalun käytöstä.

-Tarkennettu projektin ja kurssin ajankäyttöä.

-Talukoille ja kuville lisätty otsikot.

-Korjattu pienempiä kielioppi ym. Virheitä.

0.4

25.11.2004

AP

-Lisätty tilaajat, ohjaajat ja käytettävyyskonsultit projektin yhteenvetosivulle.

-Muokattu yhteenvetosivulla olevaa tiivistelmää.

-Merkitty muutetut kohdat versiohistoriaan tarkemmin.

-Vaihdettu luvun 6.3 otsikon sana Katselmoinnit muotoon Dokumenttien hyväksymisprosessi.

-Korjattu pienempiä asiavirheitä ja muotoilua.

-Lisätty yhteenvetoluku

1.0

14.12.2004

AP

-Korjattu pari väärää fonttia ja muita pienempiä muotoiluja.


Sisällysluettelo

1      Johdanto. 1

2      Termejä. 2

3      Projektin organisaatio ja resurssit 3

3.1       Henkilöt ja yhteystiedot 3

3.2       Työtilat ja laitteet 4

4      Projektin taustaa. 4

4.1       Projektin tarkoitus. 4

4.2       Nykyinen menettelytapa. 4

5      Projektin tavoitteet 6

5.1       Tavoitteet sovelluksen osalta. 6

5.2       Oppimistavoitteet 6

6      Projektin käytännöt 7

6.1       Kokouskäytäntö. 7

6.2       Dokumentointi 8

6.3       Dokumenttien hyväksymisprosessi 8

6.4       Versionhallinta. 9

7      Työnjako. 9

8      Projektin aikataulu. 11

9      Riskien arviointi ja hallinta. 13

9.1       Puutteet suunnittelussa. 13

9.2       Tuntematon ohjelmointiympäristö. 13

9.3       Sairastumiset 13

9.4       Laitteisto. 14

9.5       Testauksen riittämättömyys. 14

9.6       Riskien todennäköisyys ja vakavuus. 14

10        Yhteenveto. 16


1           Johdanto

Kaakkuri on Jyväskylän yliopiston tietotekniikan laitoksella toteutettava sovellusprojekti. Projekti toteuttaa tietotekniikan laitokselle sovelluksen, jonka avulla voidaan laatia lukukauden luentolukujärjestys. Lukujärjestyksen laatimiseksi täytyy ottaa huomioon useita rajoitteita, jotka hankaloittavat suunnittelutyötä. Toteutettavan sovelluksen on tarkoitus helpottaa tätä suunnittelutyötä, sekä mahdollistaa salivarausten tekemisen suoraan Korppi-järjestelmään.

Tässä projektisuunnitelmassa kuvataan projektin vaiheita, taustoja, resursseja, aikataulua, työnjakoa sekä käytännön järjestelyjä projektin läpiviemiseksi.

Luvussa 2 esitellään tässä projektisuunnitelmassa esiintyviä termejä ja lyhenteitä. Luvusta 3 ilmenee projektiin liittyvät henkilöt, ja projektin käytettävissä olevat resurssit. Neljännessä luvussa esitellään projektin taustaa. Tämä pitää sisällään kuvauksen nykyisistä toimintatavoista, ja selventää sitä, miksi projekti on aloitettu. Luvussa 5 käydään läpi projektin tavoitteita niin toteutettavan sovelluksen, kuin oppimistavoitteidenkin osalta. Luku 6 sisältää kuvauksen dokumentoinnissa ja kokouksissa käytettävistä periaatteista ja käytännöistä. Luvussa 7 kuvataan projektin työnjakoa ja luvussa 8 käydään läpi projektin tarkempaa aikataulua. Luku 9 sisältää tietoa mahdollisista projektiin liittyvistä riskeistä, niiden hallinnasta ja arvioinnista.


2           Termejä

Luvussa selitetään muutamia aihealueeseen liittyviä termejä ja lyhenteitä.

Bugzilla               Järjestelmä, jonka avulla voidaan pitää kirjaa sovellukselta vaadittavista ominaisuuksista ja löydetyistä virheistä.

CVS                     (Concurrent Version System) Sovelluskehityksen apuna käytettävä versionhallintajärjestelmä. Järjestelmä helpottaa ohjelmistojen versionhallintaa ja mahdollistaa mm. minkä tahansa aikaisemman version palauttamisen. Lisäksi useampi henkilö voi samanaikaisesti kehittää ohjelmistoa muokkaamalla samoja lähdekooditiedostoja.

Java                    Java on oliopohjainen, laitteistoriippumaton ohjelmointikieli, mikä mahdollistaa Javalla kirjoitettujen sovellusten ajamisen useilla eri laitteistoarkkitehtuureilla.

Korppi                 Korppi on opintotietojärjestelmä, joka tarjoaa tietoa ja työvälineitä mm. opiskelijoille ja opettajille. Korppi-järjestelmän avulla voidaan mm. ilmoittautua kursseille ja tentteihin, varata opetusta varten saleja ja muita työvälineitä. Korppi-järjestelmä löytyy osoitteesta: https://korppi.jyu.fi/


3           Projektin organisaatio ja resurssit

Tässä luvussa esitellään projektiorganisaatiota ja käytettävissä olevat materiaaliresurssit.

3.1             Henkilöt ja yhteystiedot

Projektiryhmään kuuluvat seuraavat henkilöt

Petteri Kela                  kapekela@cc.jyu.fi     040-7595922
Antti Pokela                
anpokela@cc.jyu.fi     050-3048557
Santtu Salmi                
ssalmi@cc.jyu.fi          040-5818687
Matti Suomalainen     
msuomal@cc.jyu.fi        044-3214236

Projektin vastaavana ohjaajana toimii

Lari Kannisto               kalahe@mit.jyu.fi        014-2603056

Teknisenä ohjaajana toimii

Arto Rikalainen           artturi@cc.jyu.fi        044-5995236

Tilaajana on Jyväskylän yliopiston tietotekniikan laitos ja tilaajaa edustavat

Päivi Jämsen                pjamsen@mit.jyu.fi     014-2602732
Vesa Lappalainen       
vesal@mit.jyu.fi          014-2602722

Projektin käytettävyyskonsultteina toimivat

Ville Haapsaari            vjhaaps@cc.jyu.fi       
Jukka Partanen          
jpartan@cc.jyu.fi

 

3.2             Työtilat ja laitteet

Projektiryhmällä on käytössään Agoran tiloissa sijaitseva projektihuone, AgC222.2. Ryhmän käytössä on neljä tietokonetta, joista kolmeen on asennettuna Windows XP -käyttöjärjestelmä, ja yhden koneen käyttöjärjestelmänä on Fedora Core 2 Linux. Käytettävissä on myös projektiryhmien yhteistiloissa sijaitseva tulostin, sekä kopiokone huoneessa AgC432.2. Tarvittaessa käyttöön voidaan varata kannettava tietokone, videoprojektori, mp3-tallennin ja digitaalikamera. Projektitilan puhelinnumero on (014) 260 4963.

4           Projektin taustaa

Tässä luvussa kuvataan projektin taustoja ja nykyistä tilannetta johon halutaan muutosta Kaakkuri-projektin avulla.

4.1             Projektin tarkoitus

Projektin taustalla on tarve saada helpotetuksi lukukauden luentolukujärjestyksen laatimista. Nykyisellään lukujärjestyksen laatiminen ja kurssien sijoittelu mahdollisimman optimaalisesti vaatii paljon käsityönä tehtävää työtä. Projektin tarkoitus on helpottaa tätä prosessia ja toteuttaa työkalu, jonka avulla luentolukujärjestyksen laatiminen onnistuu mahdollisimman vähällä vaivalla.

4.2             Nykyinen menettelytapa

Nykyisellään luentolukujärjestyksen laatiminen alkaa helmikuulla ja päättyy toukokuussa. Useita vaiheita tehdään käsityönä ja toimivan lukujärjestyksen aikaansaamiseksi on nähtävä paljon vaivaa.

Tietotekniikan laitoksella koko prosessi alkaa siitä, kun laitosneuvostossa päätetään mitä kursseja laitos tarjoaa tulevana lukuvuotena, pidetäänkö kurssi syksyllä vai keväällä ja kuka opettajista vastaa mistäkin kurssista. Tämän jälkeen kurssit luokitellaan sen perusteella minkä vuoden opiskelija niitä luultavimmin käy. Seuraavaksi kurssit luodaan Korppi-järjestelmään ja päästään aloittamaan varsinainen luentolukujärjestyksen suunnittelu.

Tietotekniikan ja tietojenkäsittelytieteiden laitoksilla suunnittelussa käytetään apuna lukujärjestysmallia, jossa lukujärjestyksen ruudut on numeroitu. Numerointi on tehty siten, että joitakin numeroita on tarpeen mukaan viikon aikana yksi kappale, joitakin numeroita kaksi jne. Tämä siksi, että kun kurssin luento sijoitetaan viikkojärjestykseen tietylle paikalle, kurssin mahdollinen toinenkin luento määräytyy numeroinnin avulla automaattisesti sopivaan ajankohtaan. Tällaista yhdestä tai useammasta toisiinsa liittyvästä ajankohdasta muodostuvaa kokonaisuutta kutsutaan jatkossa blokiksi. Kyseinen blokkijärjestelmä helpottaa suunnittelutyötä huomattavasti.

Suunnittelussa täytyy ottaa huomioon monia rajoitteita. Tällaisia ovat esim. vapaana olevien tarvittavan kokoisten salien määrä, toisiaan seuraavien kurssien sijoittelu, opettajien mahdollisesti esittämät toiveet jne. Tietotekniikan laitoksella on lisäksi otettava huomioon mm. pakollisen sivuaineen, matematiikan appro-kurssien ajat, ja kun lukujärjestys on saatu likimain valmiiksi, verrataan sitä TKTL:n vastaavaan. Tämän jälkeen tehdään tarvittavia korjauksia päällekkäisten salivarausten ja muiden mahdollisten ongelmien poistamiseksi.

Myös muilla laitoksilla saattaa olla eriasteisia ongelmia luentolukujärjestyksen laatimisessa. Esimerkiksi biologian laitoksella luentojen ajat ovat epäsäännöllisiä siten, että luennot täytyy sijoitella pääsääntöisesti yksittäin lukujärjestykseen. Tällaisessa tapauksessa ei voida käyttää em. blokkijärjestelmää apuna. Toteutettavaan sovellukseen tulee kuitenkin mahdollisuus myös luentojen yksittäissijoitukseen, joten sovellus saattaa silti helpottaa lukujärjestyksen suunnittelua. Toisaalta taas esimerkiksi fysiikan laitoksella lukujärjestyksen suunnittelu on nykyiselläänkin kohtalaisen helppoa, eikä sovellus välttämättä tuo kovinkaan suurta apua opetustapahtumien sijoitteluun. Kuitenkin sovelluksen avulla pystytään tekemään salivaraukset Korppi-järjestelmään, mikä osaltaan vähentää työtä lukujärjestystä laadittaessa.

5           Projektin tavoitteet

Luvussa esitellään projektin tavoitteet toteutettavan sovelluksen osalta sekä käydään läpi henkilökohtaisia oppimistavoitteita.

5.1             Tavoitteet sovelluksen osalta

Projektin tavoitteena on toteuttaa sovellus, jonka avulla voidaan mahdollisimman vähällä vaivalla luoda toimiva lukukauden luentolukujärjestys. Luentolukujärjestykseen tulee voida sijoittaa kaikki laitoksella luennoitavat kurssit. Sovelluksen tehtävänä on pitää huolta siitä, että kurssien sijoittelussa huomioitavat reunaehdot täyttyvät, eli siis ohjelma estää ongelmatilanteiden syntymisen mm. päällekkäisten kurssien, salivarausten, opettajien jne. osalta. Projektin pääasiallinen tarkoitus on siten luoda työkalu, jonka avulla voidaan helpottaa tätä nykyisin käsityönä tehtävää suunnittelutyötä. Sovellukseen tulee myös yhteys Korppi-järjestelmään, jonka avulla voidaan hakea tiedot luennoitavista kursseista, sekä tehdä tarvittavat salivaraukset. Toteutettavan sovelluksen tulisi olla käyttökelpoinen työkalu jo vuoden 2005–2006 lukujärjestystä laadittaessa.

5.2             Oppimistavoitteet

Projektiryhmän jäsenet tulevat tutustumaan projektimuotoiseen työskentelyyn ja laajemman sovelluksen toteuttamiseen ennalta suunnitellun aikataulun mukaisesti. Projektityöskentelyyn kuuluu olennaisena osana toteutettavan sovelluksen suunnittelu, sovelluksen toteutus, testaus sekä dokumentointi. Projektin yhtenä oppimistavoitteena on oppia projektin hallinnassa tarvittavia taitoja, sekä toimimista ryhmässä. Projektin läpiviennin osalta tärkeässä asemassa on huolellinen aikataulun suunnittelu ja tavoitteena pysyä aikataulussa mahdollisimman hyvin.

Projektin aikana laaditaan useita dokumentteja, kuten tämä projektisuunnitelma, vaatimusmäärittely, sovellussuunnitelma, testaussuunnitelma ja –raportti, sovellus- ja projektiraportti, viikoittaisista kokouksista laadittavat pöytäkirjat sekä muut raportit. Tavoitteena on, että jokainen projektiryhmän jäsen tutustuu kyseisten dokumenttien laadintaan, ja oppii näin laatimaan niin ulkoasultaan kuin sisällöltäänkin selkeitä asiakirjoja.

Projektiryhmä tutustuu myös Java-kieleen, joka on useimmille ryhmän jäsenille melko vieras kieli Windows-pohjaista sovellusta laadittaessa. Ohjelmointivaiheessa opitaan selkeän ohjelmakoodin kirjoittamista ja ohjelmakoodin kommentointia, kuten myös isomman sovelluksen toteuttamista ryhmässä. Samalla tarkoitus on tutustua ohjelmoinnin apuna käytettäviin työkaluihin. Tällaisia ovat mm. Bugzilla ja CVS-versionhallintajärjestelmä.

Projektin aikana järjestetään loppuesittelyn lisäksi kaksi väliesittelyä. Projektiryhmän jäsenten tarkoituksena on oppia esiintymistaitoja näissä esittelytilaisuuksissa, kuten myös viikoittaisissa palavereissa.

6           Projektin käytännöt

Luvussa esitellään projektin sovittuja käytäntöjä dokumentoinnin ja kokousten osalta.

6.1             Kokouskäytäntö

Projektiorganisaatio kokoontuu yleensä viikoittain yhteiseen palaveriin, joka järjestetään useimmiten kokoustilassa AgC223.1. Jokaisen palaverin tarkempi aika ja paikka sovitaan edellisen viikon palaverissa. Projektiryhmä laatii seuraavan kokouksen esityslistan, kuten myös pöytäkirjan edellisestä kokouksesta, ja toimittaa nämä kokouksen osallistujille sähköpostin välityksellä, vähintään vuorokautta ennen seuraavaa kokousta. Projektiryhmä valitsee keskuudestaan kokouksen puheenjohtajan ja sihteerin, ja näitä tehtäviä vuorotellaan viikoittain.

Viikkokokouksissa mm. esitellään projektin senhetkistä tilannetta, ja keskustellaan muista esille tulleista asioista. Kokouksessa käydään myös läpi edellisen kokouksen pöytäkirja ja sovitaan seuraavista tehtävistä.

6.2             Dokumentointi

Projektin aikana laaditaan tämän projektisuunnitelman lisäksi useita muita dokumentteja. Vaatimusmäärittelyssä kuvataan sovellukselta vaadittavia toiminnallisia ja teknisiä vaatimuksia. Sovellussuunnitelma kuvaa tarkemmin sovelluksen sisäistä rakennetta ja sitä, kuinka sovellukselta vaadittavat ominaisuudet tullaan toteuttamaan. Testaussuunnitelmassa kerrotaan siitä, kuinka sovellusta tullaan testaamaan. Sovellus- ja projektiraporteissa kuvataan sitä, kuinka sovellus ja projekti toteutuivat. Erilliset raportit laaditaan myös haastatteluista ja esittelytilaisuuksista. Lisäksi kaikista projektiin liittyviin palavereihin tehdään esityslistat, ja palavereista laaditaan pöytäkirjat.

Projektiin liittyvien dokumenttien laadinnassa käytetään lähinnä Microsoft Word -ohjelmaa. Dokumentoinnista pyritään tekemään ulkoasultaan yhdenmukaisia käyttämällä kaikissa dokumenteissa samaa projektiryhmän luomaa tyylipohjaa. Kaikki projektiryhmän laatimat dokumentit asetetaan nähtäville projektin WWW-sivuille Word ja HTML-muodoissa.

Itse ohjelmakoodi kirjoitetaan Java-kielellä, ja koodi kommentoidaan mahdollisimman selkeästi. Ohjelmakoodin kommentoinnissa käytetään kielenä englantia. Ohjelmakoodin dokumentoinnissa tullaan mahdollisesti käyttämään hyväksi Javadoc-dokumentointityökalua, joka helpottaa eräiden dokumenttien, kuten sovellusraportin laatimista.

6.3             Dokumenttien hyväksymisprosessi

Projektin tuloksena syntyvät suunnitelmat, pöytäkirjat, raportit, lähdekoodit ja muut dokumentit esitellään ohjaajille ja tilaajan edustajille. Tämän jälkeen em. dokumentteja muokataan ja korjaillaan saatujen kommenttien pohjalta, jonka jälkeen nämä esitellään ja hyväksytetään uudelleen tilaajan edustajilla ja ohjaajilla. Dokumenttien hyväksyminen tehdään normaalien viikkopalaverien yhteydessä.

6.4             Versionhallinta

Sovellusta kehitettäessä tullaan käyttämään CVS-versionhallintajärjestelmää. Ohjelmakoodi tallennetaan CVS-palvelimelle, mikä mahdollistaa ohjelman kehittämisen yhtäaikaisesti useamman henkilön toimesta. Samalla myös sovelluksen kehityshistoria tallentuu palvelimelle, ja myöhemmin voidaan tarkastella sovellukseen tehtyjen muutosten sisältöä, ja mitä tahansa sovelluksen vanhempaa versiota.

7           Työnjako

Eri henkilöiden identifioimiseksi päätettiin projektiryhmän jäsenten kesken käyttää lyhenteitä, jotka muodostuvat etunimen ensimmäisestä kirjaimesta ja sukunimen ensimmäisestä kirjaimesta. Ryhmän jäsenten lyhenteet ovat seuraavat: PK (Petteri Kela), AP (Antti Pokela), SS (Santtu salmi), MS (Matti Suomalainen)

Tehtäville on jaettu vastuuhenkilöt. Tuntimäärä ei tarkoita, että tehtävän vastuuhenkilö käyttää kyseisen ajan tehtävän suorittamiseen, vaan hän on vastuussa tuosta tehtävästä. Vastuuhenkilö voi siis ohjata tehtäviään muille ryhmänjäsenille toteutettavaksi.

Tehtävä

Vastuuhenkilö

Tunnit

Projektin www-sivujen tekeminen ja ylläpito

PK

50

Projektisuunnitelma

AP

35

Vaatimusmäärittely

MS

30

Sovellussuunnitelma

AP

40

Esittelyt ja niiden raportit

AP

25

Kokoukset ja pöytäkirjat

kaikki

90

Sovelluksen tietorakenteiden suunnittelu

AP

35

Sovelluksen tietorakenteiden toteuttaminen

MS

65

Blokkirakenteen suunnittelu ja toteutus

SS

80

Kalenteritoiminnan suunnittelu ja toteutus

PK

70

Taulukoiden renderöinnin toteuttaminen

PK

40

Sovelluksen tietojen selaamiseen tarvittavien näkymien suunnittelu ja toteutus

MS

70

Korpista tulevan tiedon käsittelyn suunnittelu ja toteutus

AP

80

Korppiin lähtevän tiedon käsittelyn suunnittelu ja toteutus

MS

80

Käyttöliittymän toteutus

SS

90

Käyttöohjeen laatiminen

PK

30

Projektiraportti

MS

30

Projektin hallinta

MS

50

 

Yhteensä

990

Taulukko 1

Kokonaisuudessaan suunniteltu tuntimäärä projektin osalta on 1280 tuntia. Oheisesta taulukosta (Taulukko 1) nähtävän yhteistuntimäärän lisänä oleva 290 tuntia on varattu työkaluihin tutustumiseen, koulutuksiin, erilaisten teknisten ongelmien selvittämiseen, haastatteluiden tekemiseen ja kahvin juomiseen. Projektin sivussa pyörivään oheiskurssiin on suunniteltu käytettävän 50 tuntia. Tähän aikaan sisältyy kurssiin kuuluvat luennot, erilaisten dokumenttien ulkoasun korjaaminen ja väliesittelyt.


8           Projektin aikataulu

Tässä luvussa käydään läpi Kaakkuri-projektin aikataulua. Seuraavassa taulukossa esitetään projektin eri vaiheita ja niiden suunniteltuja valmistumispäivämääriä.

Päivämäärä

Tehtävä

3.11.2004

Projektisuunnitelma

8.11.2004

Vaatimusmäärittely

17.11.2004

Sovellussuunnitelma

3.12.2004

Testattava prototyyppi

3.12.2004

Testaussuunnitelma

17.12.2004

Testausraportti

17.12.2004

Loppuesittely

14.1.2005

Projektin päättäminen, Projektiraportti, Käyttöohje

Taulukko 2

Projektin toteuttamiseen valittiin iteratiivinen malli, jossa pohjimmaisena ideana on tehdä demomalli sovelluksesta ja esitellä sitä kokouksessa. Kokouksessa esille tulleiden ideoiden perusteella sovellusta jatkokehitetään ja esitellään uudestaan seuraavassa kokouksessa. Projektin tavoitteena on tuottaa kuusi demomallia, joista viimeinen olisi testattava prototyyppi. Suunniteltu aikataulu näkyy Gantt-kaaviossa (Kuva 1). Projekti päättyy tammikuun 14. päivä.


Projektin kulkua kuvaava Gantt-kaavio.

Kuva 1

9           Riskien arviointi ja hallinta

Luvussa käsitellään mahdollisia projektiin liittyviä riskejä ja niiden hallintaa. Lisäksi mietitään tapoja, joilla näitä riskejä voidaan ehkäistä.

9.1             Puutteet suunnittelussa

Yksi suurimmista riskeistä on suunnittelussa ilmenevät puutteet. Huolimaton suunnittelu saattaa kostautua projektin myöhemmässä vaiheessa kun törmätään ongelmiin, jotka olisi voitu välttää paremmalla suunnittelulla. Tällaisten ongelmien ratkaiseminen saattaa vaatia huomattavan paljon enemmän työtä projektin myöhemmässä vaiheessa, kuin jos asia olisi otettu huomioon jo suunnitteluvaiheessa.

Suunnittelussa täytyisi myös muistaa asettaa sovellukselta vaadittavat asiat tärkeysjärjestykseen siten, että rajallisia resursseja ei tuhlattaisi jonkin epäolennaisen asian toteuttamiseen, tärkeimpien ominaisuuksien jäädessä vähemmälle huomiolle. Lisäksi aihealueen ja toteutettavien vaatimusten epätarkka rajaus saattaa aiheuttaa sen, että projekti paisuu liian suureksi käytettävissä oleviin resursseihin nähden. Puutteellisesta suunnittelusta aiheutuvaa riskiä voidaan pienentää laatimalla suunnitteludokumentit huolellisesti ja katselmoimalla näitä riittävän tarkasti.

9.2             Tuntematon ohjelmointiympäristö

Sovelluksen toteuttamiseen käytettävä Java-kieli ei ole projektiryhmän jäsenille kovin tuttu, joten tästä johtuvia käytännön ongelmia saattaa ilmetä. Riskiä voidaan pienentää tutustumalla käytettäviin ohjelmointityökaluihin ja kieleen riittävästi ennen varsinaista ohjelmointivaihetta. Näin mahdolliset ongelmat ja näiden selvittämiseen kuluva aika ei vaikeuta varsinaisen sovelluksen kehittämistä.

9.3             Sairastumiset

Projektiryhmän jäsenten sairastuminen on yksi mahdollisista riskeistä, joka saattaa vaikuttaa projektin etenemiseen. Mahdollisissa sairastumistapauksissa projektipäällikön tulee pystyä jakamaan työt siten, että myös puuttuvan henkilön työt tulevat tehdyksi ja projektin eteneminen ei oleellisesti häiriinny.

9.4             Laitteisto

Laitteiston rikkoontuminen on aina yksi mahdollinen riskitekijä. Projektin käytössä on tietotekniikan laitoksen tietokoneita, ja rikkoontunut laitteisto voidaan yleensä korjata nopeasti. Tämän vuoksi yksittäisen koneen rikkoontuminen ei sinänsä ole suuri ongelma, koska tiedostojen säilyminen vikatapauksissa varmistetaan tallentamalla tiedostot verkkolevyille. Tiedostoista otettavien varmuuskopioiden avulla pienennetään tietojen häviämisen riskiä joko laitteistovian tai käyttäjän virheen seurauksena. CVS-versionhallintajärjestelmää käyttämällä voidaan tarvittaessa palauttaa tiedostosta myös vanhempi versio.

9.5             Testauksen riittämättömyys

Tärkeässä osassa toimivan sovelluksen kannalta on riittävä testaus. Riskinä kuitenkin on, että testaaminen voi jäädä vähäiseksi, jonka seurauksena sovelluksessa olevia virheitä jää huomaamatta. Tiukka aikataulu vähentää testaukseen käytettävissä olevaa aikaa merkittävästi. Riskiä riittämättömästä testauksesta voidaan pienentää laatimalla huolellinen testaussuunnitelma, ja testaamalla sovellusta riittävän paljon mahdollisimman monen henkilön voimin. Myös sovelluksen tulevien käyttäjien tulisi päästä testaamaan sovellusta riittävästi, jotta käyttöä hankaloittavat epäkohdat saadaan korjattua.

9.6             Riskien todennäköisyys ja vakavuus

Seuraavaa taulukko sisältää yhteenvedon projektiin liittyvistä riskeistä. Taulukko sisältää arvion riskin todennäköisyydestä sekä sen, kuinka vakavaa haittaa kyseinen riski toteutuessaan aiheuttaisi projektille.


 

Riski

Todennäköisyys

Vaikutukset

Puutteet suunnittelussa

suuri

Suuri vaikutus. Aiheuttaa ongelmia projektin myöhemmässä vaiheessa.

Tuntematon ohjelmointiympäristö

suuri

Kohtalaiset vaikutukset. Voidaan lieventää riittävällä työkaluihin tutustumisella.

Sairastumiset

keskimääräinen

Pieni vaikutus, mikäli sairastumisen kesto on lyhyt.

Laitteisto

pieni

Pienehkö. Uusi laitteisto saadaan rikkoontuneen tilalle nopeasti. CVS-järjestelmän käyttäminen ja riittävä varmuuskopiointi varmistavat tietojen säilymisen.

Testauksen riittämättömyys

keskimääräinen

Keskimääräinen. Riskiä pyritään lieventämään huolellisella sovelluksen suunnittelulla ja toteutuksella, sekä laatimalla riittävä testaussuunnitelma.

Taulukko 3


10     Yhteenveto

Tässä projektisuunnitelmassa kuvataan Jyväskylän Yliopistossa tehtävän Kaakkuri-sovellusprojektin läpivientiä. Kaakkuri-projekti toteuttaa Jyväskylän Yliopiston tietotekniikan laitokselle lukujärjestyksen suunnittelusovelluksen, jonka avulla voidaan määrittää opetustapahtumat haluttuihin paikkoihin määrättyinä ajankohtina. Tässä dokumentissa kerrotaan projektin yhteystiedot, projektin käytännöistä, aikataulusta sekä kuvataan projektin taustoja ja tavoitteita, sekä käsitellään riskien hallintaa.


Lähteet

[1] Jämsen Päivi, ”Opetustapahtumien sijoitteluprojekti –kuvaus”, Jyväskylän yliopisto, tietotekniikan laitos

[2] Santanen Jukka-Pekka, ”Tietotekniikan Sovellusprojektien ohje”, Jyväskylän yliopisto, tietotekniikan laitos, 2004.

[3] Santanen Jukka-Pekka, ”Opinnäytteiden kirjoittaminen, lyhyt oppimäärä”, Jyväskylän yliopisto, tietotekniikan laitos, 23.8.2000