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
3 Projektin organisaatio ja resurssit
5.1 Tavoitteet sovelluksen osalta
6.3 Dokumenttien hyväksymisprosessi
9 Riskien arviointi ja hallinta
9.2 Tuntematon ohjelmointiympäristö
9.5 Testauksen riittämättömyys
9.6 Riskien todennäköisyys ja vakavuus
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.
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/
Tässä luvussa esitellään projektiorganisaatiota ja käytettävissä olevat materiaaliresurssit.
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
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.
Tässä luvussa kuvataan projektin taustoja ja nykyistä tilannetta johon halutaan muutosta Kaakkuri-projektin avulla.
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.
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.
Luvussa esitellään projektin tavoitteet toteutettavan sovelluksen osalta sekä käydään läpi henkilökohtaisia oppimistavoitteita.
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.
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.
Luvussa esitellään projektin sovittuja käytäntöjä dokumentoinnin ja kokousten osalta.
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ä.
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.
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ä.
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.
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.
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
Luvussa
käsitellään mahdollisia projektiin liittyviä riskejä ja niiden hallintaa.
Lisäksi mietitään tapoja, joilla näitä riskejä voidaan ehkäistä.
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.
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ä.
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.
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.
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.
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
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