KOLIBRI-projekti

 

 

Mia Jaakkola

Sanna Juutinen

Matti Lupari

Mikko Nieminen

 

 

 

 

 

         Projektisuunnitelma 30.10.2001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Jyväskylän yliopisto

Tietotekniikan laitos




Kolibri-projektin tietoja

 

Tekijät: Mia Jaakkola (minttu@pp.inet.fi)

   Sanna Juutinen (sajuutin@st.jyu.fi)

   Matti Lupari (matlupa@st.jyu.fi)

   Mikko Nieminen (nieppa@st.jyu.fi)

 

Yhteystiedot: Agora, huone C222.2, puh. 014-260 4963, projektiorganisaation sähköpostilista kolibri@mit.jyu.fi.

 

Työn nimi: KOLIBRI-projekti, projektisuunnitelma

 

Työ: Projektisuunnitelma tietotekniikan cum laude -työprojektiin

 

Tiivistelmä: Kolibri-projekti toteuttaa Jyväskylän yliopiston tietotekniikan laitoksella toteutettuun Kotka-nimiseen järjestelmään WWW-pohjaisen ajanvaraus- ja päivyriosion. Projektisuunnitelmassa kuvataan projektin taustoja ja tavoitteita, projektiorganisaatiota sekä työnjakoa ja suunniteltua aikataulua.

 

Avainsanat: Ajanvaraus, päivyri, WWW-sovellus, Kotka-järjestelmä.


 

 

 

Sisältö

 

1.    Johdanto................................................................................................................ 1

2.    Termejä.................................................................................................................. 2

3.    Projektin taustaa ja tavoitteita.............................................................................. 3

3.1. Taustaa.............................................................................................................. 3

3.2. Tavoitteita.......................................................................................................... 4

4.    Projektin resurssit ja organisaatio....................................................................... 4

5.    Projektin tehtävät ja niiden jakautuminen........................................................... 5

6.    Projektin aikataulu................................................................................................. 6

7.    Riskien arviointi ja hallinta.................................................................................... 7

8.    Yhteenveto............................................................................................................. 7

Lähteet.......................................................................................................................... 8

Liite. Projektin aikataulu janakaaviona .............................................................9

 



 

1.    Johdanto

Kolibri-niminen tietotekniikan cum laude -työprojekti on jatkoa Kurki-sovelluksen jatkokehittämisestä liikkeelle lähteneeseen opetus- ja tutkimushallintajärjestelmän kehittämiseen. Vuonna 1998 toteutettua Kurki-projektia ovat seuranneet syksyn 2000 Kotka-projekti sekä kevään 2001 Korppi- ja Halko-projektit. Kolibri toteuttaa koko Kotka-järjestelmään liittyen ajanvaraus- ja päivyriosion.

Olemassaoleva järjestelmä ja sen sisältämä tietokanta on nimeltään Kotka. Korppi-sovellus on Kotka-järjestelmän kurssikirjanpito-osio. Se tulee korvaamaan ensi syksyyn mennessä entisen Kurki-järjestelmän. Halko-projekti toteutti kansalaisopistoille ja muille oppilaitoksille opetushallinto-ohjelman ja teki tiivistä yhteistyötä Korppi-projektin kanssa.

Kolibri toteuttaa ajanvaraus- ja päivyriohjelmiston, jota tullaan käyttämään useammassa Kotka-järjestelmän osiossa. Se ei siis käytännössä tule olemaan oma kokonaan erillinen osionsa, mutta sitä voidaan käyttää myös erillisenä sovelluksena.

Kolibri-projekti kehittää ajanvaraus- ja päivyriosion. Sen avulla Kotka-järjestelmän eri osioissa voidaan esittää henkilökunnan tai opiskelijan varattuja aikoja mm. viikottain sekä tehdä ajanvarauksia mm. opetukseen liittyen. Päivyriosio tulee olemaan toiminnoiltaan selkeästi laajempi kuin tietotekniikan laitoksella nykyisin käytössä oleva Kuukkeli-niminen kurssien ohjausaikojen varausjärjestelmä.

