URAANI-projekti
Teemu Lappalainen
Anu Valkonen
Mikko Vieru
Markus Viklund
Sovellussuunnitelma 17.5.2002
URAANI-projektin tietoja
Tekijät: Teemu Lappalainen (teelapp@cc.jyu.fi)
Anu Valkonen (anivalk@st.jyu.fi)
Mikko Vieru (mivieru@cc.jyu.fi)
Markus Viklund (vimabe@cc.jyu.fi)
Tilaaja: Jyväskylän avoin yliopisto
Teettäjä: Jyväskylän yliopisto, tietotekniikan laitos
Yhteystiedot: Agora, huone C223.2 puh. 014-2604964
Tiivistelmä: Uraani-projekti toteuttaa Jyväskylän yliopiston avoimelle yliopistolle Vainu-nimisen opintoneuvonta- ja urasuunnittelusovelluksen. Sovellussuunnitelmassa kuvataan Vainu-järjestelmälle asetetut tavoitteet, toimintojen ja ominaisuuksien priorisointi sekä tämän projektin ulkopuolelle rajattavat ominaisuudet. Dokumentissa käsitellään myös Vainu-järjestelmän tietorakennetta ER-tietokantakaavion avulla, toimintaa ja käyttöliittymää sivustokarttaa ja kuvia käyttäen sekä koodin kommentointitapaa ja testausperiaatteita.
Avainsanat: Aine, ammatti, avoin yliopisto, opintoneuvonta, opiskelu, urasuunnittelu, Java, JavaPavut, JSP, SQL, HTML, CSS, TomCat, Poolman, Apache
Versionhallinta
Versio |
Päiväys |
Muutokset |
Tehnyt |
0.1 |
7.3.2002 |
- 1. Versio |
Uraani |
0.2 |
10.3.2002 |
- Layout, sisältöä |
Uraani |
0.3 |
11.3.2002 |
- Sisältöä |
Uraani |
0.4 |
12.3.2002 |
- Sisältöä |
Uraani |
0.5 |
13.3.2002 |
- Layout, sisältöä |
Uraani |
0.6 |
19.3.2002 |
- Sivustokartta, luvut 8 ja 9 |
Uraani |
0.7 |
22.3.2002 |
- Luvun 3.2 tarkennusta, kuvien lisäystä, käyttöliittymäkuvien lisäys. |
Anu Valkonen |
0.8 |
17.4.2002 |
- Koko dokumentin läpikäynti ja korjailu. |
Anu Valkonen |
0.9 |
21.4.-30.4.2002 |
-Admin-puolen WWW-sivujen lisäys. Sisällön tarkennusta ja uudelleenjärjestelyä. |
Anu Valkonen |
Sisältö
3 Sovelluksen tavoitteet ja toiminnot
3.2 Vainu-sovelluksen toiminnot opiskelijoille
3.3
Henkilökunnan ylläpito-osan toiminnot
3.4 Projektin ulkopuolelle jäävät ominaisuudet
4 Palvelinratkaisut, työkalut ja tekniikat
4.1 Käytettävät palvelinohjelmistot
4.4 Tekniset vaatimukset ja testaus
5.2 Vainu-järjestelmän omat ratkaisut
6 Sovelluksen sivusto ja toiminnot
6.1 Sovelluksen käyttöliittymä ja navigointi
6.4 Avoimessa opiskelu -kohdan sivut
6.5 Tavoitteena tutkinto -kohdan sivut
6.6 Ammatillinen kehittyminen -kohdan sivut
6.8 Keskustelu ja palaute -kohdan sivut
6.11 Organisaatiot-kohdan sivut
6.13 Kiinnostus & Kertomus kohdan sivut
6.14 Kiinnostus & Kertomus kohdan sivut
7 Ohjelmakoodissa käytettävät merkinnät
URAANI-niminen tietotekniikan cum laude -työprojekti toteuttaa kevään 2002 aikana Vainu-nimisen WWW-pohjaisen opintoneuvonta- ja urasuunnittelusovelluksen Jyväskylän yliopiston avoimelle yliopistolle. Projektissa toteutettavalla järjestelmällä voidaan tarjota Jyväskylän avoimen yliopiston opiskelijoille opiskeluneuvontapalveluja WWW-muodossa. Tällä tavoin toteutettuna opiskeluneuvonta tehostuu, sillä opiskelijat saavat yleisen opiskeluun tarvitsemansa tiedon verkon välityksellä ja avoimen (henkilökohtainen) opiskeluneuvonta voi keskittyä vaikeampien kysymysten tarkasteluun. Sovelluksen taustalla oleva tietokanta pyritään toteuttamaan mahdollisimman joustavaksi, jotta uusia ominaisuuksia voidaan lisätä myöhemmin ja käyttöä voidaan laajentaa Jyväskylän yliopiston muiden laitosten tarpeisiin.
Kevään 2002 aikana URAANI-projektin jäsenet ovat Teemu Lappalainen, Anu Valkonen, Mikko Vieru ja Markus Viklund. Avoimen yliopiston puolelta projektin vastuuhenkilöitä ovat Minna Lehtonen, Carita Haapanen, Mervi Gröhn ja Tommi Lahtonen. Minna Lehtonen vastaa sisällön tuottamisesta. Projektin vastaavana ohjaajana toimii Jukka-Pekka Santanen sekä teknisenä ohjaajana Markku Vire. Merja Ruuska toimii työprojektiryhmän visuaalisena konsulttina.
Tämä sovellussuunnitelma määrittelee WWW-pohjaiseen Vainu-sovellukseen liittyvät toiminnalliset ja tekniset vaatimukset. Suunnitelmassa kuvataan Vainu-järjestelmälle asetetut tavoitteet, toimintojen ja ominaisuuksien priorisointi sekä tämän projektin ulkopuolelle rajattavat ominaisuudet. Dokumentissa esitellään Vainu-järjestelmän tietorakennetta ER-tietokantakaavion avulla, toimintaa ja käyttöliittymää sivustokartan ja kuvien avulla sekä koodin kommentointitapaa ja testausperiaatteita. Projektin toinen suunnitteludokumentti on projektisuunnitelma, jossa kuvataan projektin taustoja ja tavoitteita, projektiorganisaatiota sekä työnjakoa ja suunniteltua aikataulua.
Luvussa 2 esitellään Vainu-sovelluksessa käytettävät termit. Luku 3 käsittelee sovellukselle asetettuja tavoitteita sekä sovelluksen ominaisuuksia ja toimintoja. Luku 4 kuvaa sovelluksen palvelinratkaisua, työkaluja ja tekniikoita. Luvussa 5 tarkastellaan sovelluksen tietokantaratkaisuja. Luku 6 käsittelee ko. WWW-sovelluksen sivustokarttaa ja sovelluksen toimintojen jakautumista sivuille. Luku 7 esittelee ohjelmakoodin kommentointitapoja ja muuttujien nimeämiskäytäntöjä. Luvussa 8 tarkastellaan testauskäytäntöjä.
URAANI- projektiin keskeisesti liittyviä käsitteitä ovat seuraavat:
Apache on ilmainen HTTP-palvelinohjelmisto.
CSS eli Cascading Style Sheets on WWW-sivujen ulkoasua kuvaava kieli.
ER-kaavio on tietokannan rakennetta kuvaava kaavio (engl. Entity Relationship diagram).
GPL-lisenssi on ns. vapaa lisenssi, jonka mukaan ohjelman mukana tulee toimittaa sen lähdekoodi tai se tulee olla vapaasti saatavilla verkossa.
HTML on WWW-sivujen rakennetta ja ulkoasua 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.
JServ on ilmainen Java-servlettimoottori.
JSP (engl. Java Server Pages) on ohjelmointitekniikka. JSP-sivut sisältävät HTML-muotoiluelementtejä ja WWW-sivujen dynaamisuuden aikaansaavaa Java-kielistä skriptausta. Palvelin kääntää JSP-sivun servletiksi ja TomCat Java-skriptauksen selainohjelman ymmärtämäksi HTML:ksi.
KORPPI on kurssikirjanpitosovellus ja osa KOTKA-järjestelmää.
KOTKA on Jyväskylän yliopistossa käytössä oleva WWW-pohjainen opetuksen ja tutkimuksen hallintajärjestelmä.
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.
Vainu-sovellukseen liittyvät seuraavat käsitteet:
Approbatur on perusopintokokonaisuus (15 ov).
Avoin yliopisto järjestää maksullista yliopistotasoista opetusta kaikille.
Avoimen yliopiston väylä on yksi tapa päästä yliopistoon tiettyjen opintokriteerien perusteella.
Chat on WWW-pohjainen reaaliaikainen keskustelualue.
Cum laude approbatur on aineopintokokonaisuus (35 ov).
Dynaaminen sivu on Vainu-sovelluksessa HTML-sivu, jonne tietoa haetaan tietokannasta
käyttötapauskohtaisesti JSP-sivujen avulla.
FAQ on dokumentti usein esitettyjen kysymysten vastauksista.
Lokitieto on tietoa sivujen käyttöhistoriasta (tässä yhteydessä).
Opintokokonaisuus koostuu tietyistä opintojaksoista muodostaen esim. approbaturin, cumu
laude approbaturin tai laudaturin.
Staattinen sivu on normaali HTML-sivu, jonka selainohjelma tulkitsee aina samalla tavalla.
Tutkintovaatimus kertoo, mitä opintoja vaaditaan tietyn tutkinnon suorittamiseksi.
Sovelluksen ensisijainen tarkoitus on tarjota Jyväskylän avoimen yliopiston opiskelijoille opintoneuvonta- ja urasuunnittelupalveluja. Sovelluksen avulla opiskelija saa sellaista tietoa, jonka avulla hän pystyy suunnittelemaan opintojaan itsenäisesti ja osaa valita tarkoituksenmukaisia kursseja. Sovellukseen kootaan myös sellaista tietoa, joka antaa vastauksia opiskelijoita yleisesti askarruttaviin opiskeluun liittyviin kysymyksiin.
Luvussa 3.1 kuvataan eri käyttäjäryhmien tarpeita. Luvussa 3.2 selvitetään yksityiskohtaisesti sovellustoiminnot.
URAANI-projekti toteuttaa Jyväskylä yliopiston avoimen yliopiston opintoneuvonta- ja urasunnittelupalveluja tarjoavan WWW-pohjaisen sovelluksen. Tällä tavoin toteutettuna avoimen henkilökunnan opiskeluneuvonta tehostuu, sillä opiskelijat saavat tarvitsemaansa tietoa helpommin verkon välityksellä ja avoimen yliopiston opiskeluneuvonnan kuormitus vähenee.
Sovelluksen avulla opiskelija saa tietoa eri ainevalintojen tuomista mahdollisuuksista työelämässä sekä tiettyyn ammattiin vaadittavista opinnoista. Työelämässä olevat opintojaan täydentävät saavat apua ainevalintoihinsa. Eri elämäntilanteissa olevat saavat tietoa eri aineiden opiskelumahdollisuuksista ja -muodoista. Avoimen yliopiston väylän mahdollisuutta hyödyntävät saavat tietoa opintovaatimuksista eri tiedekunnissa. Sovellus sisältää myös tietoa yliopisto-opintojen rakenteesta.
Sovelluksen tarkoituksena on myös helpottaa avoimen yliopiston sivuston ja toteutettavan sovelluksen sisältämän tiedon ylläpitoa ja saatavuutta. Tietokannassa olevaa tietoa voidaan käyttää tarkoituksenmukaisella tavalla eri sivuilla. Myös tiedon ajan tasalla pitäminen helpottuu.
Opintojaan suunnittelevat käyttäjät saavat Vainu-sovelluksen avulla tietoa avoimen yliopiston järjestämästä opetuksesta. Näin voidaan samalla rekrytoida uusia opiskelijoita ja esitellä avoimen yliopiston toimintaa.
Sovelluksen käyttäjät jaotellaan kahdeksi eri käyttäjäryhmäksi: opiskelijat ja henkilökunta (opettajat ym. henkilökunta). Ylläpito-oikeuksilla pääsee muokkaamaan sovelluksen tietokannan sisältämiä tietoja. Periaatteessa sovelluksen tietokantarakenne mahdollistaa useammatkin käyttäjätasot, mutta alkuvaiheessa tälle ei ole tarvetta. Vainu-sovelluksessa toteutettavat perustoiminnot opiskelijalle ovat seuraavat.
Loggautuminen ja tietojen tallennus tapahtuu opiskelijalla seuraavalla tavalla:
· Opiskelija voi rekisteröityä järjestelmään ja saada henkilökohtaisen tunnuksen ja salasanan sisäänkirjautumista varten.
· Rekisteröitynyt opiskelija voi tallentaa tietonsa tietokantaan myöhempää käyttöä varten. Näitä tietoja ovat ainakin päiväkirja ja aikaisemmat opintosuoritukset.
· Opiskelija voi halutessaan käyttää sovellusta myös ilman sisäänkirjautumista.
Hakutoimintoina toteutetaan seuraavat ominaisuudet:
· Tavoitteena tutkinto aineet-ammatti -haku listaa tietyn aineen opiskelun mahdollistamat ammatit. Lisäksi esitetään suositeltavat sivuainevalinnat, ammattikuvaukset sekä opiskelukertomukset näitä aineita opiskelleilta näissä ammateissa toimivilta.
· Tavoitteena tutkinto ammatti-aineet -haun tuloksena tulee tiettyyn ammattiin vaadittavia opintokokonaisuuksia. Hakutuloksina on mahdollista saada niin pääaine-, sivu kuin ei-perinteiset aineyhdistelmät.
· Ammatillinen kehittyminen kohdan kiinnostukset-haun hakutuloksena hakusanaan liittyviä tietokokonaisuuksia esim. lapset-sanalla tulee tähän liittyviä opintokokonaisuuksia.
· Opiskelumuotoja koskevan haun tuloksena listataan kaikki hakusanaan liittyvät opintokokonaisuudet, joita voi opiskella hakusanan kuvaamalla tavalla.
· Yleishaku kohdistuu koko tietokantaan. Hakua voi rajata koskemaan tiettyä kokonaisuutta esim. vain aineita.
Opiskelija voi täyttää avoimen yliopiston ilmoittautumislomakkeen ja tulostaa sen itselleen.
Uutisryhmä-sivulla (ei-reaaliaikainen keskustelukanava) on keskustelualueita eri aihealueille. Käyttäjät voivat oma-aloitteisesti luoda uusia keskustelualueita tarpeidensa mukaan.
Chat-sivulla (reaaliaikainen keskustelukanava) eri kanavilla tietyt käyttäjät voivat lähettää toisilleen viestejä omista aiheistaan.
Palaute ja kysymykset –kohdassa opiskelija voi lähettää kysymyksiä/palautetta henkilökunnalle siten, että hänen on mahdollista kohdentaa kysymys tietylle taholle esim. aineen vastuuhenkilölle tai tietyn tiedekunnan kurssisihteerille tai suunnittelijalle.
FAQ-sivu sisältää usein kysyttyjä kysymyksiä vastauksineen. Avoimen yliopiston henkilökunnalla on mahdollisuus lisätä uusia FAQ-ryhmiä, uusia kysymyksiä tiettyihin ryhmiin ja vastaukset niihin.
Sovellukseen rekisteröityneet opiskelijat voivat pitää opinnoistaan opiskelupäiväkirjaa.
Avoin väylä kohdassa opiskelija saa tietoa tietyn aineen avoimen väylän vaatimuksista. Hän voi syöttää suorittamansa opinnot, joiden perusteella hän saa tietoa puuttuvista opinnoista. Opiskelija (sisäänkirjautunut) voi halutessaan tallentaa syöttämänsä tiedot seuraavaa käyttökertaa varten.
Ohjeita opiskeluun -kohdassa opiskelija saa ohjeita opiskeluun avoimessa yliopistossa. Ohjeet ovat esim. ohjeita kirjoittamiseen.
Opiskelija voi tehdä oppimistyylikartoitustestin, joka toteutetaan linkkinä muihin sivuihin.
Tilastotietoa- kohdassa opiskelija saa tietoa väylän kautta sijoittuneista opiskelijoista. Hän voi lukea näiden opiskelijoiden opiskelukertomuksia ja tutkia avoimen väylän tilastotietoja.
Ammattiaapinen sisältää lyhyitä kuvauksia akateemisista ammateista sekä linkkejä ammattiin liittyviin kertomuksiin.
Tutkintovaatimukset -kohdasssa käyttäjä saa tietoa tutkintovaatimuksista. Kohdasta on linkit yliopiston ainelaitosten sivuille.
Lisäpisteet pääsykokeisiin -sivuilta saa tietoa niistä opintokokonaisuuksista, joista saa lisäpisteitä Jyväskylän yliopistoon hakuvaiheessa.
Opiskelija saa opettajien ja muun henkilökunnan yhteystiedot pääasiassa avoimen yleisiltä sivuilta, mutta aiheeseen liittyviä yhteystietoja on eri puolilla järjestelmää, esim. FAQ:ssa.
Henkilökunnalla on mahdollisuus lukea ja tarkistaa palautteen laatu (tulevatko viestit luettaviksi sivuille).
Henkilökunta voi kirjoittaa vastaukset kysymyksiin ja valita kysymyksistä ne, joiden vastaukset tulevat FAQ-sivuille opiskelijoiden luettaviksi. He voivat myös lähettää vastauksen suoraan kysyjille.
Henkilökunnalla eli kurssien opettajilla ja avoimen henkilökunnalla on oikeudet tehdä muutoksia tietokannassa olevaan tietoon. WWW-käyttöliittymän avulla he voivat poistaa ja päivittää tietokannan sisältämiä tietoja.
Vainu-sovellukseen ei tämän projektin puitteissa toteuteta WWW-pohjaista kurssimaksutoimintoa. Ominaisuuden toteuttaminen katsottiin muodostavan oman kokonaisuutensa, joka ehkä toteutetaan tulevaisuudessa. Tutkintovaatimuksia ei toteuteta toimintoina, vaan linkkeinä tiedekuntien sivuille.
Luvussa esitellään projektissa käytettävät työkalut, palvelinohjelmistot ja ohjelmointitekniikat. Niihin on pääosin päädytty, koska ne ovat ilmaisia ja KOTKA-projektin testitulosten perusteella ne soveltuvat tulevaan järjestelmään paremmin kuin muut kilpailevat ohjelmistot ja tekniikat.
Alussa toisena vaihtoehtona oli ottaa järjestelmä käyttöön avoimen yliopiston omalla WWW-palvelimella, jolloin toteutusympäristönä olisi ollut Microsoftin IIS-WWW-palvelin ja ASP-skriptikieli. Sovelluksen toteutuksessa päätettiin kuitenkin hyödyntää Jyväskylän yliopiston tietotekniikan laitoksen Kotka-järjestelmän tietokantaa ja toteutustekniikoita tietyin osin (Java-kieli, HTML ja CSS).
Tämän valinnan seurauksena sovellus toteutetaan JSP-tekniikalla. Järjestelmän HTTP-palvelimena toimii Apache, koska yliopiston WWW-palvelimet käyttävät yleisesti Linux-käyttöjärjestelmää. Apache-palvelimen jälkeen järjestelmään asennetaan TomCat, joka on yhdistetty JSP- ja servlettimoottori. Tietokannan ja TomCatin tietovälittimenä toimii PoolMan, joka jakaa tietokantayhteyksiä niitä tarvitseville servleteille. Tietokannanhallintajärjestelmänä on PostgreSQL.
Kuvassa 1 on hahmoteltu järjestelmän toimintaa. Kun WWW-palvelin vastaanottaa pyynnön selaimelta, se päättelee, onko kyseessä staattinen HTML-sivu vai JSP-sivu. Staattisen sivun tapauksessa palvelin voi palauttaa pyydetyn sivun välittömästi takaisin selaimelle.
JSP-sivun ollessa kyseessä pyyntö välitetään edelleen servlettimoottorille. Se tutkii, onko kyseistä sivua vastaava servletti jo olemassa. Jos servlettiä ei ole, pyyntö jatkaa matkaansa JSP-moottorille, joka generoi sivua vastaavan servletin. Se puolestaan on JSP-sivusta muodostettu Java-kielinen luokka, johon on liitetty tarvittavat Java-pavut.
Tämän jälkeen servletti suoritetaan, jolloin muodostuu selaimen pyytämä HTML-sivu. Se lähetetään takaisin selaimelle (kuva 1). Näin asiakassovelluksena toimiva WWW-selain saa pelkkää HTML-koodia sisältävän sivun esitettäväksi. Tällä pyritään parantamaan selainyhteensopivuutta [Horppu, Mielityinen, Vire].
Kuva 1.
Vainu-järjestelmän sovellusrakenne [Horppu, Mielityinen,Vire].
Java-pavut ovat Java-ohjelmointikielellä toteutettuja luokkia. Papuihin pyritään sijoittamaan mahdollisimman paljon JSP-sivujen Java-koodia, jolloin JSP-sivujen luettavuus paranee.
Kaikki yleiskäyttöiset metodit tulisi upottaa Java-papuihin. Tällöin niitä tarvitsee kutsua vain JSP-koodissa, eikä kirjoittaa aina uudestaan samaa Java-koodia JSP-koodin sekaan. Vainu-sovelluksen toteutuksessa tullaan hyödyntämään paljon valmiita Korppi-työryhmän toteuttamia papuja [Horppu, Mielityinen, Vire].
Sovelluksen tulee toimia useilla eri selaimilla, mm. Netscape, Internet Explorer, Opera, Mozilla ja Lynx. Niinpä testauksessa tulee kiinnittää huomiota sivujen esteettömyyteen. Käytännössä sivujen tulee toimia tyydyttävästi myös selainten vanhemmilla versioilla, esim. Netscape 4.
Toteutuksessa ei käytetä lainkaan kehyksiä ja vältetään taulukoiden käyttämistä elementtien asemointiin. HTML:ää käytetään vain rakenteen kuvaukseen ja mm. navigointipalkit, asemointi ja värimaailma toteutetaan CSS-määrityksin. Niiden kanssa pitääkin olla erityisen tarkkana, koska eri selainten CSS-tuki on valitettavasti varsin eriävää ja paikoin puutteellista.
Sovelluksen tulee toimia usealla eri kielellä ja kieliä täytyy voida lisätä myöhemmin. Käytännön toteutus tapahtuu tietokantatasolla, eli esim. kurssien nimet täytyy tallentaa kantaan jokaisella haluttavalla kielellä. Myös sivusto itsessään täytyy kääntää: esim. navigointipuun linkit on täten haettava myös tietokannasta. Sivujen layoutin ja toimintojen toimivuuden testaus on siten suoritettava useammalla selaimella ja niiden versioilla.
Sovelluksen esittämä tieto tallennetaan tietokantaan, joka on jaettu kahteen osaan käytettävyyden sekä erilaisten tietokantahakujen takia. Luvussa 5.1 selvennetään Kotka-tietokantaratkaisujen vaikutusta tietokannan rakentamisessa. Luvussa 5.2 selostetaan URAANI-projektiryhmän omia ratkaisuja.
Vainun yhdistämisestä Kotka-järjestelmään oli puhetta jo projektin alkuvaiheessa, koska käytettävät työkalut, toteutuskielet ja palvelinratkaisut ovat yhtäläiset. Sovellusalue tuntui kuitenkin eroavan siinä määrin kurssikirjanpitoon keskittyvästä Korppi-sovellus, että ensimmäiset tietokantasuunnitelmat olivat riippumattomia edellä mainituista järjestelmistä.
Suunnitelmien edetessä yhdistämisen edut tulivat kuitenkin ilmeisiksi. Vaikka järjestelmiä ei vielä ainakaan URAANI-projektin puitteissa olekaan tarkoitus varsinaisesti sulauttaa, on tietokanta kuitenkin suunniteltu yhteensopivaksi tulevaa yhdistämistä varten. Tästä seurauksena lähes puolet tauluista on lainattu suoraan Kotka-tietokannasta, mutta paljon on täytynyt lisätä uusiakin sovelluksen erilaisen luonteen ja lähestymistavan seurauksena.
Kuvien 2 ja 3 ER-kaavioissa esiintyvät pienet pallot kuvaavat monikielistämistä. Kuvan 2 tietokantakaaviossa on esimerkin vuoksi purettu lyhennysmerkintä auki Line-taulun osalta. Käytännössä siis on yksi ainoa Language-taulu, mutta jokaista monikielisiä kenttiä sisältävää taulua kohti täytyy tehdä käännökset sisältävä sidostaulu.
Kotka-tietojärjestelmästä lainatut taulut on merkitty kuvien 2 ja 3 ER-kaavioihin merkinnällä <<Korppi>>. Taulut pohjautuvat Korppi-työryhmän ER-kaavioihin Person, Organisation ja Course_bookkeeping.
Osassa lainatuissa tauluissa (etenkin Person) ei luetella
kaikkia kenttiä, vaan ainoastaan Vainun kannalta oleelliset. Selkeimmin
lainattuja tai yhteisiä kokonaisuuksia ovat organisaatioihin, käyttöoikeuksiin,
henkilöön ja monikielistämiseen liittyvät palaset.
Course-taulun
saimme lainattua Kotkasta (kuva 2), mutta opintokokonaisuuksien, opintolinjojen
ja aineiden osalta lähdimme puhtaalta pöydältä, niitä kun ei ollut
tietokannassa. Huomattavaa on myös, että Vainu-sovelluksessa kursseilla ei ole
erillisiä instansseja, kuten kurssikirjanpitoon keskittyvässä
Korppi-sovelluksessa. Niinpä CompletionType-taulu
(iltaopinnot ja verkko-opinnot) täytyy assosioida suoraan Course-tauluun CourseInstancen
sijasta.
Kuva 2. Opiskelijan tietoihin liittyvä tietokantakaavio.
Vaikka Vainussa ei ainakaan toistaiseksi ole tarvetta tutkintovaatimuksien esittämiseen, projektiryhmä teki kattavan tietokantaratkaisun sille saralle. Avoimen yliopiston väylään liittyvät vaatimukset voidaan esittää hieman yksinkertaistaen samalla rakenteella. Toisaalta nyt on valmis runko, jos Kotka-järjestelmään yleensä halutaan lisätä tutkintovaatimukset.
FeedbackType-, Person- ja Module-taulujen tarkoitus on yksinkertaisesti päätellä kenelle tietyntyyppiset palautteet tai kysymykset ohjataan. Tarkoituksena on, että opintokokonaisuuksilla tai vähintään kullakin aineilla on omat vastuuhenkilönsä opintoneuvontaan liittyen. Kysymyksien käsittelijöillä on mahdollisuus lisätä usein esiintyvä kysymys mallivastauksineen FAQ-tauluun.
Kuva 3. Opintoihin liittyvä tietokantakaavio.
Vainu-sovelluksen WWW-sivujen layout ja navigointi päädyttiin toteuttamaan erittäin yksinkertaisella tavalla. Lähtökohtana niiden suunnittelussa oli se, että sivujen yleisilmeen tulee olla mahdollisimman selkeä ja havainnollinen. Luvussa 6.1 tarkastellaan sivuston käyttöliittymä- ja navigointitoteutusta ja luvussa 6.2 eri sivujen rakennetta, niiden sisältämiä toimintoja ja tietoja.
Sivuston sivujen rakenne on yhtenäinen ulkoasultaan ja sijoittelultaan (katso kuva 4). Navigointipalkki ruudun vasemmassa reunassa on samanlainen kaikilla sivuilla. Siinä ovat Vainu-koiran kuva ja Vainu-sovelluksen logo. Navigointipalkkiin on sijoitettu myös avoin yleishakukenttä, jonka avulla käyttäjä saa syöttämänsä sanan mukaan tietoa tietokannasta.
Linkit esitetään navigointipalkissa puumaisena rakenteena. Se on käytännössä kaksitasoinen puu, jossa pääkohtien alta aukenee uusia, tarkempia, linkkejä. Tältä sivulta oo linkit Vainun viiteen päähaaraan, jotka ovat: Avoimessa opiskelu, Tavoitteena tutkinto, Ammatillinen kehittyminen, Avoin väylä ja Keskustelu ja palaute. Lisäksi aloitussivulla on ajankohtaista asiaa ja sovelluksen esittelyteksti, joiden avulla on myös mahdollista päästä sovelluksen eri sivuille.
Kuva 4. Vainu-sovelluksen etusivu.
Kuvan 7 sivustokartta havainnollistaa sivuston rakennetta ja eri sivujen sisältämät toiminnallisuudet.
Kuva 5. Sivustokartta.
Avoimessa opiskelu –kohdassa opiskelija saa tietoa eri opiskelumuodoissa opiskeltavista opintokokonaisuuksista, hän voi täyttää ja tulostaa ilmoittautumislomakkeen avoimen yliopiston opintoihin sekä löytää valmiin linkkikokoelman avoimen yliopiston ja Jyväskylän yliopiston WWW-sivuille. Oman alalinkkikohtansa muodostaa ohjeita opiskeluun -kohta, jonka alla on opiskelutyylikartoitus,
Tavoitteena tutkinto -sivulla tehdään varsinaiset haut aineiden ja ammattien välillä. Ammatti-haussa syötetään aineen nimi, jonka jälkeen tulee tuloksena ammatteja, joissa voi toimia valmistuttuasi, ammattikertomus ja listaus pakollisista/suositeltavista ja ei-perinteisistä sivuaineista. Aine-haussa ammattinimikkeen perusteella saadaan lista opintokokonaisuus-ehdotuksia, joita tulee opiskella ko. ammattiin opiskeltaessa. Tarjolla on lisäksi opiskelupäiväkirja. Tutkintovaatimukset toteutetaan linkkeinä muille yliopiston sivuille. Lisäpisteet kohdassa saa tietoa niistä avoimessa yliopistossa suoritetuista opintokokonaisuuksista, joista saa lisäpisteitä Jyväskylän yliopistoon hakuvaiheessa.
Ammatillinen kehittyminen -kohdassa käyttäjä saa tietoa omaan työtaustaansa sopivista opintokokonaisuuksista ja kursseista, joita opiskelemalla hän voi pätevöittää omaa ammatillista osaamistaan.
Avoin väylä -sivulla on yleistä tietoa väylästä ja väylävaatimuksista. Väylävaatimukset toteutetaan niin, että käyttäjä voi syöttää opiskelemansa aineet, jonka jälkeen saadaan väylävaatimuksista vielä puuttuvat opintokokonaisuudet. Lisäksi kohdassa on väylä-opiskelijoiden kertomuksia ja tilastotietoa väylän kautta yliopistoon pyrkineistä.
Keskustelu ja palaute -sivulla on reaaliaikainen keskustelukanava (Chat) sekä uutisryhmäperiaatteella toimiva keskustelualue (News). Palaute-kohdassa voi esittää kysymyksiä ja lähettää palautetta avoimen yliopiston henkilökunnalle, kuten esim. opintojen ohjaajille sekä eri aineiden opettajille. Useimmin kysytyt kysymykset- kohdassa (FAQ) opiskelija voi lukea vastauksia usein esitettyihin kysymyksiin. Kohdassa voi antaa palautetta Vainu-sivustosta.
Kuva 6. Vainu-sovelluksen etusivu.
Kuva 7. Avoimessa opiskelu kohdan etusivu.
Kuva 8. Opintomuodot-sivu.
Kuva 10. Ilmoittautumislomake-sivu.
Kuva 11. Tavoitteena tutkinto kohdan etusivu.
Kuva 12. Tavoitteena tutkinto -kohdan Mihin ammattiin valmistun sivu.
Kuva 13. Tavoitteena tutkinto -kohdan Mitä opiskella sivu.
Kuva 14. Tavoitteena tutkinto -kohdan Tutkintovaatimukset sivu.
Kuva 15. Tavoitteena ammatillinen kehittyminen kohdan etusivu.
Kuva 16. Tavoitteena ammatillinen kehittyminen kohdan Miten kehitän työtäni? - sivu .
Kuva 17. Avoimen väylän kohdan etusivu.
Kuva 18. Avoimen väylän kohdan Yleistä väylästä-sivu.
Kuva 19. Avoimen väylän kohdan Väylävaatimukset-sivu.
Kuva 20. Keskustelu & palaute kohdan etusivu.
Kuva 21. Keskustelu & palaute kohdan Palaute-kohdan etusivu.
Kuva 22. Keskustelu & palaute kohdan Palautteen lähetys kurssisihteerille -sivu.
Kuva 23. Keskustelu & palaute kohdan Palautteen lähetys opettajalle -sivu.
Kuva 24. Keskustelu & palaute kohdan Palautteen lähetys avoimen opintoneuvojalle -sivu.
Kuva 25. Keskustelu & palaute kohdan Palautteen lähetys suunnittelijalle -sivu.
Kuva 26. Keskustelu & palaute kohdan Palautteen lähetys Vainusta -sivu.
Kuva 27. Keskustelu & palaute kohdan FAQ-sivu.
Kuva 28. Keskustelu & palaute kohdan Chat-sivu.
Kuva 28. Päiväkirjan etusivu.
Sovelluksen vasemman navigointipalkin logo ja kuva esitellään kuvissa 15 ja 16.
Kuva 29. Vainu-sovelluksen logo.
Kuva 30. Vainu-sovelluksen Vainu-koira.
Kuva 31. Admin-sivujen sisäänkirjautumissivu.
Kuva 32. Admin-sivujen etusivu.
Kuva 33. Opinnot kohdan opintokokonaisuuksien syötön etusivu.
Kuva 34. Opinnot kohdan opintokokonaisuuksien syöttösivu.
Kuva 35. Opinnot kohdan opintokokonaisuuteen kuuluvien kurssien etusivu.
Kuva 36. Opinnot kohdan opintokokonaisuuksiin kuuluvien kurssien syöttösivu.
Kuva 37. Opinnot kohdan kurssin valintasivu.
Kuva 38. Opinnot kohdan opintokokonaisuuksiin kuuluvien kurssien opintomuodon liitossivu.
Kuva 39. Opinnot kohdan uusien opintomuotojen syöttösivu.
Kuva 40. Opinnot kohdan opintokokonaisuuksien liitto ammatteihin opintokokonaisuuden valintasivu.
Kuva 41. Opinnot kohdan opintokokonaisuuksien liitto ammatteihin-sivu.
Kuva 42. Opinnot kohdan uusien kurssien ja niiden tietojen etusivu.
Kuva 43. Opinnot kohdan uusien kurssien ja niiden tietojen syöttö-sivu.
Kuva 44. Opinnot kohdan kurssin
liitto kiinnostuksiin kurssin valintasivu.
Kuva 45. Opinnot kohdan kurssin
liitto kiinnostuksiin sivu.
Kuva 46. Opinnot kohdan oppiaineen
lisäyksen etusivu.
Kuva 47. Opinnot kohdan oppiaineen
lisäyssivu.
Kuva 48. Opinnot kohdan
uuden opintomuodon lisäyksen etusivu.
Kuva 49. Opinnot kohdan uuden opintomuodon lisäykssivu.
Kuva 50. Ammatit kohdan
uuden ammatin lisäyksen etusivu.
Kuva 51. Ammatit kohdan
uuden ammatin lisäyssivu.
Kuva 52. Ammatit kohdan ammatin
liitto opintokokonaisuuteen etusivu.
Kuva 53. Ammatit kohdan ammatin
liitto opintokokonaisuuksiin sivu.
Kuva 54. Ammatit kohdan ammatin
liitto kiinnostukseen etusivu.
Kuva 55. Ammatit kohdan ammatin liitto kiinnostukseen sivu.
Kuva 56. Organisaatiot kohdan uuden organisaatiotyypin lisäyksen etusivu.
Kuva 57. Organisaatiot
kohdan uuden organisaatiotyypin lisäys.
Kuva 58. Organisaatiot
kohdan organisaation alaorganisaatioiden liitoksen etusivu.
Kuva 59. Organisaatiot
kohdan organisaation alaorganisaatioiden liitossivu.
Kuva 60. Organisaatiot
kohdan uuden organisaation lisäyksen etusivu.
Kuva 61. Organisaatiot
kohdan uuden organisaation lisäys.
Kuva 62. Kiinnostus & Kertomus kohdan uuden kertomuksen lisäyksen etusivu.
Kuva 63. Kiinnostus &
Kertomus kohdan uuden kertomuksen lisäys-sivu.
Kuva 64. Kiinnostus &
Kertomus kohdan kiinnostuksen liitto ammattiin etusivu.
Kuva 65. Kiinnostus &
Kertomus kohdan kiinnostuksen liitto ammattiin.
Kuva 66. Kiinnostus &
Kertomus kohdan uuden kiinnostuksen lisäyksen etusivu.
Kuva 67. Kiinnostus &
Kertomus kohdan uuden kiinnostuksen lisäys-sivu.
Kuva 68. Kiinnostus &
Kertomus kohdan uuden kiinnostuksen liitto kurssiin etusivu.
Kuva 69. Kiinnostus &
Kertomus kohdan uuden kiinnostuksen liitto kurssiin -sivu.
Kuva 70. Väylävaatimukset
kohdan uuden aineen syötön etusivu.
Kuva 71. Väylävaatimukset
kohdan uuden aineen syöttösivu.
Kuva 72. Väylävaatimukset
kohdan vaatimuksen liitto kursseihin/opintojaksoihin aineen/vaatimuksen
valintasivu.
Kuva 73. Väylävaatimukset
kohdan vaatimuksen liitto kursseihin/opintojaksoihin liitossivu.
Kuva 74. Väylävaatimukset
kohdan vaatimuksen liittoopintokokonaisuuteen etusivu.
Kuva 75. Väylävaatimukset
kohdan vaatimuksen liitto opintokokonaisuuteen liitossivu.
Kuva 76. FAQ-kohdan lisää
uusi kysymys usein FAQ:n etusivu.
Kuva 77. FAQ-kohdan lisää
uusi kysymys ja vastaus siihen usein FAQ:n sivu.
Kuva 78. FAQ-kohdan lisää
uusi kertomus etusivu.
Kuva 79. FAQ-kohdan lisää
uusi kysymys ja vastaus siihen usein FAQ:n sivu.?
URAANI-projekti päätyi käyttämään sovelluksen moduulien listauksissa mahdollisimman samanlaista kommentointitapaa kuin KOTKA- ja KORPPI -projektit. Tämä johtuu siitä, että ryhmä tulee käyttämään ja muuttamaan kyseisten projektien toteuttamia Java-papuja. Alla on esimerkki noudatettavasta kommentointitavasta.
/*********************************************************************** ******MODULE
DESCRIPTION
******************************************************************************
* NAME: XXX
* LANGUAGE: JSP 1.1
* DATE: 7/3/2002
* AUTHOR: XXX,
Jyväskylän yliopisto
******************************************************************************
*
COPYRIGHT (C) 2002 URAANI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/****************************************************************************** UPDATES
******************************************************************************Initial
release
*****************************************************************************/
class
MyClass inplements ... extends ... {
protected: // Attributes
boolean MyBoolean; // MyBoolean is used for....
int MyInt; // MyInt is used for...
double MyDouble;
public: // Access methods
boolean isMyBoolean();
void setMyBoolean(boolean MyBoolean);
int getMyInt();
}
Sovelluksen testaamiselle on varattu tietty ajanjakso projektin loppuvaiheessa. Tällöin sovelluksen testaus on pääasiallinen tehtävä, mutta projektin toteutusvaiheessa tarkkaillaan tietokantarakenteen, SQL-kyselyjen, JSP:n ja JavaPapujen toteutusten virheettömyyttä.
Tässä dokumentissa on esitelty URAANI-projektin sovellukselle asetetut vaatimukset ja sen toteutustekniikat. Vainu-sovelluksen toteutuksessa edetään sovellussuunnitelman mukaan. Dokumentti on suunnattu pääasiassa URAANI-organisaatiolle projektin hallinnon ja seurannan tueksi sekä tueksi toteutusvaiheelle. Näin suunnitteluvaiheen aikana syntyneet ominaisuudet voidaan vain ohjelmoida toimivaan muotoon. Tällä tavoin totetusvaiheessa ei tarvitse enää miettiä, sitä, mitä nyt pitäisi koodata.
Ismo Horppu, Markku Mielityinen, Markku Vire, ”KOTKA-projektin projektikansio”, saatavilla HTML-muodossa <URL: http://kotka.it.jyu.fi/kotka>, Jyväskylän Yliopisto, tietotekniikan laitos, 2000.
Lesonen Minna, Pekkanen Hannu, Tawast Tuukka ja Uuksulainen Heikki, ”KORPPI-projektin projektikansio”, saatavilla HTML-muodossa <URL: http://kotka.it.jyu.fi/korppi>, Jyväskylän yliopisto, tietotekniikan laitos, 2001.
Jaakkola Mia, Juutinen Sanna, Lupari Matti, Nieminen Mikko, ”KOLIBRI-projektin projektikansio”, saatavilla HTML-muodossa
<URL: http://kotka.it.jyu.fi/kolibri>, Jyväskylän Yliopisto, tietotekniikan laitos, 2002.
Santanen Jukka-Pekka, ''Tietotekniikan cum laude -harjoitustöiden ohje'', saatavilla WWW-muodossa <URL: http://www.mit.jyu.fi/santanen/info/projohje.html>, Jyväskylän yliopisto, tietotekniikan laitos, 20.1.2002.
URAANI-ryhmä, ”URAANI-projektipalaverien pöytäkirjat”, Jyväskylän Yliopisto, tietotekniikan laitos, 2002.