KORPPI
Minna Lesonen
Hannu Pekkanen
Tuukka Tawast
Heikki Uuksulainen
Projektikäsikirja 31.5.2001
Korppi-projektin tietoja
Tekijät: Minna Lesonen (minles@st.jyu.fi) Hannu Pekkanen (krimu@st.jyu.fi) Tuukka Tawast (tutawast@mit.jyu.fi) Heikki Uuksulainen (heuuksul@st.jyu.fi)
Yhteystiedot: Agora, huone C222.2
Työn nimi: KORPPI, projektikäsikirja
Työ: Projektikäsikirja tietotekniikan cum laude -työprojektiin
Sivumäärä: 15
Teettäjä: Jyväskylän yliopisto, tietotekniikan laitos
Avainsanat: Kurssikirjanpito, ilmoittautuminen, kurssit, tentit, tietokanta, WWW-sovellus, dynaamisuus
Tiivistelmä: Korppi-projekti toteutti Jyväskylän yliopiston tietotekniikan laitokselle
Kurki-kurssikirjanpitojärjestelmän seuraajan. Järjestelmä mahdollistaa
selainpohjaisesti kurssikirjanpidon hallinnan. Projektikäsikirjassa kuvataan
projektin toteutusta.
Apache on ilmainen HTTP-palvelinohjelmisto.
CSS eli Cascade Style Sheets on WWW-sivujen ulkoasua ohjaava tiedosto.
GNUJSP on ilmainen JSP-moottori.
HTML on WWW-sivujen sisältöä kuvaava kieli.
HTTP on WWW-arkkitehtuurin käyttämä tiedonsiirtoprotokolla.
Java on Sunin kehittämä laitteistoriippumaton olio-ohjelmointikieli.
Java-pavut (engl. JavaBeans) ovat Java-ohjelmointikielellä luotuja komponentteja, joita voidaan käyttää JSP-sivuilla.
JDBC (engl. Java Database Connectivity) on Java-teknologian käyttämä tietosilta erilaisiin tietokantoihin.
Jserv on ilmainen Java-servlettimoottori.
JSP eli Java Server Pages on skriptaustyylinen ohjelmointikieli.
Keksi (engl. cookie) on Netscapen luoma, mutta nykyään jo standardoitu menetelmä saada WWW-sivuista vuorovaikutteisempia. Palvelin lähettää pieniä tietopaketteja selaimelle, jonka perusteella käyttäjä asetuksineen tunnistetaan jatkossa.
KURKI on Jyväskylän yliopistossa käytössä oleva kurssikirjanpitojärjestelmä.
Kuukkeli on Antti Viinikan Jyväskylän yliopistossa kehittämä järjestelmä ohjausaikojen ajanvaraukseen ja hallintaan.
Käyttötapaus (engl. use case) on käyttäjän tai sovelluksen toimintoa tietyn tehtävän suorittamiseksi kuvaava dokumentti.
Moduuli on tietyn tehtäväjoukon suorittamiseen kehitetty sovellus ja käyttöliittymä.
Poolman on ohjelma, joka kontrolloi tietokantayhteyksiä.
PostgreSQL on ilmainen tietokannanhallintajärjestelmä.
Skripti on ohjelmointikieltä muistuttava ja usein hieman yksinkertaistettu tulkattava kieli.
Skriptaus tarkoittaa WWW-sivujen tapauksessa ohjelmakoodin kirjoittamista HTML-dokumenttien sisään. Palvelinpuolen skriptauksessa koodi ajetaan palvelinkoneessa ja asiakaspään skriptauksessa selaimessa.
Selain on ohjelma, joka käyttäjän koneella tulkkaa HTML-kieliset sivut esitettävään muotoon.
Palvelin on ohjelmisto, joka WWW-sovellusten tapauksessa palvelee asiakkaana toimivien selainten hakupyyntöjä.
Servletti on palvelimella sijaitseva sovelma (engl. applet), joka toteuttaa HTTP-palvelimen pyynnöstä tietyn toiminnon.
SQL eli Structured Query Language on tietokantojen hallintaan kehitetty standardi kieli.
Tomcat on ilmainen servletti- ja JSP-moottori.
Sisältö
2 Projektin
resurssit ja organisaatio
3 Projektin
tehtävät ja niiden jakautuminen
Ensimmäinen Jyväskylän yliopistossa yleiseen käyttöön toteutettu WWW-pohjainen kurssikirjanpitosovellus, Kurki, toteutettiin matematiikan laitokselle tietotekniikan cum laude -työprojektina keväällä 1998. Sen tarkoituksena oli yhdenmukaistaa laitoksella käytetyt kurssikirjanpitojärjestelmät ja laajentaa niiden käytettävyys verkkoon. Kurki huomattiin ideana hyväksi ja sen käyttöä haluttiin laajentaa, jonka vuoksi päätettiin aloittaa sen seuraajan toteuttaminen.
Uuden järjestelmän ensimmäinen kehittäjä oli syksyn 2000 cum laude -työprojekti Kotka. Kotka-projekti määritteli uuden järjestelmän ominaisuudet, suunnitteli sille tietokannan, vertaili mahdollisia ohjelmistoja ja valitsi niistä käytettävät sekä toteutti henkilötieto-osuuden.
Keväällä 2001 Korppi-projekti jatkoi järjestelmän kehitystä. Projektin tehtäviin kuului kurssikirjanpito-osuuden toteutus. Projektin toteutusta jatkavat kesän 2001 aikana Tuukka Tawast ja Heikki Uuksulainen.
Keväällä 2001 käytti myös Halko-niminen cum laude -työprojekti, hyväkseen Kotka-projektin laatimaa tietokantarakennetta. Kevään aikana tehtiin näiden projektien välillä yhteistyötä erityisesti tietokannan määrittelyssä. Halko suunnitteli ja toteutti kansalaisopistoille ja muille oppilaitoksille opetushallinto-ohjelman.
Korppi-projektin tavoitteena oli toteuttaa kurssikirjanpitosovellus, jossa ovat kaikki Kurki-järjestelmän ominaisuudet sekä joitakin uusia. Tässä projektikäsikirjassa kuvataan projektin toteutusta keskittyen itse projektiin, sen organisaatioon, tehtäviin, tavoitteeseen ja aikatauluun sekä niiden toteutumiseen verrattuna alkuperäiseen projektisuunnitelmaan.
Erillisessä sovellusraportissa käsitellään sovelluksen toteutusta, verrataan sitä sovellussuunnitelmaan sekä annetaan sovellukselle jatkokehitysideoita. Sovelluksen käyttöliittymästä laaditaan erillinen käyttöohje ja sovelluksen vaatimasta tietokannasta toteutetaan erillinen tietokantaraportti yhdessä Halko-projektin kanssa.
Luvussa 2 käsitellään projektin resursseja ja organisaatiota. Luku 3 kertoo työtehtävien jaosta. Luku 4 kuvaa tavoitteen toteutumista ja luku 5 aikataulussa pysymistä. Luku 6 pitää sisällään henkilökohtaiset kokemukset projektin kulusta ja sisällöstä.
Projektin jäseninä olivat Minna Lesonen, Hannu Pekkanen, Tuukka Tawast ja Heikki Uuksulainen. Tietotekniikan linjoina Minnalla on tietoliikenne, Hannulla tietotekniikan opettajan linja sekä Tuukalla ja Heikillä ohjelmistotekniikka.
Tilaajana toimi Jyväskylän yliopiston tietotekniikan laitos ja sen edustajana Pauli Kujala. Projektin vastaavana ohjaajan toimi Jukka-Pekka Santanen sekä teknisinä ohjaajina olivat Tommi Lahtonen, Sami Poimala, Markku Vire, Vesa Lappalainen ja Tero Toivonen. Projektissa oli myös graafisena suunnittelijana Päivi Kaijula.
Projektiryhmällä oli käytössä oma työhuone C222.2. Agorassa. Huoneessa oli neljä tietokonetta, joista yhdessä oli käyttöjärjestelmänä Windows 2000 ja muissa Red Hat Linux 6.2.
Linux-koneisiin oli asennettuna Apache 1.3.17, Java SDK Standard Edition, Tomcat 3.2.1, PoolMan 1.4.1, PostgreSQL 7.0.3 ja Netscape 4.76. Yhteen koneeseen asennettiin lisäksi Mozilla 0.8 ja JRE. Windows-koneessa oli asennettuna Corel DRAW 9, Netscape 6, Internet Exploder 5, JBuilder 4 sekä Office 2000. Projektilla oli lisäksi käytössä omat kotisivut osoitteessa http://europa.it.jyu.fi/korppi sekä sähköpostilista korppi@mit.jyu.fi.
Projekti jaettiin aluksi pienempiin osiin ja kullekin projektilaiselle määriteltiin oma vastuualue. Projektin alkuperäinen tehtäväjako muuttui Päivi Kaijulan liittyessä projektiin. Hänelle siirtyi osa sovelluksen ulkoasun sommittelusta, joka oli alun perin Minnan tehtävänä.
Hannun osuudeksi sovittiin tietokanta, kalenteriosuus ja palvelinratkaisut. Tietokannan suhteen Hannu teki esimerkillistä yhteistyötä Halko-projektin tietokantavastaavan Jussi Kuittisen kanssa. Projektin kuluessa päätettiin jättää kalenteriosuus toteuttamatta. Heikin vastuulla olivat JSP- ja Java-koodit, jonka lisäksi toimi ryhmän projektipäällikkönä. HTML-koodin sovittiin olevan Tuukan vastuulla, joka vastasi myös projektin tiedotuksesta. Tuukka toimi kokouksissa sihteerinä ja suurin osa kokouksien pöytäkirjoista on hänen kirjoittamiaan.
Projektissa vaikeinta oli kurssikirjanpidon jako opettajan ja oppilaan osuuksiin, koska työmäärää oli hankala arvioda etukäteen. Oppilaan osuuden toteutti Heikki ja opettajan osuus jäi Minnan ja Tuukan toteutettavaksi. Tuukalle tuli projektin kuluessa tehtäväksi myös ylläpidon osuus, jolloin pääosa opettajan toteutuksesta jäi Minnalle. Muiden saatua omat osuutensa valmiiksi, keskittyivät kaikki projektin jäsenet opettajan osuuden toteutukseen. Hannu toteutti opettajan osuuteen tentit, Heikki rajapinnan opettajan ja ylläpidon välille sekä Tuukka opintosuorituksiin liittyvän osuuden. Minnan osuus kaventui näin kursseihin ja kurssilaisiin liittyvien osuuksien toteutukseen.
Dokumentoinnin osalta sovittiin kunkin osa-alueen dokumentoinnin kuuluvan sen tekijälle. Tietokantaraportin ja asennusohjeen teki Hannu. Jokainen kommentoi itse kirjoittamansa koodit ja yhteiset dokumentit kirjoitettiin yhdessä.
Projektilla oli hyvin kunnianhimoisena tavoitteena toteuttaa uusi ja parempi kurssikirjanpitojärjestelmä. Käyttöliittymän suunnittelu oli tärkeällä sijalla projektissa Kurki-järjestelmästä tulleen runsaan negatiivisen palautteen johdosta.
Projektilaisten ajasta suuri osa kuluikin ulkoasun muokkaamiseen. Ulkoasulle asetettiin suuret odotukset, joita ennestään lisäsi graafisen suunnittelijan ottaminen projektiin. Korppi-sovelluksen nykyinen ulkoasu on hyvin tarkkaan mietitty ja siihen on yhdistetty monia erilaisia näkemyksiä hyvästä käyttöliittymästä.
Ulkoasua muokattiin projektin alusta loppuun ja se hieman kärsii järjestelmään myöhemmin tehdyistä uusista toiminnoista ja muutoksista, joiden ulkoasua ei ole ehditty sovittaa siihen. Parannusta entiseen järjestelmään on tapahtunut ja uudesta ulkoasusta on saatu positiivista palautetta projektin ulkopuolisilta henkilöiltä. Ulkoasusta tuli huomattavasti alkuperäistä suunnitelmaa parempi. Käyttöliittymä kaipaa käytettävyyden osalta muokkausta testauksesta saadun palautteen pohjalta.
Toiminnallisuudeltaan sovellukseen kuului monia osia, joita ei projektin alussa tarkemmin määritelty. Ominaisuuksilta vaadittiin Kurki-järjestelmässä olevat toiminnot sekä kalenteritoiminto. Tässä kohtaa tavoitteita ei täysin saavutettu, sillä kenelläkään ei ollut tiedossa kaikkien ominaisuuksien toteuttamiseen vaadittava työmäärä.
Erityisesti liikaa aikaa kului ulkoasun lisäksi tietokannan muokkaamiseen. Ajankäyttöä suunniteltaessa oletettiin tietokannan olevan pääosin valmis, joka osoittautui vääräksi oletukseksi projektin aikana. Järjestelmään lisättiin useaan otteeseen uusia ominaisuuksia, joita ei ollut kyetty ennustamaan tietokantaa laadittaessa ja jotka vaativat tietokantaan päivityksiä. Tietokannan keskeneräisyyden vuoksi toiminnallisuuden toteutuksen aloitus jouduttiin aloittamaan vasta maaliskuun puolivälissä. Ryhmän lopulta päästessä toimintojen toteutukseen se tapahtui ennalta arvioidussa ajassa, mutta myöhäisen aloituksen johdosta testijakso jouduttiin jättämään kesälle.
Projektin alusta asti oli tiedossa, että aika ei riitä kaikkien ominaisuuksien toteuttamiseen. Luvussa kuvataan toteutusvaiheiden pohjalta kerrallaan aikataulua ja pohditaan sen toteutumista käytännössä. Varsinainen aikataulusuunnitelma löytyy projektisuunnitelmasta. Seuraavassa toteutunut aikataulu.
22.1.2001
Projektitöiden jako ja alustava suunnittelu.
20.2.2001
Alustava suunnittelu päättyy.
20.2.2001
Kurssikirjanpidon rakenteen suunnittelu alkaa.
10.3.2001
Suunnitteluvaiheen puoliväli.
27.3.2001
Suunnitteluvaihe päättyy.
27.3.2001 Toteutusvaihe
alkaa.
3.5.2001
Testausvaihe alkaa.
17.5.2001 Toteutusvaihe päättyy
17.5.2001
Loppudokumentointi alkaa
28.5.2001
Projektin päätös
Projektitöiden jako sujui nopeasti ja projektin alustava suunnittelu annettujen vaatimusten perusteella suoritettiin nopeasti. Kotka-projektin aineistoon tutustuminen tapahtui arvioidussa ajassa ja projekti pääsi nopeasti käyntiin.
Projektin ohjelmistoiksi hyväksyttiin Kotka-projektin valitsemat ohjelmistot, jotka asennettiin koneisiin. Ohjelmistot saatiin asennettua koneisiin nopeasti ja todettiin testaamalla toimiviksi ratkaisuiksi. Käyttöliittymän ulkoasun ensimmäinen versio oli Minnan suunnittelema. Seuraavat versiot ja lopullisen version suunnitteli Päivi Kaijula, joka oikeastaan kuului projektin avustajiin. Käyttöliittymän ulkoasusta ei saatu ensimmäisen version jälkeen hahmotelmia suoraan WWW-sivuille, vaan Päivi esitteli niitä kokouksissa. Käyttöliittymän sivurakenne sovittiin jo projektin alussa ja se säilyi muuttumattomana koko projektin ajan.
WWW-sivuston ulkoasusuunnitelma valmistui selvästi etuajassa samoin kuin käyttötapauksetkin. Projektisuunnitelman teko onnistui ajallaan, mutta sovellussuunnitelman tekeminen valmiiksi kesti.. Mutta se saatiin kuitenkin ajallaan valmiiksi.
Tietokannan pohjarakenne oli valmiina, vaikka itse tietokantaa jouduttiin muokkaamaan huhtikuun loppuun asti. Lisätyötä projektille tuotti tässä vaiheessa Kotka-projektin toteuttamien sivujen korjaaminen, jotta ne toimisivat uusitun tietokannan kanssa. Tietokantaa jouduttiin muokkaamaan koko projektin ajan, koska sovellukselle tuli koko projektin ajan tietokannan rakenteen päivittämistä vaativia uusia vaatimuksia ja ideoita.
Heikki pääsi aloittamaan opiskelijan käyttöliittymän toteutusta jo maaliskuun toisella viikolla. Opiskelijan käyttöliittymä valmistuikin ajoissa ja sitä ehdittiin projektin puitteissa jopa hieman testaamaan. Tuukka aloitti sovellussuunnitelman valmistuttua ylläpitäjän osuuden toteutuksen. Ylläpitäjän osuus oli projektissa alunperin jätetty viimeiseksi Projektin kuluessa tilaaja näki tärkeäksi tehdä myös ylläpitäjälle muutamia sivuja. Näin ainoastaan Minna aloitti maaliskuun alussa opettajan käyttöliittymän toteutuksen, joka johti ehdottomasti tässä vaiheessa aivan liian pieneen panostukseen. Hannu huolehti koko projektin ajan tietokannasta ja sen vaatiman suuren ajan vuoksi kalenteriosuus jätettiin toteuttamatta.
Sovellusta ei tehty kerralla valmiiksi asti, vaan sitä tarjottiin halukkaille testattavaksi aina uusien ominaisuuksien valmistuttua. Sovelluksen ulkoasusta toteutettiin useita malleja, joita annettiin palaverien yhteydessä kommentoitavaksi. Sovelluksesta kiinnostuneille annettiin mahdollisuus kommentoida sovellusta sovitun mukaisesti.
Sovelluksen toteutusvaihetta ei projektin aikana saatu päätettyä ja siten sovellusta valmiiksi. Toiminnallisesti sovelluksesta saatiin toimiviksi tärkeimmät osat. Koska alusta asti oli selvää, että kaikkea ei ehditä toteuttamaan, sovittiin tilaajan ja vastaavan ohjaajan kanssa toteutusta jatkettavan kesän aikana. Tuukka ja Heikki jatkavat kurssikirjanpidon toteutusta kesän ajan ja heille siirrettiin projektissa toteuttamatta jääneet osat.
Sovellusta ei saatu projektin aikana valmiiksi. Vaaditun laajuinen ja testattu sovellus olisikin uskomaton suoritus. Sovelluksen toiminnallisuuden toteuttamiseen kului aikaa suunnitelman yhteydessä arvioitu kuukausi, mutta tietokannan muokkauksen lisäksi sovelluksen ulkoasun muokkaamiseen kului huomattavasti arvioitua enemmän aikaa. Osasyynä tähän voitaneen pitää projektiin vasta projektin puolivälissä mukaan tullutta graafista suunnittelijaa, jonka osuutta ei projektiin lainkaan alun perin suunniteltu. Kaikkien ryhmäläisten ajasta kului suuri osa sovelluksen ulkoasun muokkaamiseen ja sitä muutettiin useaan kertaan. Jälkeen päin ajatellen olisi ollut järkevämpää toteuttaa ensin sovelluksen toiminnallisuus ja vasta testauksen yhteydessä hioa sen ulkoasua.
Seuraavassa käydään läpi jokaisen projektiryhmäläisen henkilökohtaisia kokemuksia projektista. Yleisesti ryhmän toimivuus ja henki oli hyvää luokkaa läpi kevään. Projektia voidaan pitää onnistuneena opetustapahtumana ryhmäläisille.
Projektiryhmämme oli todella mahtava ja toimimme hyvin tiiminä. Projektiin liittyvien kangertelujen ja vaikeuksien aikana olin todella tyytyväinen projektiryhmäämme, joka jakoi uusiin työkaluihin ja sovelluksiin liittyvät ongelmat sekä ajanpuutteen. Olin varannut tälle projektille vain vaaditut 200 tuntia ja projektin vaatiman ajan ollessa yli 400 tuntia jouduin hieman karsimaan muita kursseja. Yllättävän hyvin tämä kevät kuitenkin meni ja aika kului kuin siivillä.
Itse olisin halunnut toteuttaa projektin enemmän omana erillisenä osuutenaan. Olisin halunnut suunnitella ryhmämme kanssa kurssikirjanpidon tietokannan, jonka jälkeen olisimme kaikki tunteneet tarkkaan tekemämme sovelluksen rakenteen. Olisin myös halunnut sovelluksen näyttävän ja tuntuvan enemmän omalta sovellukselta. Nyt se on enemmän projektin ohjaajien näköinen.
Projektin aihe oli mielestäni erittäin mielenkiintoinen ja tarjosi valtavasti haasteita. Osa projektin työkaluista oli minulle entuudestaan tuttuja, mutta kunnolla käyttämään ja testaamaan en niitä aiemmin ollut päässyt. Sovellusta jatkokehittävälle syksyn projektilaisille voin suositella kilpailevan laitoksen verkkotekniikan jatkokurssia. Siitä sekä kursseista Ohjelmointi++ ja Tietokannat oli tähän projektiin valtavasti apua. Näin jälkeen päin jää hieman harmittamaan, että en päässyt soveltamaan oppimiani asioita ajanpuutteen vuoksi paremmin tähän projektiin.
Projektityöskentely oli minulle jo entuudestaan tuttua työni puolesta. En kuitenkaan ole ennen ollut mukana sovelluskehitysprojektissa, joten suurin osa asioista oli uutta. Projektiin olin alustavasti varannut aikaa n. 200 tuntia johtuen siitä, että olen täysipäiväisesti töissä yksityisellä sektorilla.
Työprojektiin tulin tietysti siksi, koska se on pakollinen kaikilla linjoilla. Muuten olisin todennäköisesti projektin jättänyt tekemättä johtuen muista velvoitteistani. Tietokantojen hallintajärjestelmät olivat minulle jo entuudestaan tuttuja, mutta tietokantojen suunnittelua en ollut aikaisemmin tehnyt. Jatkuva ER-kaavioiden päivittäminen ja muutoksien tekeminen projektiorganisaation intuitioiden perusteella meinasi käydä raskaaksi. Välillä tuntui jo, että en saa projektissa aikaan mitään konkreettista, mutta onneksi projektin edetessä homma alkoi kuitenkin sujua paremmin.
Ohjelmointiin olin ehtinyt perehtyä yliopiston järjestämillä kursseilla jo ennen projektia. Projektissa käytetyt työkalut olivat kuitenkin uusia ja alussa perehtyminen vei aikaa melko paljon. Tuntui siltä, että perehdyttämiseen ei oltu varattu projektiorganisaation puolesta juurikaan aikaa. Tästäkin onneksi selvittiin ryhmähengellä, kärsivällisyydellä ja pitkäjänteisyydellä.
Työprojektin etenemistä hidastivat työni ja henkilökohtaisten asioideni lisäksi suuri projektiorganisaatio, jonka kankeus tuntui myös välillä tuskastuttavalta. Lisäksi työmäärä oli todella paljon suurempi kuin olin alustavasti olettanut. Tämän takia elämää työn ja projektin ohella ei keväällä juurikaan ollut. Hitaan ja tuskaisen alun jälkeen projekti saatiin kuitenkin täyteen vauhtiin ja suunniteltuja ominaisuuksia päästiin toteuttamaan.
Projektiryhmämme sisäinen ilmapiiri oli loistava. Ryhmän sisällä kaikki toimi todella hienosti ja yhteistyöllä esteet saatiin raivattua ja projekti vietyä läpi. Tästä kiitokset Minnalle, Tuukalle ja Heikille, jotka jaksoivat olla kannustavia, vaikka aikatauluni oli kiireinen ja hankala projektin kannalta.
Yhteenvetona voisin todeta, että sovelluskehitys on todella raskasta työtä, jota ei voi ilman hyvää suunnittelua toteuttaa. Projekti on ollut raskas, mutta erittäin opettavainen. Tosi elämässäkään kaikki ei aina mene niin kuin on suunnitellut, mutta aina löytyy keinoja, joilla homma etenee. Uskoisin, että toteuttamamme työprojekti antoi todentuntuisen kuvan kaikista sovelluskehitykseen liittyvistä osa-alueista. Lopuksi toteaisin vielä, että projekti oli onnistunut ja voin hyvällä omallatunnolla suositella työprojektiin osallistumista muillekin kuin tietotekniikkaa pääaineenaan lukeville.
Projektin suorittaminen tuntui aluksi haastavalta ja varasin siihen reilusti aikaa. Ajan varaaminen osoittautuikin tarpeelliseksi, sillä projektistamme tuli laaja.
WWW-ohjelmointi osoittautui uutena asiana haastavaksi tekniikaksi. Ilman debuggeria ohjelmointi oli hitaanlaista. Omalta osaltani tehtävää vaikeutti muutaman vuoden tauko varsinaisessa ohjelmointityössä. Ryhmä osoittautui oppimishaluiseksi ja innokkaaksi, joten projektin aloitus sujui nopeasti. Ryhmä hitsautui hyvin yhteen ja asioita tehtiin sopivalla huumorilla. Ryhmähenki oli erittäin hyvä.
Projektissa oppi hyvin toteuttamaan JSP-tekniikkaa WWW-ohjelmoinnissa. Samoin Javalla ohjelmointi oli minulle uutta. HTML ja CSS olivat minulle tuttuja aiemmilta kursseilta. Tietokannan suunnittelu ja ER-kaavioiden tulkinta tuli myös uutena minulle. Esiintymistaitojen parantaminen opponoinneissa ja loppuesittelyssä oli kehittävää. Kokoustekniikat sekä sihteerin toimen opettelu ja toteutus auttavat osaltaan varmasti myös jatkossa. Projekti oli kokonaisuudessaan erittäin opettavainen jakso. Harvoilla luentokursseilla opitaan saman verran opintoviikkomäärään verrattuna.
Huonoina puolina näkisin projektin laajuuden ja alun suunnitteluvaiheen keston. Samoin yhteistyö toisen projektin (Halko) kanssa pitkitti ratkaisuja ja samalla venytti aikataulua. Myös lähtökohta tutustua kokonaisuudessaan edeltäjäprojekti Kotkan työhön vei aikaa ja resursseja projektin alusta.
Projektimuotoinen työskentely näinkin suuren sovelluksen tuottamiseksi oli aivan uusi kokemus ja siitä saimmekin varmasti tulevaisuutta ajatellen arvokasta kokemusta. Ryhmämme toimi mielestäni varsin hyvin yhteen hiileen puhaltaen ja ryhmähenki oli todella hyvä, joten kiitokset siitä ryhmälle. Asioihin pystyttiin suhtautumaan riittävällä huumorilla, vastuuntuntoa kuitenkaan unohtamatta.
Työmäärältään projektimme oli erittäin suuri ja asiaa ei ainakaan helpottanut se, että jatkoimme syksyn Kotka-projektin työtä, jolloin meidän oli ensin tutustuttava heidän aikaansaannoksiinsa. Mielestäni pystyimme kuitenkin varsin nopeasti sisäistämään Kotka-ryhmän tuotokset, eikä siitä aiheutunut kovin suurta ongelmaa. Tilaajan asettamista tavoitteista jouduttiin hieman tinkimään, johtuen suurelta osin suunnitteluosuuden venymisestä ja sitä kautta toteutusvaiheen jäämisestä liian lyhyeksi. Saimme kuitenkin valmiiksi mielestäni melko toimivan sovelluksen, jota on hyvä lähteä kehittämään.
Kaikki käytetyt tekniikat olivat minulle tuntemattomia, joten oppimisen kannalta tämä kevät oli varmasti yksi antoisimmista koko opiskeluaikanani. Erityisesti WWW-ohjelmointi ja eri selainversioiden asettamat rajoitukset ja erot tulivat todella yllätyksenä.
Tälle projektille oli asetettu suuret vaatimukset ja sille osoitettiin suurta mielenkiintoa koko tiedekunnassa. Se loi projektille paineita, joiden johdosta projektin toteutusta ja ominaisuuksia muutettiin koko ajan. Erityisen työlästä oli saada päätetyksi ulkoasuun liittyviä asioita ja siirryttyä seuraavaan asiaan. Kaikkien vastoinkäymisten ja hankaluuksien jälkeen voi pitää todellisena urotyönä sovelluksen valmistumisen näinkin valmiiksi.
Karl Avedal
et. al., ”Professional JSP”, Wrox Press Ltd, UK, 2000, ISBN 1-861003-62-5.
David
Flanagan, “Java in a Nutshell”, O’Reilly & Associates, USA, 1999.
Sun Microsystems, “Hierarchy For Package java.sql”, Sun Microsystems, USA, saatavissa WWW-muodossa osoitteesta <http://java.sun.com/products/jdk/1.2/docs/api/java/sql/package-tree.html>, viitattu 18.5.2001.
Petri Heinonen ja Tommi Lahtonen, ”Tietoverkot työvälineenä 2000”, Jyväskylän yliopisto, tietotekniikan laitos, 2000.
Jan
Skansholm, ”Java From the Beginning”, Pearson Education Ltd, England, 2000.
Judith S.
Bowman, Sandra L. Emerson ja Marcy Darnovsky, “The Practical SQL Handbook”,
Addison Wesley Longman, USA, 1999.
Ismo Horppu, Markku Mielityinen ja Markku Vire, “Kotka-projektin käsikirja”, Jyväskylän yliopisto, tietotekniikan laitos, 2000.
Jukka-Pekka Santanen, ”Tietotekniikan cum laude -työprojektien ohje”, Jyväskylän yliopisto, tietotekniikan laitos, 2001.
Jukka-Pekka Santanen, ”Opinnäytteiden kirjoittaminen, lyhyt oppimäärä”, Jyväskylän yliopisto, tietotekniikan laitos, 2000.
Minna Lesonen, ”Muistio Vesa Lappalaisen haastattelusta”, saatavilla WWW-muodossa <URL: http://kotka.it.jyu.fi/korppi/opettaja/lappalainen.shtml>, Jyväskylän yliopisto, tietotekniikan laitos, 2001.
Hannu Pekkanen ja Jussi Kuittinen, ”Tietokantaraportti”, Korppi-projektin projektikansio, Jyväskylän yliopisto, tietotekniikan laitos, 2001.
Minna Lesonen, Hannu Pekkanen, Tuukka Tawast ja Heikki Uuksulainen, “Korppi-projekti sovelluskäsikirja”, Jyväskylän yliopisto, tietotekniikan laitos, 2001.