Syksyn 2001 Kolibri-projektiryhmään kuuluvat tietotekniikan opiskelijat Mia Jaakkola, Sanna Juutinen, Matti Lupari ja Mikko Nieminen. Tilaajana toimii Jyväskylän yliopiston tietotekniikan laitos, jota edustavat Pauli Kujala ja Vesa Lappalainen. Muut projektiorganisaatioon kuuluvat henkilöt esitellään luvussa 4.

Luvussa 2 esitellään aiheeseen oleellisesti liittyviä käsitteitä sekä luvussa 3 projektin taustoja ja tavoitteita. Luku 4 esittelee projektin organisaation ja resurssit. Luvussa 5 käsitellään projektin tehtäviä ja niiden jakautumista projektin jäsenten kesken. Luku 6 kuvaa projektin suunnitellun aikataulun. Luvussa 7 arvioidaan projektiin liittyviä riskejä.


 

2.    Termejä

Kolibri-projektiin keskeisesti liittyviä aihealueen, tekniikoiden, palvelinohjelmistojen ja ohjelmointityökalujen käsitteitä ovat mm. seuraavat:

Apache                      on ilmainen HTTP-palvelinohjelmisto.

CSS                            eli Cascading Style Sheets on WWW-sivujen ulkoasua kuvaava kieli.

GNUJSP                   on ilmainen JSP-moottori.

Halko                         on Heinolan kansalaisopistolle toteutettu opetuksenhallintajärjestelmä.

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 kutsua JSP-sivuilla.

JDBC                         eli 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.

Kotka                         on Kurki-järjestelmän seuraajajärjestelmän nimi.

Korppi                       on Kotka-järjestelmän kurssikirjanpitomoduuli.

Kurki                          on Jyväskylän yliopistossa käytössä oleva Intrabuilderilla toteutettu WWW-pohjainen 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.

 

 

3.    Projektin taustaa ja tavoitteita

Kolibri-projektin taustalla on Jyväskylän yliopiston parilla laitoksella käytössä oleva WWW-pohjainen Kurki-niminen kurssikirjanpitojärjestelmä. Kotka-projektin määrittelemä tietokanta ja Korppi-projektin toteuttama kurssikirjanpito-osuus tulevat korvaamaan Kurki-järjestelmän. Kolibri toteuttaa koko järjestelmään liittyen ajanvaraus- ja päivyriosion.

 

 

3.1. Taustaa

 

Olemassaoleva WWW-pohjainen järjestelmä ja sen sisältämä tietokanta on nimeltään Kotka, joka oli myös nimenä syksyn 2000 projektilla. Korppi-sovellus on Kotka-järjestelmän kurssikirjanpito-osio. Se tulee korvaamaan ensi syksyyn mennessä entisen Kurki-järjestelmän. Halko-projekti toteutti kansalaisopistoille ja muille oppilaitoksille opetushallinto-ohjelman ja teki tiivistä yhteistyötä Korppi-projektin kanssa.

Jyväskylän yliopiston Tietotekniikan laitoksella on käytössä myös harjoitustyönä tehty Kuukkeli-niminen WWW-pohjainen ohjausaikojen varausjärjestelmä. Työprojekteissa on jo aiemmin toteutettu WWW-pohjaisia ryhmäpäivyreitä ja ajanvarausjärjestelmiä. Laava-projekti nykyaikaisti Jyväskylän yliopiston liikunta- ja terveystieteiden tiedekunnalle mittalaitteiden ja laboratoriotilojen ajanvarausohjelmiston keväällä 2000. Tirzalla toteutti Citec Engineering Oy:lle ajankäytön hallintaa ja yhteisten palaverien sopimista helpottavan ohjelmiston syksyllä 1999.

