Kaakkuri
Tietotekniikan sovellusprojekti
Petteri Kela
Antti Pokela
Santtu Salmi
Matti Suomalainen
Projektiraportti
16. helmikuuta 2005
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ä projektiraportti kuvaa Jyväskylän Yliopiston tietotekniikan laitokselle toteutetun Kaakkuri-sovellusprojektin läpivientiä. Dokumentissa kerrotaan projektin käytännön toteutumisesta taustojen, tavoitteiden ja aikataulun osalta.
Versiohistoria
Versio |
Päiväys |
Tekijä |
Muutokset |
0.1 |
28.1.2005 |
AP |
Ensimmäinen versio. |
0.2 |
16.2.2005 |
AP |
-Korjattu päiväykset -Lisätty lähdeluettelo -Taulukkoon 1 lisätty suunnitellut työtunnit -Lisää projektin anaysointia ja pienempiä korjauksia tekstiin |
1.0 |
15.3.2005 |
MS |
- Lisätty taulukkoon 1 toteutuneet tunnit - Lisätty taulukkoon yksi projektiin käytetyt tunnit - Lisätty henkilökohtaisiin ajankäyttöihin projektin/kurssin kokonaistunnit |
Sisällysluettelo
3.2 Työtilat, laitteet ja ohjelmistot
5.3.2 Tuntematon ohjelmointiympäristö
5.3.5 Testauksen riittämättömyys
7 Jäsenten kokemukset projektista
Kaakkuri on Jyväskylän yliopiston tietotekniikan laitoksella toteutettu sovellusprojekti. Projekti toteutti tietotekniikan laitokselle prototyypin sovelluksesta, jonka avulla voidaan laatia lukukauden luentolukujärjestys. Lukujärjestyksen laatimiseksi täytyy ottaa huomioon useita rajoitteita, jotka hankaloittavat suunnittelutyötä. Toteutetun sovelluksen on tarkoitus helpottaa tätä suunnittelutyötä. Sovellus myös mahdollistaa salivarausten tekemisen suoraan Korppi-järjestelmään.
Tässä projektiraportissa käsitellään projektin vaiheita, taustoja, resursseja, aikataulua ja työnjakoa niiden käytännön toteutumisen suhteen. Tarkempi kuvaus siitä, kuinka projekti oli suunniteltu toteutuvaksi, löytyy projektisuunnitelma-dokumentista [1].
Luvussa kerrotaan Kaakkuri-projektin taustoista ja tavoitteista.
Projektin taustalla oli tarve saada helpotetuksi lukukauden luentolukujärjestyksen laatimista. Lukujärjestyksen laatiminen ja kurssien sijoittelu lukujärjestykseen vie paljon aikaa, ja vaatii paljon käsityönä tehtävää työtä. Lukujärjestystä suunniteltaessa täytyy ottaa huomioon monia eri asioita. Tällaisia ovat esimerkiksi vapaina olevat salit, pakollisten sivuaineiden kurssien ajat, mahdolliset opettajien esittämät toiveet, sekä niiden kurssien sijoittelu, jotka useimmiten on ajateltu suoritettavaksi samana opiskeluvuotena.
Kaakkuri-projektin tavoitteena oli luoda työkalu, jonka avulla voidaan luoda toimiva luentolukujärjestys mahdollisimman vähällä vaivalla. Sovelluksen avulla tuli myös pystyä viemään valmis lukujärjestys suoraan Korppi-järjestelmään.
Luentolukujärjestyksen laatimismenetelmä vaihtelee jonkin verran eri laitosten välillä. Koska Kaakkuri-projekti aloitettiin Jyväskylän yliopiston tietotekniikan laitoksen toimesta, sovellusta kehitettäessä otettiin huomioon hyvin paljon nimenomaan tietotekniikan laitoksen tarpeita. Kuitenkin tarkoituksena oli kehittää sovelluksesta sellainen, että siitä tulisi olemaan hyötyä myös muille laitoksille. Joillakin laitoksilla varsinaista opetustapahtumien sijoittelua lukujärjestykseen ei nähty varsinaisena ongelmana, mutta näissäkin tapauksessa sovellus tulisi helpottamaan mm. tietojen viemistä Korppi-järjestelmään.
Yhtenä projektin tavoitteena oli myös antaa ryhmän jäsenille kokemusta projektimuotoisesta työskentelystä. Yksi iso oppimistavoite oli tutustuttaa projektiryhmä Java-ohjelmointikieleen, mikä oli useimmille projektiryhmän jäsenille ennestään melko tuntematon. Projektin aikana oli myös tavoitteena harjoitella erilaisten dokumenttien laatimista, sekä harjoitella esiintymistaitoja useiden eri esittelytilaisuuksien ja palaverien muodossa. Projektiryhmä tutustui myös ohjelmistokehityksessä käytettäviin työkaluihin, kuten Bugzillaan sekä CVS-versionhallintajärjestelmään.
Tässä luvussa kuvataan projektin käytössä olleita resursseja.
Projektin läpiviennissä oli osallisena useita eri henkilöitä. Alun perin projekti aloitettiin ilman käytettävyyskonsultteja. Projektin myöhemmässä vaiheessa mukaan tuli kuitenkin myös kaksi käytettävyyskonsulttia. Projektissa mukana olleet henkilöt yhteystietoineen käydään läpi seuraavaksi.
Projektiryhmään kuuluivat 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 toimi
Lari Kannisto kalahe@mit.jyu.fi 014-2603056
Teknisenä ohjaajana toimi
Arto Rikalainen artturi@cc.jyu.fi 044-5995236
Tilaajana oli Jyväskylän yliopiston tietotekniikan laitos ja tilaajaa edustivat
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
Työtilana projektiryhmällä oli käytössään Agoran tiloissa sijaitseva projektihuone, AgC222.2. Projektihuoneeseen oli sijoitettu projektiryhmän käyttöön neljä kappaletta PC-tietokoneita, joista kolmen käyttöjärjestelmänä oli Windows XP, ja yhdessä koneessa Fedora Core 2 Linux. Lisäksi käytössä oli projektiryhmien yhteistiloissa sijaitseva tulostin, sekä kopiokone huoneessa AgC432.2. Tarvittaessa käyttöön oli mahdollista varata kannettava tietokone, videoprojektori, mp3-tallennin ja digitaalikamera.
Sovellus toteutettiin käyttämällä Java-ohjelmointikieltä, ja sovelluksen ohjelmointiin käytettiin Borlandin JBuilder 9 – kehitysympäristöä. Java-kieli oli useimmille projektinryhmän jäsenille entuudestaan melko vieras. Kieltä päätettiin kuitenkin kokeilla, ja Javan käyttöön totuttiin melko nopeasti pienten alkuvaikeuksien jälkeen.
Projektiin liittyvien dokumenttien laadinnassa päätettiin käyttää Microsoft Word-tekstinkäsittelyohjelmaa. Ohjelmakoodien kommentointi tehtiin pääsääntöisesti JavaDoc – dokumentointityökalun vaatimien muotoilujen mukaiseksi. Lisäksi sovelluksen kehityksen aikana käytettiin hyväksi CVS-versionhallintajärjestelmää, minkä avulla useampi henkilö pystyi kehittämään ohjelmaa samanaikaisesti. Tämän mahdollistamiseksi projektiryhmän käytössä oli laitoksen tarjoama CVS-palvelin (sorsa.it.jyu.fi).
Tässä luvussa esitellään lyhyesti projektiin liittyviä työtehtäväalueita ja niiden jakautumista ryhmän jäsenten kesken.
Projektiin liittyviä työtehtäväalueita oli useita. Projektin alussa tehtäviin kuului mm. työkaluihin ja aihealueeseen tutustuminen. Samaan aikaan alettiin myös tutustua käytettäviin työkaluihin. Suurimmat tehtäväalueet olivat varsinainen sovelluksen ohjelmointi, sekä dokumentointi. Varsinkin ohjelmointivaihe sisälsi useita pienempiä yksittäisiä työtehtäviä, liittyen sovelluksen toiminnan suunnitteluun ja yksittäisten sovelluksen osien toteuttamiseen.
Projektipäällikkönä toimi koko projektin ajan Matti Suomalainen. Projektipäällikön tehtäviä olivat mm. tiedottaminen, projektiin liittyvien tehtävien jakaminen ja projektin hallinta kokonaisuudessaan.
Projektin työtehtäviä jaettaessa ei tehty kovin kiinteitä ja tarkkoja etukäteissuunnitelmia. Pyrkimyksenä oli, että jokainen projektiryhmän jäsen pääsee osallistumaan kaikentyyppisten tehtävien suorittamiseen. Tehtävät jakautuivat vähitellen projektin edetessä, riippuen siitä, mikä aihealue katsottiin kulloinkin tärkeimmäksi ja kiireellisimmäksi toteuttaa.
Yleisesti työtehtävien jakautumisesta voidaan sanoa, että dokumentoinnista suurin osa jäi Antti Pokelan ja Matti Suomalaisen vastuulle, vastaavasti taas Petteri Kela ja Santtu Salmi käyttivät suhteessa enemmän aikaa ohjelmointiin. WWW-sivujen laadinta taas oli lähinnä Petteri Kelan vastuulla.
Seuraavassa taulukossa esitetään projektin suunniteltu tehtävien jakautuminen, sekä se, kuinka mainitut tehtävät lopulta todellisuudessa jakautuivat.
Tehtävä |
Suunnit. tunnit |
Toteut. Tunnit |
Suunniteltu vastuuhenkilö |
Todellinen toteuttaja |
Projektin www-sivujen tekeminen ja ylläpito |
50 |
40 |
PK |
PK |
Projektisuunnitelma |
35 |
30 |
AP |
AP |
Vaatimusmäärittely |
30 |
20 |
MS |
MS |
Sovellussuunnitelma |
40 |
25 |
AP |
MS |
Esittelyt ja niiden raportit |
25 |
35 |
AP |
AP |
Kokoukset ja pöytäkirjat |
90 |
80 |
kaikki |
kaikki |
Sovelluksen tietorakenteiden suunnittelu |
35 |
60 |
AP |
kaikki |
Sovelluksen tietorakenteiden toteuttaminen |
65 |
100 |
MS |
kaikki |
Blokkirakenteen suunnittelu ja toteutus |
80 |
90 |
SS |
SS,PK |
Kalenteritoiminnan suunnittelu ja toteutus |
70 |
125 |
PK |
SS |
Taulukoiden renderöinnin toteuttaminen |
40 |
80 |
PK |
kaikki |
Sovelluksen tietojen selaamiseen tarvittavien näkymien suunnittelu ja toteutus |
70 |
90 |
MS |
kaikki |
Korpista tulevan tiedon käsittelyn suunnittelu ja toteutus |
80 |
75 |
AP |
AP |
Korppiin lähtevän tiedon käsittelyn suunnittelu ja toteutus |
80 |
50 |
MS |
MS |
Käyttöliittymän toteutus |
90 |
100 |
SS |
kaikki |
Käyttöohjeen laatiminen |
30 |
20 |
PK |
AP |
Projektiraportti |
30 |
20 |
MS |
AP |
Projektin hallinta |
50 |
20 |
MS |
MS |
Tunnit yhteensä |
990 |
1060 |
|
|
Ryhmän kokonaistunnit |
Projekti: |
1371 |
Kurssi: |
120 |
Taulukko 1
Aika oli arvioitu suhteellisen osuvasti, mutta sen jakautuminen eri tehtäville ei arvioiden mukaan osunut kovin hyvin kohdalleen. Dokumentointiin käytettiin suunniteltua vähemmän aikaa ja yleisesti ottaen suunnittelu ja toteutus veivät suunniteltua kauemmin. Taulukossa näkyvä toteutuneiden tehtävien kokonaistuntimäärä 1060 poikkeaa projektiin käytetyistä kokonaistunneista 1371, koska taulukon pohjana olevan suunnitelman ulkopuolelle jäi tietenkin paljon tehtävää.
Projektin tavoitteena oli toteuttaa sovellus, jonka avulla voidaan helpottaa luentolukujärjestyksen laatimista. Projektin aikana saatiin toteutettua sovellus, jota päästään käyttämään jo vuoden 2005–2006 lukujärjestystä suunniteltaessa. Tällöin nähdään tarkemmin, kuinka hyvin toteutettu sovellus vastaa sille annettuja tavoitteita.
Toteutettu sovellus täyttää likimain sille annetut tavoitteet, mutta myös joitakin toimintoja jäi aikataulun vuoksi toteuttamatta. Koska sovelluksen kehittämistä tultaneen jatkamaan myös projektin päättymisen jälkeen, voidaan tässä vaiheessa sovellusta parannella sovelluksen käyttäjiltä tulevan palautteen mukaan. Yleisesti ottaen projektin aikana saatiin kehitettyä sovellus, jota päästään käyttämään lukujärjestyksen suunnittelun apuna sellaisenaan. Lisäksi sovellus antaa hyvän lähtökohdan sille, että jatkossa sovellukseen voidaan lisätä uusia ominaisuuksia ja kehittää paremmaksi.
Sovellusprojekti alkoi aloitusluennolla 17.9.2004. Projekti vietiin läpi pääasiassa syksyn 2004 aikana, mutta aikataulu venyi osaksi vuoden 2005 puolelle. Viimeisten dokumenttien hyväksyminen jäi helmikuun 2005 alkupuolelle. Seuraavassa taulukossa esitetään projektin alussa suunniteltu aikataulu suunniteltuine tehtävien valmistumispäivineen, sekä lopulta toteutunut aikataulu.
Suunniteltu valmistuminen |
Toteutunut aikataulu |
Tehtävä |
3.11.2004 |
14.12.2004 |
Projektisuunnitelma |
8.11.2004 |
7.12.2004 |
Vaatimusmäärittely |
17.11.2004 |
20.1.2005 |
Sovellussuunnitelma |
3.12.2004 |
Marraskuun loppu 2004 |
Testattava prototyyppi |
3.12.2004 |
21.12.2004 |
Testaussuunnitelma |
17.12.2004 |
26.1.2005 |
Testausraportti |
17.12.2004 |
16.12.2004 |
Loppuesittely |
14.1.2005 |
Helmikuun alku 2005 |
Projektin päättäminen, Projektiraportti, Käyttöohje |
Taulukko 2
Projekti lähti hiukan hitaammin käyntiin tahdin kiihtyessä loppua kohti. Erityisesti alkuvaiheessa projektin etenemistä hidasti tutustuminen GP-Untis järjestelmään, jota käytetään eräissä oppilaitoksissa lukujärjestyksen suunnittelun apuna. Projektin alkupuolella pidettiin auki mahdollisuutta kehittää sovellus em. GP-Untis –ohjelmiston pohjalle, ja tämä toi epävarmuutta liittyen siihen, mitä varsinaisesti projektin aikana tullaan tekemään hidastaen projektin etenemistä. Lopulta päätettiin kuitenkin kehittää kokonaan oma sovellus.
Projektin alkupuolella mietittiin pitkään myös sovelluksen toteuttamiseen käytettävää ohjelmointikieltä. Java ei ollut projektiryhmälle entuudestaan tuttu ja lisäksi Javaa pidettiin hankalana kielenä käyttöliittymän ohjelmoinnin suhteen. Tästä syystä Javan käyttämistä epäiltiin aluksi, mutta lopulta päädyttiin siihen, että Javan mukanaan tuomat hyvät puolet ovat selvästi suuremmat kuin mahdolliset haittatekijät. Tästä syystä Javaa päätettiin kokeilla, ja tämän jälkeen projekti lähtikin etenemään huomattavasti nopeammassa tahdissa.
Kuten taulukosta nähdään, varsinkin projektiin liittyvät dokumentit olivat pahasti myöhässä aikataulusta. Tämä selittyy osaksi sillä, että itse sovelluksen saattaminen edes jonkinasteiseen toimintakuntoon vei paljon aikaa, ja projektiryhmä yritti päästä varsinaisen sovelluksen osalta mahdollisimman hyvään lopputulokseen. Varsinkin projektin loppupuolella aikaa kului paljon sovelluksen viimeistelyssä, joten dokumentoinnille varattu aika jäi vähäiseksi, mikä viivästytti dokumentoinnin valmistumista entisestään. Lisäksi dokumentointi koettiin vähemmän mielenkiintoiseksi työksi, joten projektiryhmän mielenkiinto suuntautui paljolti muihin tehtäviin.
Kaiken kaikkiaan dokumentointi jäi projektin aikana hieman sivuosaan verrattuna esimerkiksi ohjelmointiin kuluneeseen aikaan. Dokumentointiin olisi ehkä pitänyt keskittyä paremmin heti projektin alkuvaiheista lähtien ja koko projektin ajan, ja pitää paremmin kiinni suunnitellusta aikataulusta ja välitavoitteista. Tässä projektissa päätettiin kuitenkin valita tärkeimmäksi tavoitteeksi itse sovelluksen saattaminen toimintakuntoon.
Luvussa selvitellään projektiin liittyneitä riskejä ja niiden toteutumista.
Suunnitteluun liittyvät puutteet ja liian vähäinen suunnittelu aiheuttivat pientä haittaa projektin läpiviennissä. Sovelluksen rakennetta, sekä tehtävien toteuttamisjärjestystä olisi voitu suunnitella hiukan tarkemmin. Toisaalta projektin luonne oli sellainen, että mm. sovellukselta vaadittavat toiminnot eivät kaikki olleet tiedossa heti projektin alussa, vaan nämä täsmentyivät pikkuhiljaa projektin edetessä. Näin ollen suunnitteluvaiheessa ei ollut mahdollista ottaa huomioon kaikkia tarvittavia asioita.
Projektin aikana käytetty ohjelmistoympäristö, sekä Java-kieli kokonaisuudessaan olivat ryhmän jäsenille entuudestaan melko tuntemattomia. Java-kieleen, sekä siihen liittyvien työkalujen käyttöön totuttiin kuitenkin melko nopeasti, eikä tämä aiheuttanut merkittäviä ongelmia jatkossa. Näin olleen tämän riskin merkitys projektin läpivientiin jäi melko vähäiseksi.
Projektin aikana ei sattunut suurempia sairastumisia, jotka olisivat voineet sekoittaa projektin läpivientiä.
Projektin käytössä olevassa laitteistossa ei esiintynyt suurempia ongelmia. Myöskään projektiin liittyvien ohjelmistojen toimivuudessa ei havaittu merkittäviä ongelmia muutamaa käyttäjäprofiilin rikkoutumista lukuun ottamatta, joten tämän riskin vaikutus projektiin jäi häviävän pieneksi.
Sovelluksen testaaminen kokonaisuudessaan jäi hyvin vähäiseksi johtuen lähinnä tiukasta aikataulusta ja projektin loppuvaiheessa tulleesta kiireestä. Sovellusta tosin testattiin jatkuvasti koko kehittämisvaiheen ajan, mutta testaamiseen käytettävä aika jäi tästä huolimatta melko lyhyeksi.
Petteri Kela
Suunnittelu |
4:50 |
Dokumentointi |
39:22 |
Ohjelmointi |
269:55 |
Materiaaliin
tutustuminen |
11:35 |
Perehdytys |
1:20 |
Palaverit |
24:18 |
Projektinhallinta |
3:25 |
Kurssi: dokumenttien kirjoitusasu |
4:30 |
Kurssi: luennot |
12:15 |
Kurssi:
opponoinnit ja niiden valmistelu |
14:00 |
Kurssi:
ryhmätyöt |
5:00 |
Projekti:
kokonaistunnit |
354:45 |
Kurssi:
kokonaistunnit |
35:45 |
Kokonaisaika |
390:30 |
Antti Pokela
Suunnittelu |
02:00 |
Dokumentointi |
89:00 |
Määrittely |
05:00 |
Ohjelmointi |
186:42 |
Testaus |
07:30 |
Materiaaliin
tutustuminen |
16:00 |
Perehdytys |
14:00 |
Palaverit |
28:45 |
Kurssi: dokumenttien kirjoitusasu |
10:45 |
Kurssi: luennot |
16:20 |
Kurssi:
opponoinnit ja niiden valmistelu |
14:00 |
Projekti:
kokonaistunnit |
348:57 |
Kurssi:
kokonaistunnit |
41:05 |
Kokonaisaika |
390:02 |
Santtu Salmi
Suunnittelu |
28:00 |
Dokumentointi |
34:00 |
Ohjelmointi |
221:00 |
Materiaaliin tutustuminen |
05:00 |
Perehdytys |
12:30 |
Palaverit |
26:45 |
Projektienhallinta |
04:15 |
Kurssi: luennot |
13:30 |
Kurssi:
opponoinnit ja niiden valmistelu |
11:00 |
Kurssi: ryhmätyöt |
05:00 |
Kurssi: palautteen läpikäyminen |
01:00 |
Kurssi: dokumenttien kirjoitusasu |
10:30 |
Projekti: kokonaistunnit |
331:30 |
Kurssi: kokonaistunnit |
41:00 |
Kokonaisaika |
372:30 |
Matti Suomalainen
Suunnittelu |
18:05 |
Dokumentointi |
57:25 |
Ohjelmointi |
172:11 |
Testaus |
22:05 |
Materiaaliin
tutustuminen |
25:01 |
Perehdytys |
6:45 |
Palaverit |
28:45 |
Projektienhallinta |
3:00 |
Kurssi: dokumenttien kirjoitusasu |
7:35 |
Kurssi: luennot |
15:50 |
Kurssi:
opponoinnit ja niiden valmistelu |
17:20 |
Kurssi:
ryhmätyöt |
1:40 |
Projekti:
kokonaistunnit |
336:51 |
Kurssi:
kokonaistunnit |
42:25 |
Kokonaisaika |
378:21 |
|
|
Tässä luvussa esitellään lyhyesti projektiryhmän jäsenten henkilökohtaisia kokemuksia projektista.
Projekti on nyt onnellisesti ohi. Alun kankeudesta huolimatta homma lähti lopulta hyvin rullaamana. Tämän opintojakson jälkeen voi rehellisesti sanoa oppineensa paljon. Tuli tutustuttua ennalta täysin tuntemattomaan Java-ohjelmointikieleen. Oppi toimimana kokouksissa eri tehtävissä ja kirjoittamaan raportteja asiasta jos toisestakin. Myös ryhmässä työskentelemisestä tuli paljon lisää kokemusta.
Vaikeinta oli löytää projektille tarpeeksi aikaa. Aluksi tuntimääräni eivät olleet muiden tasalla, mutta armottoman loppukirin ansiosta saatiin koko ryhmän tunnit tasattua. Toisaalta tämä loppupään venyminen vähän harmittaa, kun ei millään meinaa saada ihan kaikkea valmiiksi.
Kaikki tarvittava kuitenkin saatiin toteutettua projektin sisäisen hyvän yhteishengen ansiosta ja projektin suomaa kokemusta voikin muistella hyvillä mielin.
Projekti oli vaihteeksi hiukan erilainen kokemus muiden yliopistokurssien joukossa. Itselleni sovelluksen tekemiseen käytetty Java-kieli oli entuudestaan täysin vieras paria pientä kokeilua lukuun ottamatta. Kieltä kohtaan oli vielä jonkinasteisia henkilökohtaisia ennakkoluuloja, mutta loppujenlopuksi nopeasti siihenkin tottui eikä sen takia yöunet sentään mennyt näiden muutaman kuukauden aikana. Tosin ennakkoluulot jäivät, edelleen C++ on se paras, kaunein ja käyttökelpoisin ja Java on leikkimistä varten.
Projektiin sinänsä kului yllättävän paljon aikaa, varsinkin kun projektin ohessa oli syksyn aikana paljon muutakin tehtävää. Mielestäni sain kuitenkin uhrattua aikaa projektia varten melko hyvin, ja tunteja kertyi aika tasaisesti heti projektin alusta lähtien. Projekti venyi mielestäni turhan pitkään, mikä hiukan kismitti. Varsinkin loppuvaiheen tehtävät olisi voitu tehdä paljon nopeamminkin.
Kaiken kaikkiaan projekti oli mukavaa vaihtelua normaalien kurssien sijaan, mutta silti yksi kappale tietotekniikan sovellusprojekteja riittää minulle. Vaikkakin suurin osa ajasta kului ohjelmointiin, projektista varmaan eniten jäi mieleen kuitenkin dokumentointi, onhan se sen verran epämiellyttävää puuhaa.
Sovellusprojekti on ollut antoisa kokemus ja varmasti yksi hyödyllisimmistä opintojaksoista. Työskentely on ollut vaihtelevaa yleensä niin teoriapainotteiseen yliopisto opetukseen. Olen nauttinut ryhmässä työskentelystä ja ryhmämme osoittautuikin projektin aikana oikein toimivaksi.
Java-kielestä oli ennestään jonkin verran tietämystä, mutta projektin jälkeen tietämykseni on ihan eri tasolla. Suorituskyvyltään Java-kieli ei ole muiden kielten tasolla, mutta Javassa on omat hyvät puolensa. Mielestäni Java-kieli sopii tietyn tyyppisten sovelluksien tekemiseen ainakin kohtalaisen hyvin.
Projekti edistyi mielestäni koko ajan hyvin. Eniten päänvaivaa aiheuttivat ongelmat joihin ei keksinyt tyydyttävää ratkaisua. Useita ratkaisuja ongelmaan kyllä keksi, mutta mikään niistä ei syystä tai toisesta ollut omasta mielestä hyvä. Lopulta oli sitten valittava paras näistä vaihtoehdoista, vaikka ei tyytyväinen asiasta ollutkaan. Näin jälkeenpäin ajateltuna monen asian olisi voinut tehdä paremmalla tavalla, mutta suurimman osan asioista tekisin varmaan vieläkin samalla tavalla uudestaan.
Ilmoittautuessani projektiin suhtautumiseni koko hommaan oli vähän ”pakko-pullaa-asenteella”, mutta projektin käynnistyttyä asenne alkoi muuttumaan. Kerrankin sai kunnolla soveltaa oppimaansa ja hieman laajemmalla skaalalla kuin pelkissä demotehtävissä. En myöskään pidä itseäni mitenkään loistavana ryhmätyöihmisenä, joten oli aika oppia sitäkin. Yleensä kun nämä yliopistonkin ryhmätyöt tulee tehtyä niin, että jaetaan alueet ja jokainen tekee omat hommansa. Ainakin meidän projektissa oli kaikki useasti yhtä aikaa paikalla ja ryhmätyö pelasi hyvin.
Projektin luennot eivät sinällään antaneet minulle juuri mitään, mutta muu projektin osa oli antoisampi. Java-ohjelmoinnin oppiminen projektin kuluessa oli todella hyödyllistä Javan ollessa nykyään jonkinlainen valtakieli. Joskushan sekin oli pakko opetella…
Projekti eteni muuten mukavasti, mutta tosiaan venyi lopussa liian pitkälle. Tähän vaikutti osaltaan hieman retuperälle jäänyt dokumentointi ja siitä ei voi syyttää kuin itseään ja projektipäällikköä (meikä!). Sovellusprojekti on opettavainen ja erittäin hyödyllinen kurssi teoreettisten yliopisto-opintojen seassa. Syksy meni vauhdilla.
Kaakkuri oli Jyväskylän yliopiston tietotekniikan laitokselle toteutettu sovellusprojekti. Projektin aikana toteutettiin luentolukujärjestyksen suunnittelun helpottamiseksi kehitetty sovellus.
Tämä projektiraportti sisältää tietoja Kaakkuri-projektin läpiviennistä ja toteutumisesta. Dokumentissa käsitellään mm. projektin taustoja, käytössä olleita resursseja, projektin työnjakoa, sekä vertaillaan projektin suunniteltua ja toteutunutta aikataulua.
[1] PK, AP, SS, MS, ”Kaakkurin projektisuunnitelma”, Jyväskylän yliopisto, tietotekniikan laitos, 2004