Maailmalta löytyy monenlaisia päivyriohjelmistoja niin tavallisilta mikroilta kuin kämmen- ja taskumikroiltakin. Projektilaiset tutustuivat Palmin taskumikron ja Ericssonin kämmenmikron kalenterisovelluksiin. Microsoftin Outlook-kalenteri sekä WWW-ympäristöön toteutetut Webcalender- ja Zulu-kalenterit olivat myös ideoiden kehittäjinä. Kalenteristandardeista tutustuttiin vCalenderiin (http://www.imc.org/pdi/), jota pyritään noudattamaan mahdollisuuksien rajoissa.

Kolibri jatkaa Kurki-, Kotka- ja Korppi-projektien jalanjäljillä toteuttamalla ajanvaraus- ja päivyriohjelmiston, jota tullaan käyttämään useammassa Kotka-järjestelmän osiossa. Se ei siis käytännössä tule olemaan oma kokonaan erillinen osionsa, mutta sitä voidaan käyttää myös erillisenä sovelluksena.

Kolibri-projektille oli tarvetta, koska jo valmiina olevassa järjestelmässä nähtiin selkeä tarve päivyrisovellukselle. Itse tehty järjestelmä on helpompi integroida olemassaolevaan järjestelmään ja on yliopistolle taloudellisesti edullisempi ratkaisu. Lisäksi kaupalliset sovellukset eivät sisällä opetuksessa tarvittavia ohjausaikojen varausominaisuuksia, joten ne ovat käytännössäkin poissa laskuista.

 

3.2. Tavoitteita

 

Kolibri-sovelluksesta toteutetaan yksinkertainen ja helppokäyttöinen ajanvaraus- ja päivyriohjelma Jyväskylän yliopiston henkilökunnan ja opiskelijoiden käyttöön. Kalenteriosioon käyttäjä voi merkitä sekä yksityiset että julkiset tapahtumansa. Näyttöinä ovat päivä-, viikko-, kuukausi- ja vuosinäkymät.

Kolibri-sovellukseen toteutetaan myös ajanvarauksen vaatimat toiminnot. Siinä voi varata aikaa itselleen ohjaajalta tai yhteistä aikaa jollekin hallitsemalleen ryhmälle niin, että näkee kaikkien ryhmän jäsenten kalenterit päällekkäin. Yksityiskohtaisemmat sovellukselle asetetut tavoitteet, niiden priorisointi ja jatkokehityksen osalle sovitut ideat on esitetty sovellussuunnitelmassa.

Projektilaisten oppimisen kannalta tavoiteena on hankkia kuva luentokursseja suuremman ohjelmistoprojektin läpiviennistä ja yleensäkin perehdyttää projektimuotoiseen ryhmätyöskentelyyn. Myös tutustuminen uusiin tekniikoihin ja ohjelmointityökaluihin sekä niillä ohjelmointiin on yhtenä tavoitteena.

 

4.    Projektin resurssit ja organisaatio

 

Syksyn 2001 Kolibri-projektiryhmään kuuluvat tietotekniikan opiskelijat Mia Jaakkola, Sanna Juutinen, Matti Lupari ja Mikko Nieminen. Tilaajana toimii Jyväskylän yliopiston tietotekniikan laitos, jota edustavat Pauli Kujala ja Vesa Lappalainen.

Kolibri-projektin vastaavana ohjaajana toimii Jukka-Pekka Santanen. Tietotekniikan laitokselta ryhmän ohjaukseen osallistuvat Pauli Kujalan ja Vesa Lappalaisen lisäksi Kirsi Koponen, Tommi Lahtonen, Heikki Uuksulainen ja Markku Vire. Tietojenkäsittelytieteiden laitokselta projektiorganisaatioon kuuluvat Jorma Kyppö ja Mika Vesterholm.


 

Projektiryhmä sai käyttöönsä Agorasta huoneen C222.2, jossa on asennettuina kaksi Linux-palvelinta ja kaksi Windows 2000 -työasemaa. Joka koneelle on asennettu JBuilder 4. Toiselle palvelimista on asennettu Apache 1.3.17, Java 2 SDK Standard Edition, Tomcat 3.2.1, PoolMan 1.4.1 ja PostgreSQL 7.0.3. Toiselle työasemalle on asennettu MS Project ja MS Visual.

Projektin dokumentointi on luettavissa projektin kotisivuilla http://kotka.it.jyu.fi/kolibri. Projektilla on käytössä sähköpostilista kolibri@mit.jyu.fi.

 

5.    Projektin tehtävät ja niiden jakautuminen

 

Projektin alussa projektilaiset tutustuivat yhdessä aiempiin aihealuetta sivuaviin työprojekteihin ja olemassaoleviin kalenterisovelluksiin. Mia Jaakkola ja Sanna Juutinen haastattelivat tietotekniikan laitoksen ja tietojenkäsittelytieteiden laitoksen amanuensseja.

Jatkossa tehtävät jakaantuvat ryhmän jäsenten kesken seuraavasti. Mia Jaakkolan vastuualueena on yleinen dokumentointi, mutta jokainen ryhmän jäsen dokumentoi oman osansa työstään. Mian vastuulle kuuluvat myös kalenterin päivä-, viikko-, kuukausi- ja vuosinäytöt. Sanna Juutinen vastaa CSS:stä ja kalenterin ohjaajan näkymästä toimintoineen (mm. vapaiden ohjausaikojen merkitseminen). Matti Lupari ottaa vastuun tietokannan rakenteeseen tarvittavista muutoksista ja ohjausajan varauksesta sekä uuden tehtävän luonnista. Mikko Niemisen vastuulle jää ryhmänäytöt ja ryhmän luonti. Mikko myös perehdyttää muut projektilaiset tekniseen toteutukseen. Matti ja Mikko haastattelevat Informaatioteknologian tiedekunnan hallintopäällikköä ja yhtä opettajaa.

Määritellyt tehtävät on jaettu vastuualueittain siten, että nimetyt henkilöt perehtyvät omaan osa-alueeseensa tarkemmin kuin muihin projektin osa-alueisiin. Kuitenkin jokaisen projektilaisen tulee olla oleellisin osin perillä myös toisten osuuksista. Näin tulemme jokainen tutuiksi järjestelmän kehityksessä tarvittavien ohjelmien, tekniikoiden ja ohjelmointikielten kanssa, mutta pystymme keskittymään omaan vastuualueeseemme. Projektin kuluessa tehtäviä tarkennetaan tarvittaessa.


 

6.    Projektin aikataulu

 

Luvussa määritellään projektin aikataulu, johon on merkitty eri toteutusvaiheille varattu aika ja vastaavat tarkistuspistepäivämäärät. Aikataulu ja projektin jako tehtäviin esitetään liitessä janakaaviona.

Projektin aikataulu on seuraava:

14.9.2001 Projektitöiden jako

§          Projektit aloitettiin työprojektien aloitusluennolla.

§          Hahmoteltiin projektin toteutusta yleisellä tasolla.

§          Tutustuttiin projektiin ja toteutusratkaisuihin.

§          Tutustuttiin edellisten projektien tuotoksiin.

20.9.2001 Kalenterin ulkönäön suunnittelu alkaa:

§          Hahmotellaan kalenterin ulkonäköä (20.9.-17.10.).

11.10.2001 Suunnitteluvaiheen puoliväli:

§          Projektin tavoitteet ja vaatimukset ovat selvät ryhmälle.

§          Tutustutaan tietokantaan ja toteutustekniikkaan (1.10.- 1.11.).

§          Projektisuunnitelman laatiminen (25.9.-22.10.)

§          Sovellussuunnitelman laatiminen (4.10.-26.10.)

1.11.2001 Suunnitteluvaihe päättyy:

§          Projektisuunnitelma on hyväksytty.

§          Sovellussuunnitelma on hyväksytty.

§          Kalenterin ulkoasu on lyöty lukkoon, tiedot tietokannasta.

1.11.2001 Toteutusvaihe alkaa vastuualueiden jakautuessa seuraavasti:

§          Mia: kalenterin päivä-, viikko-, kuukausi- ja vuosinäytöt,   dokumentointi yleisellä tasolla (22.10.-15.12.).

§          Sanna: CSS, ohjaajan näkymä ja toiminnot (vapaiden ohjausaikojen merkitseminen; 22.10.-15.12.).

§          Matti: tietokannan muutokset, ohjausajan varaus ja uuden tehtävän luonti ja muokkaus (22.10.-15.12.).

§          Mikko: perehdyttää muita tekniikkaan, ryhmänäytöt päällekkäin ja ryhmän luonti (22.10.-15.12.).

15.11.2001 Toteutusvaiheen puoliväli:

§          Ensimmäinen prototyyppi on valmis.

7.12.2001 Toteutusvaihe päättyy:

§          Järjestelmä on toiminnallisesti valmis.

7.12.2001 Testausvaihe (15.11.-15.12.) alkaa:

§          Kaikki projektilaiset testaavat koko sovellusta.

§          Tilaajan edustajat, ohjaajat ja Päivi Jämsen testaavat sovellusta.

17.12.2001 Testausvaihe päättyy:

§          Ajanvaraus ja päivyrisovellus on saatu projektin osalta päätökseen.

§          Sovellus dokumentteineen on luovutettu tilaajalle.

 

7.    Riskien arviointi ja hallinta

 

Projektin suurin riski on sovitussa aikataulussa pysyminen. Projektiin kuuluvien henkilöiden henkilökohtaiset aikataulut on pyritty luomaan joustaviksi, jotta projekti saadaan toteutettua aikataulussa.

Mahdolliset eriävät näkemykset toteutettavasta sovelluksesta tuovat mukanaan omat riskinsä. Kaikkien osapuolien jokaista näkemystä ei voida tämän projektin tiimoilta toteuttaa. Tarvittaessa jätetään sovelluksen jatkokehittäjälle prioriteetiltaan pienemmät asiat, jotka on eritelty sovellussuunnitelmassa.

Olemassaolevan päälle rakentamisessa on se vaikeus, että täytyy olla perillä edellisistäkin töistä. Pelkän oman sovelluksen hallinta ei siis riitä. Tietokannan muutosten kanssa täytyy olla tarkkana, ettei rikota aikaisempien sovellusten käyttämiä rakenteita.

Lähes kaikki sovelluskehityksessä käytettävät ohjelmistot ovat ainakin osalle projektilaisista aivan uusia ja outoja. Tämä saattaa hankaloittaa ja viivästyttää projektin etenemistä. Projektin ohjaajien perehdyttämistilaisuudet tulevat tältä osin tarpeeseen.

Sovelluksen prototyyppi täytyy saada valmiiksi hyvissä ajoin (katso luku 6), jotta testeistä saatua palautetta voidaan hyödyntää sovelluksen lopullisessa versiossa. Järjestelmää testataan järjestelmällisesti, jotta ongelmat saadaan poistetuksi ennen järjestelmän luovuttamista tilaajalle.

Pääosa riskeistä kohdistuu sovelluskehitykseen, jota tarkastellaan tarkemmin projektiryhmän laatimassa sovellussuunnitelmassa.

 

8.    Yhteenveto

 

Projektiryhmä toteuttaa ajanvaraus- ja päivyriosuuden Kotka-järjestelmään. Koska Kolibri-projekti liittyy läheisesti aikaisemmin toteutettuihin Kotka-, Korppi- ja Halko-projekteihin, tulee ryhmän olla selvillä myös näistä järjestelmistä.

Projektin läpivienti on vaativaa työtä varsinkin, kun projektilaisilla ei ole kokemusta suurten järjestelmien kehittämisestä. Projektiryhmä tulee tekemään parhaansa ja uskoo pääsevänsä lopputulokseen, johon useimmat ovat tyytyväisiä. Projektin jälkeen kaikki jäsenet ovat saaneet hyvän annoksen projektityöskentelyoppia.

 


Lähteet

 

Horppu Ismo, Mielityinen Markku ja Vire Markku, ”Kotka-projektin projektikansio”, Jyväskylän yliopisto, Tietotekniikan laitos, 2000.

 

Koponen Kirsi, Kuittinen Jussi ja Laitinen Santeri, ”Halko-projektin projektikansio”, Jyväskylän yliopisto, Tietotekniikan laitos, 2001.

 

Lesonen Minna, Pekkanen Hannu, Tawast Tuukka ja Uuksulainen Heikki, ”Korppi-projektin projektikansio”, Jyväskylän yliopisto, Tietotekniikan laitos, 2000.

 

Santanen Jukka-Pekka, ”Tietotekniikan cum laude -työprojektien ohje”, Jyväskylän yliopisto, Tietotekniikan laitos, 2001.

 

Santanen Jukka-Pekka, ”Opinnäytteiden kirjoittaminen, lyhyt oppimäärä”, Jyväskylän yliopisto, Tietotekniikan laitos, 2000.

 

Tawast Tuukka, Uuksulainen Heikki, ”Korppi-projektin jatkokehitys”, Jyväskylän yliopisto, Tietotekniikan laitos, 2001.