Matematiikan oppifoorumi Suunnitteludokumentti

Samankaltaiset tiedostot
Loppuraportti. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Matematiikan oppifoorumi Käyttöohje

Matematiikan oppifoorumi Projektisuunnitelma

Matematiikan oppifoorumi Vaatimusdokumentti

opiskelijan ohje - kirjautuminen

Tentti erilaiset kysymystyypit

opiskelijan ohje - kirjautuminen

Tentti erilaiset kysymystyypit

Moodlen lohkot. Lohkojen lisääminen: Lohkojen muokkaaminen: Tampereen yliopisto/tietohallinto 2017 Suvi Junes

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

KYMP Webmail -palvelu

Keskustelusivusto. Suunnitteludokumentti

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

OTT-S99 TESTAUSLOMAKE 1(22) Käyttäjää (tunnusta) ei saa olla kannassa

Toteutusdokumentti. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Aloita uusi kartoitus -painikkeesta käynnistyy uuden kartoituksen tekeminen

Opettajan pikaopas Opintojaksopalaute-järjestelmään

elearning Salpaus Elsa-tutuksi

JAKELUPISTE KÄYTTÖOHJE 2/6

Moodle-oppimisympäristö

Käyttötapauksen nimi Lukija: pääsivu Osallistujat Lukija Tuloehdot Käyttäjä on avannut sivuston pääsivun Kuvaus Ruudulle tulostuvat kirjoittajat ja

UpdateIT 2010: Editorin käyttöohje

Action Request System

Sisällys Clerica Web-sovellusten käytön aloittaminen 2

Informaatiotekniikan kehitysyksikkö

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden

Opintojaksopalautejärjestelmä Opettajan OPAS

MOODLE TUTUKSI. Pirkko Vänttilä Oulun aikuiskoulutuskeskus

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

ARVI-järjestelmän ohje arvioinnin syöttäjälle

1. Kalenterin omistajan käyttöohje

Opintokohteiden muokkaus

Kysymyspankin käyttäminen

Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 ( )

Suvi Junes/Pauliina Munter Tietohallinto / Opetusteknologiapalvelut 2014

Tervetuloa käyttämään ehopsia

Moodle-alueen muokkaaminen

Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE. Kirjautuminen Moodleen ja työtilan valitseminen

Tietokannan luominen:

1.1 Sisäänkirjautuminen ST-Akatemia Online -palveluun kirjaudutaan -osoitteen kautta.

Office 365 palvelujen käyttöohje Sisällys

Hallintaliittymän käyttöohje

KÄYTTÖOHJE. Servia. S solutions

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Uuden Peda.netin käyttöönotto

Toimittajaportaalin pikaohje

Päänäkymä Opiskelijan ohjeet Kurssin suorittaminen Opettajan ohjeet kurssin teko

Opintokohteiden muokkaus

1 YLEISTÄ TIETOA HELMESTÄ ETUSIVU YHTEENVETO LUKUJÄRJESTYS / KOTITEHTÄVÄT / MERKINNÄT VIESTIT KOKEET...

Uuden lukuvuoden aloitus ViLLEssa

ChatSimulaatio Käyttöopas

Webmailin käyttöohje. Ohjeen sisältö. Sähköpostin peruskäyttö. Lomavastaajan asettaminen sähköpostiin. Sähköpostin salasanan vaihtaminen

BLOGGER. ohjeita blogin pitämiseen Googlen Bloggerilla

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Ylläpitodokumentti Mooan

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Vianova Systems Finland Oy:n Novapoint käytön tuki

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Www-tallennuksen käyttöohje

OpasOodi Opintokohteiden muokkaus

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Opettajan ohje kypsyysnäytteen toteuttamiseen ja arvioimiseen sähköisenä tenttinä

Kypsyysnäytteen laatiminen ja arvioiminen Examissa

Kypsyysnäytteen laatiminen ja arvioiminen Examissa

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2013

Blogger-blogin käyttöönotto ja perusasiat Bloggerista & bloggauksesta

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu WordPress KÄYTTÖOHJE Sotkamo 2016

24h Admin V / 24h_Admin_v100.pdf 1/9

Opas administraattori-tason käyttäjille. MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2

VIENET JULKAISUJÄRJESTELMÄLLÄ TOTEUTETTUJEN INTERNET-SIVUJEN YLLÄPITO-OHJE

Kotopro käyttäjän ohje

Moodle 2.2 pikaohje. 1. Kirjautuminen ja omat kurssit (Työtilat) 1. Mene internet-selaimella osoitteeseen

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Sisältö. Päivitetty viimeksi Sivu 2 / 14

EXAM Kypsyysnäytteen laatiminen ja arviointi

Lohtu-projekti. Testaussuunnitelma

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Onni-oppimispäiväkirjan ohje version 1.2

Opetussuunnitteluprosessi WebOodissa - OpasOodi

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

OHJELMISTOTUOTANTOPROJEKTI

TAVOITTEISTA TULOKSIIN OSALLISTUJAN KÄYTTÖOPAS

Opintokohteiden muokkaus

Moodle-alueen muokkaaminen

Käyttöohje. Mooan. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SQL Buddy JAMK Labranet Wiki

Sähköposti ja uutisryhmät

Ohjeistus yhdistysten internetpäivittäjille

Napsauta Kurssin viikkonäkymä- näkymässä oikeassa yläreunassa sijaitsevaa Muokkaustila päälle -painiketta.

Uuden lukuvuoden aloitus ViLLEssa

Microsoft Outlook Web Access. Pikaohje sähköpostin peruskäyttöön

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

STS Uuden Tapahtuma-dokumentin teko

ehr-järjestelmän käyttö palkka- ja kehityskeskusteluissa opasdfghjklzxcvbnmqwertyuiopasdfg

TEEMA 2 Aineistot. Kirjautuminen Moodleen. Sisältö. Kirjaudut Moodleen sivulta Voit vaihtaa kielen valikosta.

JulkICT portaalin käyttöohje

Transkriptio:

Matematiikan oppifoorumi Suunnitteludokumentti Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Ohjelmistotuotantoprojekti 11.11.1999 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Sisältö 1. Johdanto 1 1.1 Tuotteen tausta ja tarkoitus 1 1.2 Erikoissanasto ja käytetyt lyhenteet 1 2. Järjestelmän yleiskuvaus 3 2.1 Järjestelmän toiminnot 3 2.2 Järjestelmän toimintaympäristö 4 3. Vaatimusmäärittely ja siihen tehdyt muutokset 4 3.1 Rajaukset 5 3.2 Täydennykset 5 4. Arkkitehtuurin kuvaus 6 4.1 Ohjelmiston toimintaperiaate 6 4.2 Moduulit ja niiden väliset suhteet 7 4.3 Tietokanta-arkkitehtuuri 9 4.3.1 Tietokannan kuvaus 9 4.3.2 Tietokannan taulut 9 4.4 Moduulikuvaukset 15 4.4.1 Käyttäjä 15 4.4.1.1 Yleiskuvaus 15 4.4.1.2 Tietorakenteet 15 4.4.1.3 Toiminnot 15 4.4.2 Opiskelija 16 4.4.3 Kouluttaja 17 4.4.4 Kurssi 17 4.4.4.1 Yleiskuvaus 17 4.4.4.2 Toiminnot 17 4.4.5 Luku 18 4.4.5.1 Yleiskuvaus 18 4.4.5.2 Toiminnot 18 4.4.6 Kappale 19 4.4.6.1 Yleiskuvaus 19 4.4.6.2 Toiminnot 19 4.4.7 Liite 20 4.4.7.1 Yleiskuvaus 20 4.4.7.2 Tietorakenteet 21 4.4.7.3 Toiminnot 21 4.4.8 Kaava 21 4.4.8.1 Yleiskuvaus 21 4.4.8.2 Tietorakenteet 21 4.4.8.3 Toiminnot 22 4.4.9 Viesti 22 4.4.9.1 Yleiskuvaus 22 4.4.9.2 Toiminnot 22 4.4.10 Harjoitus 23 4.4.10.1 Yleiskuvaus 23

4.4.10.2 Toiminnot 24 4.4.11 Palaute 26 4.4.11.1 Yleiskuvaus 26 4.4.11.2 Toiminnot 26 4.4.12 Raportti 26 4.4.12.1 Yleiskuvaus 26 4.4.12.2 Toiminnot 27 5. Käyttöliittymä 28 5.1 Opiskelija 28 5.2 Kouluttaja 28 5.2.1 Järjestelmään kirjautuminen 28 5.2.2 Pääikkuna 29 5.2.3 Editointi-ikkuna 29 5.2.4 Raportit 32 5.2.5 Keskusteluikkuna 32 5.2.6 Kaavaeditori 33 5.2.7 Harjoitusten luonti 34 6. Rajoitteet toteutukselle 37 6.1 Noudatettavat standardit 37 6.2 Ohjelmointikielet ja käyttöjärjestelmät 37 6.3 Muut tarvittavat apuohjelmistot 37 6.4 Arvio toteutuksen koosta ja ohjelmointityyli 38 Liitteet Liite 1 Tietokannan taulut Versio 0.1 Jukka Kariola 4.11.1999 Versio 0.2 Jukka Kariola 11.11.1999 Tarkastustilaisuudessa esille tulleiden virheiden korjaukset

1 1 Johdanto (HV) 1.1 Tuotteen tausta ja tarkoitus Tietokoneavusteisessa matematiikan opetuksessa suurin osa ohjelmistoista on kehitetty kouluikäisten lasten opetukseen ja toistaiseksi vain harvoja on suunnattu korkeakouluopiskelijoille. Internet-tekniikka tarjoaa hyvät mahdollisuudet rakentaa tietyn asian ympärille keskittyvän keskustelufoorumin, jonka kautta kuka tahansa voi yrittää etsiä vastausta ongelmaansa tai vastata muiden kysymyksiin. Harvoissa opetusjärjestelmissä on vielä hyödynnetty palautetta mahdollisuutena kehittää oppimateriaalia. Toinen Internetissä laajasti käytössä oleva etäopetusmuoto on toimittaa verkkoon oppimateriaalia WWW-selaimilla katseltavaan muotoon. Matemaattisten kaavojen tuottaminen selaimen ymmärtämään muotoon on ollut kohtuullisen vaikeaa, mutta nyt on olemassa jo joitakin selaintuotteita (IceBrowser, WebEq, TechExplorer), jotka pystyvät muuntamaan HTML-tekstiin upotetun MathML-kielen kaavoiksi näytölle. Matematiikan oppifoorumi (MatWO) on järjestelmä, jossa hyödynnetään Internetin mahdollistamaa oppimateriaalin levitystapaa ja yhdistetään siihen materiaalin kehittyminen kysymysten ja niihin tulevien vastausten perusteella. Järjestelmä sisältää helppokäyttöisiä välineitä oppimateriaalin ja varsinkin matemaattisten kaavojen tuottamiseen. Oppimateriaali muodostuu tekstistä ja harjoituksista. Järjestelmän tavoitteena on kehittää matematiikan opiskelua helpottamalla avun saamista vaikeiksi koettuihin asioihin toisaalta kysymysten ja vastausten ja toisaalta materiaaliin kohdistuvan kommentoinnin kautta. Oppifoorumi on tarkoitettu käytettäväksi selaimilla, jotka tukevat client-tasolle välitettävän koodin käsittelyä. 1.2 Erikoissanasto ja käytetyt lyhenteet Applet on asiakkaassa (clientissa) suoritettava sovelma.

2 HTML, Hypertext Markup Language on Internetissä käytetty tiedon esitystapa, jota client-pään selaajat osaavat tulkata. JSP, Java Server Page on tekniikka, joka helpottaa palvelinsovellusten ohjelmointia ja ylläpitoa. JDBC-ajuri, Java DataBase Connect - ajuri mahdollistaa tietokantakutsut palvelinsovelmista. MathML, Mathematical Markup Language mahdollistaa matemaattisen kaavan esittämisen HTML-sivulla. LaTex on matemaattisten kaavojen esitystapakieli, jonka kirjoittamiseen ja tulkkaamiseen on kehitetty erityisohjelmistoja. Myös WWW-selaimiin löytyy LaTex-tulkkaamiseen kykeneviä lisäohjelmia (plugins), esimerkiksi TechExplorer. Servlet on javalla koodattu ohjelmamoduuli, joka suoritetaan palvelimella; palvelinsovelma. XML, Extensible Markup Language on tiedonkuvauskieli. WWW-palvelin on keskitetty palvelintietokone, joka sisältää Internet-verkkoon toimitettavia HTML/JSP-sivuja, sivuille dynaamisesti ladattavat tiedot sisältävän tietokannan sekä aineiston käsittelyyn tarvittavan ohjelmiston. Tietokanta voi olla myös omalla palvelimella.

3 2 Järjestelmän yleiskuvaus (HV) 2.1 Järjestelmän toiminnot MatWO tarjoaa kouluttajalle, opiskelijalle ja ylläpitäjälle välineet matematiikan oppifoorumin käyttöön Internet- tai intranet-ympäristössä. MatWO tarjoaa välineet käyttäjien rekisteröintiin ja ylläpitäjälle tavan kouluttajien käyttövaltuuksien hallintaan. Kouluttaja voi laatia ja muokata perustamiinsa kursseihin liittyvää oppimateriaalia, kirjoittaa tehtäviä ja suunnitella niihin liittyvät vastausvaihtoehdot vihjeineen. Kouluttaja voi seurata kurssien lukuihin tullutta palautetta ja vastata materiaaliin liittyviin kysymyksiin kurssin keskustelufoorumissa. Kouluttaja voi myös halutessaan poistaa aiheettomia kysymyksiä. Kouluttajan on mahdollista seurata, miten yksittäistä kurssia käydään seuraamalla luettuja sivuja ja kysymyksiin vastaamista. Opiskelija voi opiskelijaksi rekisteröidyttyään valita suoritettavakseen yhden tai useamman kurssin. Opiskelu tapahtuu lukemalla aineistoa luku ja kappale kerrallaan ja vastaamalla samalla lukuun liittyviin kysymyksiin, joiden valintavaihtoehdoista muodostuu puumaisesti etenevä oikeiden vastausten polku. Oppimateriaalin kappaleiden ymmärrettävyydestä ja selkeydestä voi myös antaa helposti palautetta. Opiskelija voi jatkaa kurssin suorittamista edellisessä istunnossa lopettamastaan kohdasta. Opiskelija voi esittää kysymyksiä yleisesti vastattavaksi. Hän voi myös itse halutessaan vastata muiden kysymyksiin tai kommentoida niiden vastauksia. Kouluttajilla ja opiskelijoilla on käytössä kaavojen kirjoittamista helpottava kaavaeditori.

4 2.2 Järjestelmän toimintaympäristö MatWO toimii client-server periaatteella Internetin tai intranetin kautta. Ohjelmisto ja tietokanta sijaitsevat palvelimella, johon opiskelijat ja kouluttajat ovat yhteydessä WWW-selainten avulla (kuva 2.1). Tuote vaatii JSP-yhteensopivan WWWpalvelimen, JDBC-yhteensopivan tietokannan sekä Java-yhteensopivan selaimen. MatWO- toimintaympäristö Palvelin Internet/Intranet WWW-selain HTML-sivut JSP-sivut Tietokanta JSP-kääntäjä Kuva 2.1 MatWO-toimintaympäristö 3 Vaatimusmäärittely ja siihen tehdyt muutokset (HV) Järjestelmän vaatimukset on kuvattu 14.10.1999 päivätyssä dokumentissa Matematiikan oppifoorumi, Vaatimusdokumentti. Suunnittelun aikana vaatimusdokumenttiin on tullut toiminnallisia tai teknisiä muutoksia seuraavasti: Luvussa 3.1 kuvattu tietokantamalli on täsmentynyt tietokannan tarkemman suunnittelun yhteydessä.

5 Luvussa 4.1.3 kuvatuista käyttötapauksista siirtyy kurssin lisäys ylläpitäjälle ja kouluttajalle tulee uutena kurssin perustietojen muokkaus. Luvussa 5.2.3 hahmoteltu kaavaeditorin toteutustapa on täsmentynyt. 3.1 Rajaukset Vaatimusdokumentissa kuvatuista toiminnoista on rajattu suunnitteluvaiheessa pois seuraavat asiat: Luvussa 2.1 mainittua suoraa palautetta kouluttajalle ei ole suunniteltu tarkemmin tässä vaiheessa. Luvussa 2.1 mainittiin, että opiskelija voi seurata edistymistään kysymällä tehtäviin käyttämäänsä vastausaikaa. Tämän sekä muiden opiskelijan käytettävissä olevien raportointipiirteiden suunnittelu siirtyy mahdolliselle jatkokehitysprojektille. Luvussa 4.1 mainittujen JavaBeans-komponettien sijasta toteutuksessa käytetään Java-luokkia. Ylläpitäjän toimintoja ei suunnitella tarkemmin. Matemaattisten faktojen käyttö huomioidaan vain tietokannan suunnittelussa. 3.2 Täydennykset Vaatimusdokumentissa kuvattuja toimintoja on suunnitteluvaiheessa täydennetty seuraavasti: Luvussa 5.3 mainittu kouluttajan käyttöliittymä on suunniteltu näyttö- ja toimintotasolla. Järjestelmään rakennetaan mahdollisuus liittää mukaan myös jollakin LaTexeditorilla tuotettuja LaTex-kaavoja.

6 4. Arkkitehtuurin kuvaus 4.1 Ohjelmiston toimintaperiaate (CJ) Järjestelmässä on käytössä ohjelmointia ja ylläpitoa helpottava JSP-teknologia. Se perustuu ajatukseen, että on hyödyllistä erottaa tuotteen ulkoasuun liittyvä ohjelmointi sen muista toiminnoista. JSP:ssä tätä on toteutettu upottamalla JSPkoodia HTML-sivuihin, jotta ulkonäköön liittyvä HTML ja toimintalogiikkaan liittyvä JSP voidaan muokata ja päivittää mahdollisimman paljon toisistaan riippumatta. Toteutuksessa eristetään tietokantahaut ja niihin liittyvät tarkistukset Java-luokkiin, joiden metodeja kutsutaan JSP-sivulla. Vaatimusdokumentista poiketen ei kuitenkaan sisällytetä näitä Java-luokkia JavaBeans-komponentteihin, koska JavaBeans-komponenteilla on merkittäviä rajoituksia niiden metodien toiminnallisuudessa sekä niiden moduulirajapinnassa yleisemmin. Ne soveltuvat hyvin käytettäviksi oliotietokannan kanssa, mutta tässä sovelluksessa käytetään relaatiotietokantaa joten monipuolisempia rajapintoja tarvitaan. Mainitut Java-luokat käännetään erikseen ja niitä tuodaan JSP-sivun käyttöön import-komennolla, samalla tavalla kuin Java-sovelluksissa yleensä. Niitä käytetään sovelluksessa eristämään tietokannan käsittelyyn liittyvä ohjelmakoodi. Tällä menettelyllä saadaan pienennettyä JSP-sivujen koodimäärää ja samalla myös parannettua niiden ylläpidettävyyttä. Java-luokkien metodeja voidaan helposti käyttää usealla JSP-sivulla, eikä tarvitse kopioida ohjelmakoodia sivulta toiseen ja sovittaa sitä toisella sivulla. Ratkaisu parantaa myös ohjelmiston laajennettavuutta.

7 4.2 Moduulit ja niiden väliset suhteet (CJ) Kuten edellisestä luvusta ilmenee ohjelmiston moduulijako yhtyy sen Java-luokkiin, joten Java-luokkien lisäksi ei ole käytössä moduuleja. Kuvasta 4.1 ilmenee ohjelmiston luokkajako. Kuva on UML-notaation mukainen luokkakaavio, josta ilmenee luokkien väliset suhteet. Erityisesti on mainittava että useimmista luokista puuttuu attribuutti. Koska attribuuttien tehtävä on lähinnä relaatiotietokannan käsittely, niiden ei useimmissa tapauksissa tarvitse ylläpitää omaa tietoa. Poikkeuksen muodostavat Liite-luokka sekä siitä periytyvä Kaavaluokka. Koska liitetiedostot sijaitsevat kannan ulkopuolella, näillä luokilla on käytössä yksityinen attribuutti Tiedosto, jota käytetään tiedostonkäsittelyssä tiedostoviitteenä. Järjestelmässä on kursseja, jotka koostuvat luvuista. Luvut koostuvat kappaleista, ja kappaleeseen voi sisältyä liitetiedostoja (kaava, kuva tai appletti). Myös harjoituksiin voi sisältyä näitä liitetiedostotyyppejä, viesteihin voi vain sisältyä kaavoja. Viestit ja harjoitukset liittyvät aina johonkin lukuun. Käyttäjät on jaettu kahteen luokkaan, opiskelijat ja kouluttajat. Järjestelmän ylläpitäjä on kouluttaja jolla on lisäoikeuksia. Käyttäjät voivat osallistua useampaan kurssiin. Käyttäjät kirjoittavat myös viestejä. Opiskelijat pystyvät antamaan palautetta harjoituksista ja luvuista, palaute voi olla tekstipalaute tai pikapalaute. Palaute liittyy aina johonkin lukuun, joko suoraan tai epäsuorasti harjoituksen kautta. Järjestelmässä on myös raportteja, jotka kertovat opiskelijoiden edistymisestä. Raportit voivat liittyä lukuihin, jolloin raportoidaan jonkun kurssin luvuista yleisellä tasolla. Niiden avulla voidaan myös saada arvio harjoitusten vaikeudesta sekä opiskelijan menestyksestä harjoituksissa. Luokkien yksityiskohtainen kuvaus on luvussa 4.4.

Kuva 4.1 Luokkakaavio 8

9 4.3 Tietokanta-arkkitehtuuri (HV) 4.3.1 Tietokannan kuvaus Järjestelmän tietokantamalli on kuvattu vaatimusdokumentin luvussa 3.1. 4.3.2 Tietokannan taulut Tietokannan taulujen kuvauksissa sekä niistä piirretyssä kuvassa (liite 1) taulun nimi on lihavoitu ja tunnistetiedot on alleviivattu. Viiteavain on kursivoitu. Tietotyyppien kuvauksessa numeerisesta tiedosta on käytetty lyhennettä num ja merkkijonotyypistä lyhennettä mjono. Tiedon alustava pituus on tyypin jälkeen suluissa (). Taulut on lueteltu aakkosjärjestyksessä. Kuvassa (liite 1) on nuolella (! ) osoitettu taulua, johon viiteavain viittaa. Fakta on matemaattinen totuus, jonka osaaminen on usein harjoituksen selvittämisen edellytyksenä. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Faktanumero num (6) Juoksevasti numeroitu K Faktanimi mjono(30) Esim. väliarvolause, K Maclaurinin sarja Faktateksti mjono(8000) K Harjoitus on kurssin lukuun liittyvä kysymyksistä muodostuva kokonaisuus. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Harjoitusnumero num (10) K Kouluttaja mjono(10) Kayttajatunnus Otsikko mjono(30) Sivulla näkyvä linkkiteksti K Luontipvm Päiväys K

10 Kappale on kurssin lukuun sisältyvä tekstikappale. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Kappalenumero num (10) K Jnro num (10) Määrää sivulla näkyvän kappalejärjestyksen Luontipvm Päiväys K Kouluttaja mjono(10) Kayttajatunnus Tekstikappale mjono(9900) Kurssin sisältötekstiä K KappaleLiite yhdistää tietyn liitetiedoston tiettyyn tekstikappaleeseen. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Harjoitusnumero num (10) K Liitenimi mjono(30) K Liitejnro num (8) Viestin liitetiedoston numero K Sijainti mjono (1) Liitteen sijoittelutietoa O=oikealaita, V= vasenlaita, K= keskellä Kayttaja on kurssille rekisteröitynyt opiskelija, kurssin sisällöstä vastaava kouluttaja tai kurssin ylläpitäjä. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kayttajatunnus mjono(10) Henkilön vapaasti valitsema K Nimi mjono(30) Henkilön syöttämä K Osoite mjono(1) K Postinumero num (6) Postitoimipaikka mjono(25) Sahkoposti mjono(30) K Puhelinnumero mjono(15) Salasana mjono(10) K Kaytto_oikeus mjono(1) O, K, Y, P K

11 Kurssi on kouluttajan laatima ja opiskelijan suorittama kokonaisuus. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) Juoksevasti numeroitu K Kurssinimi mjono(30) K Kurssikuvaus mjono(8000) Kouluttaja mjono(10) Kayttajatunnus K KurssiFakta liittää matemaattisen faktan kurssin harjoitukseen. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (8) K Harjoitusnumero num (4) K Faktanumero num (4) K KurssiKayttaja kertoo, missä roolissa käyttäjä liittyy kurssiin ja koska suhde on alkanut. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kayttajatunnus num (10) Käyttäjän tunnus K Kurssinumero num (4) Kurssin tunnus K Roolikoodi mjono (1) K= Kouluttaja O= opiskelija Lukunumero num (10) Viimeksi käsitelty luku Kappalenumero num (10) Viimeksi käsitelty kappale Alkupvm Päiväys Rekisteröintipäivä K K Kysymys on kurssin harjoitukseen liittyvä valintatehtävä. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Harjoitusnumero num (10) K Kysymysnumero num (4) Juokseva numero K Luontipvm Päiväys K Kysymysteksti mjono(8000) Harjoitustekstiä K Kouluttaja mjono(10) Käyttäjätunnus K

12 KysymysLiite yhdistää tietyn liitetiedoston tiettyyn kysymykseen. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Harjoitusnumero num (10) K Kysymysnumero num (4) K Liitenimi mjono(30) K Liitejnro num (8) Viestin liitetiedoston numero K Sijainti mjono (1) Liitteen sijoittelutietoa O=oikealaita, V= vasenlaita, K= keskellä LiiteTiedosto sisältää tekstiin, harjoitukseen tai viestiin liittyvän tiedoston osoitteen. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Liitenimi mjono(30) Käyttäjän valitsema K yksilöintitieto Liitetyyppi mjono (1) P=kuva, F=kaava, A=applet K Tiedostonimi mjono(30) Serverillä olevan kaava/kuva/applet-tiedoston yksilöivä tiedostonimi K Luku on kurssiin sisältyvä kokonaisuus, joka koostuu kappaleista ja harjoituksista. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (8) K Otsikko mjono(30) Sivulla näkyvä yläotsikko K Jnro num (8) Määrää lukujen järjestyksen sivulla. Julkaisupäivä päiväys Kertoo, koska luku K kappaleineen ja harjoituksineen on valmis verkkoon. Kouluttaja mjono(10) Käyttäjätunnus K

13 OpintoSuoritus liittää opiskelijan tiettyyn kurssin lukuun tai harjoituksen vastaukseen. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Opiskelijatunnus num (10) Kayttajatunnus K Alkupvm päiväys Istunnon käynnistymispäivä P Alkuaika aika Istunnon käynnistysaika P Kurssinumero num (4) P Suoritustyyppi mjono(1) Kertoo yhteyden tyypin: L = lohko, K= kysymys Lukunumero num (10) P Harjoitusnumero num (10) P, jos tyyppi = K Kysymysnumero num (4) P, jos tyyppi = K Loppupvm päiväys Istunnon päätymispäiva Loppuaika aika Istunnon päättymisaika Harjoitusvastaus mjono(2) OK, V1, V2 jne P Palaute on opiskelijan kurssin lukuun antama kirjallinen tai pikapalaute. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Opiskelijatunnus mjono(10) Kayttajatunnus K Palautepaiva päiväys K Palauteklo aika K Palautetyyppi mjono(1) H = hymiö, K=kirjallinen K Palaute mjono(8000) H1, H2, H3 tai tekstiä Vastaus on kurssin harjoituskysymykseen liittyvä valintavaihtoehto. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Kurssinumero num (4) K Lukunumero num (10) K Harjoitusnumero num (10) K Kysymysnumero num (4) juokseva numero K Vastausnumero num (4) 1, 2, 3, 4 K Kysymysteksti Mjono (8000) Vastausvaihtoehtoon liittyvä kysymysteksti. Jatkotoimenpide Mjono(1) H = Seuraavaan kysymykseen/harjoitukseen V= virhehaaraan K

14 SeuraavaKysymys num(28) Virhevastauksen jälkeen mahdollisesti annattava uusi kysymys, Kurssi/luku/harjoitus/ kysymysnumero Vihjeteksti Mjono (4000) Selitystekstiä K Viesti on kurssin lukuun tai toiseen viestiin liittyvä palaute, jonka on kirjoittanut joko opiskelija tai kouluttaja. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Viestinumero num (8) Järjestelmän antama K Viestipvm päiväys Viestin kirjoituspäivä K Viestikello aika Viestin kirjoitushetki K Kurssinumero num (4) K Lukunumero num (10) K Viestinaihe mjono(30) Sivulla näkyvä viiteteksti K Kirjoittaja mjono(10) Kayttajatunnus K Viesti Mjono (15000) Ed_viesti num (8) Viestinumero K ViestiLiite yhdistää tietyn liitetiedoston tiettyyn viestiin. Ominaisuus Tyyppi Arvojoukot/merkitys Pakollisuus Viestinumero num (8) K Liitenimi mjono(30) K Liitejnro num (8) Viestin liitetiedoston numero K Sijainti mjono (1) Liitteen sijoittelutietoa O=oikealaita, V= vasenlaita, K= keskellä

15 4.4 Moduulikuvaukset (SV, CJ) 4.4.1 Käyttäjä 4.4.1.1 Yleiskuvaus Moduuli sisältää käyttäjänhallinnan luokat ja metodit. Käyttäjiä on kahdenlaisia, opiskelijoita ja kouluttajia. Perustoiminnot ovat samat molemmille käyttäjätyypeille, joten ne peritään. 4.4.1.2 Tietorakenteet Käyttäjän tietojen väliaikaiseen tallentamiseen käytettävä rakenne. 4.4.1.3 Toiminnot Lisää Lisää uuden käyttäjän tiedot tietokantaan varmistettuaan, ettei käyttäjätunnus ole vielä käytössä. Parametrit: Käyttäjätunnus, salasana, nimi, osoite, sähköposti, käyttö_oikeus, (postinumero), (postitoimipaikka), (puhelinnumero) Poista Muuttaa käyttäjän statuksen poistetuksi asettamalla poistopäivämäärän sekä poistaa järjestelmän käyttöoikeudet (kouluttajan tapauksessa). Parametrit: Käyttäjätunnus Hae_kaikki_tiedot Hakee käyttäjän tiedot. Parametrit: Käyttäjätunnus Palauttaa: Käyttäjätunnus, salasana, nimi, osoite, sähköposti, käyttö_oikeus, (postinumero), (postitoimipaikka), (puhelinnumero)

16 Muuta_tiedot Muuttaa käyttäjän tietoja. Parametrit: Käyttäjätunnus, salasana, nimi, osoite, sähköposti, käyttö_oikeus, (postinumero), (postitoimipaikka), (puhelinnumero) Kirjoittaudu Suorittaa sisäänkirjoittautumistarkistukset. Parametrit: Käyttäjätunnus, salasana Palauttaa: Oikein/Väärin 4.4.2 Opiskelija Kohdassa 4.4.1.3 kuvattujen metodien (jotka peritään) lisäksi sisältää seuraavat metodit: Merkitse_luku Merkitsee kurssiin kuuluvan luvun luetuksi. Parametrit: Opiskelijatunnus, kurssinumero, lukunumero Merkitse_harjoituksen_alku Merkitsee harjoituksen aloitusajan (metodi asettaa ajan itse). Parametrit: Opiskelijatunnus, kurssinumero, lukunumero, harjoitusnumero Merkitse_harjoituksen_loppu Merkitsee harjoituksen lopetusajan (metodi asettaa ajan itse). Parametrit: Opiskelijatunnus, kurssinumero, lukunumero, harjoitusnumero Hae_viimeisin Hakee opiskelijan viimeisimmän harjoituksen tai luvun. Parametrit: Opiskelijatunnus, tyyppi (harjoitus/luku) Palauttaa: Kurssinumero, lukunumero, (harjoitusnumero)

17 4.4.3 Kouluttaja Kohdassa 4.4.1.3 kuvattujen metodien (jotka peritään) lisäksi sisältää seuraavan metodin: Listaa_kouluttajan_kurssit Palauttaa listan kursseista, joissa kouluttaja on mukana. Parametrit: Käyttäjätunnus Tarkista_oikeudet Käytetään tarkistamaan että kouluttajalla on oikeus muuttaa tiettyä kurssia. Parametrit: Käyttäjätunnus, kurssinumero Palauttaa: Hyväksytty/Ei hyväksytty 4.4.4 Kurssi 4.4.4.1 Yleiskuvaus Moduuli sisältää kurssin luomiseen ja poistamiseen sekä kurssin sisällysluettelon näyttämiseen tarvittavan luokan kurssi ja sen metodit. 4.4.4.2 Toiminnot Listaa_luvut Muodostaa annetun kurssin sisällysluettelon hakemalla tietokannasta kurssimateriaalin luvut. Parametrit: Kurssinumero Palauttaa: Kurssin luvut (otsikot) Luo Luo uuden kurssin (ylläpitäjä). Parametrit: Kurssinumero, kurssinimi, kuvaus

18 Muuta_kurssin_tietoja Muuttaa kurssin nimeä ja/tai kuvausta (kouluttaja). Parametrit: Kurssinumero, kurssinimi, kuvaus Poista Poistaa kokonaisen kurssin lukuineen, kappaleineen, harjoituksineen ja liitteineen (ylläpitäjä). Parametrit: Kurssinumero Lisää_kouluttaja Ylläpitäjä lisää kouluttajan kurssin ohjaajien listaan (jota käytetään muokkausoikeuksien tarkistamiseen). Parametrit: Kurssinumero, käyttäjätunnus Poista_kouluttaja Ylläpitäjä poistaa kouluttajan kurssista. Parametrit: Kurssinumero, käyttäjätunnus Listaa_kurssit Hakee tietokannasta kurssien otsikot. 4.4.5 Luku 4.4.5.1 Yleiskuvaus Moduuli sisältää kurssin luvun luomiseen ja poistamiseen sekä näyttämiseen tarvittavan luokan Luku ja sen metodit. 4.4.5.2 Toiminnot Hae Hakee ja näyttää lukuun kuuluvat kappaleet (luvun sisällön). Opiskelijoille näytetään vain sellaiset luvut joilla on olemassaoleva julkaisupäivä. Kappaleet näytetään järjestysnumerojärjestyksessä. Parametrit: Kurssinumero, lukunumero

19 Lisää_luku Lisää luvun kurssiin (kurssin loppuun). Haluttaessa lisätä keskelle kurssia annetaan sen luvun numero, jota ennen uusi luku lisätään. Lisää myös kouluttajan käyttäjätunnuksen tietokantaan. Parametrit: Kurssinumero, otsikko, seuraavan_luvun_numero Muuta_lukua Muuttaa luvun otsikkoa. Päivittää muutoksen tehneen kouluttajan käyttäjätunnuksen tietokantaan. Parametrit: Kurssinumero, lukunumero, otsikko, kouluttaja Muuta_järjestystä Muuttaa luvun paikkaa yhden ylös- tai alaspäin sisällysluettelossa. Parametrit: Kurssinumero, lukunumero, ylös/alas Julkaise Asettaa julkaisupäivän (uudelle) luvulle ja muuttaa sen siten kaikille näkyväksi. Parametrit: Kurssinumero, lukunumero, (julkaisupäivä) Poista Poistaa luvun ja sen kappaleet liitteineen ja harjoituksineen kurssista. Parametrit: Kurssinumero, lukunumero 4.4.6 Kappale 4.4.6.1 Yleiskuvaus Moduuli sisältää kappaleen näyttämiseen, luomiseen, poistamiseen ja muokkaamiseen tarvittavan luokan Kappale ja sen metodit. 4.4.6.2 Toiminnot Näytä Hakee kappaleen sisällön tietokannasta.

20 Parametrit: Kurssinumero, lukunumero, kappalenumero, järjestysnumero Lisää_kappale Lisää uuden kappaleen tietokantaan (loppuun tai keskelle). Parametrit: Kurssinumero, lukunumero, kouluttaja, (teksti), seuraavan_kappaleen_numero Muuta_kappale Muuttaa kappaleen sisältöä. Parametrit: Kurssinumero, lukunumero, kappalenumero, kouluttaja, (teksti) Liitä_liite Liittää aiemmin luodun liitetiedoston tiettyyn kappaleeseen. Parametrit: Liitenumero, kappalenumero, sijainti Muuta_järjestystä Muuttaa kappaleen paikkaa yhden ylös- tai alaspäin luvussa. Parametrit: Kurssinumero, lukunumero, kappalenumero, ylös/alas Poista_kappale Poistaa kappaleen ja sen liitteet aktiivisesta luvusta. Kutsuu ensin Näytä-metodia ja kysyy varmistuksen. Parametrit: Kurssinumero, lukunumero, kappalenumero 4.4.7 Liite 4.4.7.1 Yleiskuvaus Moduuli sisältää liitetiedoston (kaavan, kuvan tai appletin) lisäämiseen ja poistamiseen tarvittavan luokan Liite ja sen metodit.

21 4.4.7.2 Tietorakenteet Luokan yksityisenä attribuuttina on liitetiedoston tiedostonimi. 4.4.7.3 Toiminnot Lisää_liite Lisää tietokantaan uuden tiedostonimen ja käyttäjän antaman kuvaavan nimen (jonka avulla liitettä voi käyttää useissa paikoissa). Parametrit: Tiedostonimi, liitenimi, tyyppi (kaava/kuva/appletti) Palauttaa: Liitenimi Poista_liite Poistaa tietokannasta liitteen ja palvelimelta tiedoston johon viitattiin. Parametrit: Liitenimi 4.4.8 Kaava 4.4.8.1 Yleiskuvaus Moduuli sisältää matemaattisen kaavan lisäämiseen ja poistamiseen tarvittavan luokan Kaava. 4.4.8.2 Tietorakenteet Luokan yksityisenä attribuuttina on liitetiedoston tiedostonimi. (Peritty kohdasta 4.4.7.2)

22 4.4.8.3 Toiminnot Kohdassa 4.4.7.3 kuvattujen metodien (jotka peritään) lisäksi sisältää seuraavan metodin: Listaa_kaavat Listaa järjestelmään tallennetut kaavat. Palauttaa: Liitenimilista Lisää_kaava Tallentaa kaavatiedoston ja lisää kaavan tietokantaan. Parametrit: Liitenimi, <kaavatiedosto> Muuta_kaava Hakee kaavatiedoston nimen muokkaamista varten ja kutsuu kaavaeditoria. Parametrit: Liitenimi Palauttaa: Tiedostonimi 4.4.9 Viesti 4.4.9.1 Yleiskuvaus Moduuli sisältää viestin näyttämiseen, kirjoittamiseen, poistamiseen ja muokkaamiseen sekä keskusteluryhmän sisällön (kysymyksien ja vastauksien otsikoiden) näyttämiseen tarvittavan luokan Viesti ja sen metodit. 4.4.9.2 Toiminnot Hae Hakee viestin (kysymyksen tai vastauksen). Parametrit: Viestinumero Palauttaa: Viestin otsikko, viestin sisältö, edellinen_viesti

23 Uusi Tallentaa uuden viestin tietokantaan. Parametrit: Kurssinumero, lukunumero, viestin otsikko, kirjoittaja, viesti Vastaa Tallentaa uuden vastattavaan viestiin liittyvän viestin tietokantaan. Edellinen viesti viittaa edellisen viestin viestinumeroon. Parametrit: Kurssinumero, lukunumero, viestin otsikko, kirjoittaja, viesti, edellinen_kysymys Liitä_liite Liittää aiemmin luodun liitetiedoston tiettyyn viestiin. Parametrit: Liitenumero, viestinumero, sijainti Poista Poistaa viestin ja siihen liittyvän kaavan. Parametrit: Viestinumero Etsi Etsii tietokannasta tietyn kriteerin täyttäviä viestejä. Parametrit: (Hakusana, otsikossa/sisällössä), (kirjoittaja), (alkupvm), (loppupvm) Palauttaa: Viestien otsikot Listaa_viestit Etsii tietokannasta kaikki tiettyyn lukuun liittyvät kysymykset ja vastaukset ja ryhmittelee ja sisentää vastaukset oikeiden kysymysten alle. 4.4.10 Harjoitus 4.4.10.1 Yleiskuvaus Moduuli sisältää harjoituksen näyttämiseen, syöttämiseen, poistamiseen ja muokkaamiseen sekä vihjeiden antamiseen ja vastauksen tarkistamiseen tarvittavan luokan Harjoitus ja sen metodit.

24 4.4.10.2 Toiminnot Listaa_harjoitukset Näyttää listan lukuun liittyvistä harjoituksista. Parametrit: Kurssinumero, lukunumero Palauttaa: Harjoitusten otsikot Tarkista_vastaus Tarkistaa harjoituksen vaiheessa valitun vaihtoehdon ja merkitsee tuloksen raporttiin. Parametrit: Kurssinumero, lukunumero, harjoitusnumero, vastausnumero, opiskelijanumero Palauttaa: Oikein/väärin Anna_vihje Siirryttäessä harjoituksessa uuteen kysymysvaiheeseen kutsutaan aina tätä metodia, joka näyttää kommentin (vihjeen tai perustelun) edelliseen valintaan perustuen. Parametrit: Kurssinumero, lukunumero, harjoitusnumero, kysymysvaihenumero, vastausnumero Palauttaa: Vihjeteksti Hae Hakee harjoituksen seuraavan (tai ensimmäisen) kysymysvaiheen. Parametrit: Kurssinumero, lukunumero, harjoitusnumero, kysymysvaihenumero Palauttaa: Otsikko, teksti, (liitteet) Lisää Luo uuden (tai ensimmäisen) harjoituksen vaiheen. Parametrit: Kurssinumero, lukunumero, otsikko, kouluttaja, teksti

25 Lisää_vastausvaihtoehto Luo uuden (tai ensimmäisen) vastausvaihtoehdon tiettyyn harjoituksen vaiheeseen (kysymysvaihenumero). Parametrit: Kurssinumero, lukunumero, harjoitusnumero, kysymysvaihenumero, vastaus, vihje, oikein/väärin Muuta_vastausvaihtoehto Muuttaa vastausvaihtoehdon tekstiä, oikeellisuutta ja vihjettä. Parametrit: Kurssinumero, lukunumero, harjoitusnumero, kysymysvaihenumero, vastausnumero, vastaus, vihje, oikein/väärin Poista_vastausvaihtoehto Poistaa vastausvaihtoehdon. Parametrit: Kurssinumero, lukunumero, harjoitusnumero, kysymysvaihenumero, vastausnumero Liitä_liite Liittää aiemmin luodun liitetiedoston tiettyyn harjoituksen vaiheeseen. Parametrit: Liitenumero, harjoitusnumero, (harjoitusnumero), (kysymysvaihenumero), (vastausnumero) Poista_harjoitus Poistaa harjoituksen kaikki vaiheet (eli kysymysvaiheet ja niihin liittyvät vastausvaihtoehdot) ja vastaavat liitteet. Parametrit: Kurssinumero, lukunumero, harjoitusnumero Poista_kysymysvaihe Poistaa harjoituksen vaiheen (eli kysymyksen ja sen vastausvaihtoehdot) ja vastaavat liitteet. Parametrit: Kurssinumero, lukunumero, harjoitusnumero, kysymysvaihenumero Muuta_harjoitus Hakee olemassaolevan harjoituksen muokattavaksi. Parametrit: Kurssinumero, lukunumero, harjoitusnumero Palauttaa: Otsikko, luontipvm, kouluttaja

26 4.4.11 Palaute 4.4.11.1 Yleiskuvaus Moduuli sisältää palautteen käsittelyyn tarvittavan luokan Palaute ja sen metodit. 4.4.11.2 Toiminnot Pikapalaute Palauttaa lyhyen arvosanan (hymiön) kurssimateriaalista kouluttajalle (tallennetaan tietokantaan). Parametrit: Kurssinumero, lukunumero, hyvä/keskinkertainen/huono Tekstipalaute Tallentaa lukuun liittyvän palautteen tietokantaan. Parametrit: Opiskelijatunnus, kurssinumero, lukunumero, palauteteksti Listaa_palautteet Hakee lukuun liittyvät palautteet. Parametrit: Kurssinumero, lukunumero Palauttaa: Luvun palautteiden tekstit Katso_yhteenveto Laskee hymiöpalautteiden prosenttimäärät. Parametrit: Kurssinumero, (lukunumero) Palauttaa: Hymiöpalautteiden prosenttiluvut 4.4.12 Raportti 4.4.12.1 Yleiskuvaus Moduuli sisältää raporttien tekemiseen ja käsittelyyn tarvittavan luokan Raportti ja sen metodit.

27 4.4.12.2 Toiminnot Luetut_luvut Hakee tietoa lukujen lukijamääristä. Parametrit: Kurssinumero, (alkuluku), (loppuluku), (alkupvm), (loppupvm) Palauttaa: Lukijoiden määrä luvuittain Harjoitusten_vastaukset Hakee tietoa suoritetuista harjoituksista ja listaa tulokset kaikilta opiskelijoilta yhteenvetona harjoituksittain. Parametrit: (Kurssinumero), (lukunumero), (alkuharjoitus), (loppuharjoitus), (alkupvm), (loppupvm), (harjoitus/opiskelija) Palauttaa: Vastausten jakauma (oikeiden ja väärien vastauksien keskimääräinen määrä, vrt. Opiskelijan_vastaukset) vaiheittain jokaisen harjoituksen kohdalla. Harjoitusten_suoritusajat Hakee tietoa harjoitusten suoritusajoista (alku- ja loppuajan erotus). Parametrit: (Kurssinumero), (lukunumero), (alkuharjoitus), (loppuharjoitus), (alkupvm), (loppupvm) Palauttaa: Opiskelijoiden keskimääräinen suoritusaika harjoituksittain Opiskelijan_luvut Hakee tietoa opiskelijan etenemisestä kurssimateriaalissa. Parametrit: Käyttäjätunnus, (kurssinumero) Palauttaa: Opiskelijan selaamat luvut (valitussa kurssissa tai koko järjestelmässä) Opiskelijan_vastaukset Hakee tietoa opiskelijan vastauksista harjoituksissa. Parametrit: Käyttäjätunnus, (kurssinumero), (lukunumero) Palauttaa: Vastausten jakauma (oikeiden ja väärien vastauksien määrä) vaiheittain jokaisen suoritetun harjoituksen kohdalla.

28 Opiskelijan_suoritusajat Hakee tietoa opiskelijan etenemisestä harjoituksissa. Parametrit: Käyttäjätunnus, (kurssinumero), (lukunumero) Palauttaa: Opiskelijan keskimääräinen suoritusaika (alkuajan ja loppuajan erotus) harjoituskohtaisesti 5. Käyttöliittymä 5.1 Opiskelija (JK) Opiskelijan käyttöliittymä on kuvattu vaatimusdokumentin luvussa 5.2. Opskelijan ja kouluttajan yhteisesti käyttämiin kaavaeditoriin ja keskustelualueeseen on tullut suunnitteluvaiheessa muutoksia. Uudet versiot molemmista on esitelty kouluttajan käyttöliittymän yhteydessä seuraavissa luvuissa. Samoin opiskelijan kirjautuminen kuvataan kouluttajan käyttöliittymän yhteydessä. 5.2 Kouluttaja (JK) Kouluttaja voi oman käyttöliittymänsä avulla tuoda järjestelmään luotuun kurssiin oppimateriaalia ja harjoituksia. Lisäksi olemassaolevaa materiaalia voidaan päivittää ja korjata. Kouluttaja käyttää kaavojen tuottamiseen samaa kaavaeditoria kuin opiskelijatkin. 5.2.1 Järjestelmään kirjautuminen (JK) Kaikki järjestelmän käyttäjät (opiskelijat ja kouluttajat) aloittavat järjestelmän käytön samalta pääsivulta. Pääsivulla käyttäjää pyydetään antamaan käyttäjätunnus ja salasana. Jos opiskelijalla ei ole vielä käyttäjätunnusta järjestelmään, hän siirtyy pääsivulta uuden käyttäjätunnuksen luontisivulle. Luontisivulla opiskelijalta

29 pyydetään yhteystietoja. Täytettyään lomakkeen hän saa uuden käyttäjätunnuksen ja salasanan. Tämän jälkeen opiskelija ohjataan sivulle, jossa on lyhyet käyttöohjeet. Nämä ohjeet esitetään vain käyttäjän ensimmäisellä sisäänkirjoittautumiskerralla, mutta niihin voidaan palata myöhemminkin. Ohjesivulta opiskelija avaa varsinaisen pääikkunan järjestelmän käyttämiseksi. Kouluttajan käyttäjätunnuksen luo järjestelmän ylläpitäjä. Kouluttaja ohjataan sisäänkirjoittautumisen yhteydessä käyttöoikeustiedon perusteella omaan pääikkunaansa. 5.2.2 Pääikkuna (JK) Kouluttajan pääikkunassa on listattuna kaikki kurssit joihin kouluttajalla on oikeus. Kurssien nimiä klikkaamalla kyseinen kurssi avatuu editointi-ikkunaan pääikkunan päälle. Kurssien nimien yhteydessä on myös linkki, josta kouluttaja pääsee muokkaaman kurssin tietoja kuten esimerkiksi kurssin esittelytekstiä. Pääikkunassa on myös linkki, josta kouluttajat voivat siirtyä katselemaan järjestelmän kursseja opiskelijoiden tavoin. 5.2.3 Editointi-ikkuna (JK) Editointi-ikkunassa (kuva 5.1) kouluttaja mm. luo ja muokkaa kurssimateriaalia sekä tutustuu opiskelijoiden antamaan palautteeseen.

30 Kuva 5.1 Editointi-ikkuna Editointi-ikkunan vasemmassa reunassa on kurssin oppimateriaalin sisällysluettelo, josta kouluttaja voi valita editointavan luvun. Lukujen nimet toimivat linkkeinä, joiden painallus tuo kyseisen kohdan oppimateriaalin näytön keskellä olevaan editointi-osioon. Sisällysluettelon vasemmassa reunassa näytettävällä graafisella elementillä (tässä tapauksessa kolmio) osoitetaan käyttäjän valitsema kohta oppimateriaalissa. Sisällysluettelon alapuolella on painikkeet, joilla voidaan luoda uusia, aluksi tyhjiä lukuja. Lisää luku -painikkeella uusi luku luodaan sisällysluettelon loppuun, Lisää luku ennen nykyistä painike puolestaan luo uuden luvun ennen sillä hetkellä valittua lukua. Näin kurssiin voidaan luoda esimerkiksi uusi ensimmäinen luku. Kun kurssiin on luotu kaksi tai useampia lukuja, annetaan kouluttajalle mahdollisuus muuttaa niiden järjestystä ylöspäin tai alaspäin suhteessa toisiin lukuihin. Tämä tapahtuu lukujen yhteyteen tulevilla nuolipainikkeilla.

31 Ikkunan vasemmassa reunassa on myös kaikkiin kurssin lukuihin annettujen pikapalautteiden koottu yhteenveto, sekä linkki raporttien katseluikkunaan (luku 5.2.4). Keskellä näyttöä olevassa kehyksessä on aina esillä valittu luku editointitilassa. Sivun ylälaidassa on tekstikenttä luvun nimelle. Luku koostuu kappaleista joissa on tilaa leipätekstille, yhdelle kaavaalle, yhdelle kuvalle ja yhdelle Java-appletille. Kappaleita voidaan lisätä peräkkäin haluttu määrä. Lisää kappale -painikkeella uusi luku luodaan luvun loppuun, Lisää kappale ennen nykyistä painike puolestaan luo uuden kappaleen ennen sillä hetkellä valittua kappaletta. Kun lukuun on luotu kaksi tai useampia kappaleita, annetaan kouluttajalle mahdollisuus muuttaa niiden järjestystä ylöspäin tai alaspäin suhteessa toisiin kappaleisiin. Tämä tapahtuu kappaleiden yhteyteen tulevilla nuolipainikkeilla. Esikatselu-painikkeen painaminen näyttää luvun lopullisessa muodossaan uudessa ikkunassa. Lukuun tehdyt muutokset hyväksytään Tallenna-painikkeella. Ikkunan oikeassa ylänurkassa on Keskustelut-painike, josta kouluttajalle avautuu keskusteluikkuna (luku 5.2.5). Keskustelut-painikkeen alapuolella on harjoitukset-osio, jossa on esillä kaikki kyseiseen lukuun liittyvät harjoitukset. Harjoitusten otsikot ovat linkkejä, joista valmiita harjoituksia voidaan editoida (luku 5.2.7). Uusi harjoitus painikkeesta voidaan käynnistää uuden harjoituksen luonti. Kouluttajan editointi-ikkunan oikeassa alanurkassa on nähtävillä käsiteltävään lukuun liittyvän pikapalautteen yhteenveto sekä Tekstipalaute-painike, josta avautuu uusi ikkuna, jossa voidaan selata lukuun liittyvää tekstipalautetta.

32 5.2.4 Raportit (OM) Ikkuna, jossa opettaja katsoo kurssiin liittyviä raportteja, muodostuu kahdesta kehyksestä (kuva 5.2). Vasemmassa reunassa on luettelo kaikista mahdollisista raporttityypeistä, joista klikkaamalla vastaava raportti tulostetaan varsinaiseen raporttikehykseen. Kaikista raporteista saa myös opiskelijakohtaisen tulosteen, jossa seurataan vain yhden opiskelijan lukemisia ja suorituksia. Haluttu opiskelija valitaan drop-down listasta, johon kaikkien opiskelijoiden nimet on listattu. Kuva 5.2 Raportti-ikkuna 5.2.5 Keskusteluikkuna (OM, JK) Keskusteluikkuna koostuu kolmesta kehyksestä (kuva 5.3). Vasemmalla on kurssin luvuista koostuva sisällysluettelo, josta lukua klikkaamalla saa näkyviin kyseiseen lukuun liittyvien viestien otsikot oikealla olevaan kehykseen. Viestin varsinainen teksti näkyy oikealla sivun alaosassa olevassa kehyksessä, johon uuden viestin saa näkyviin klikkaamalla halutun viestin otsikkoa.

33 Viestejä voi myös etsiä hakutoiminnon avulla. Haettavaa tekstiä etsitään joko otsikosta tai viestin sisällöstä käyttäjän valinnan perusteella. Muita mahdollisia hakukriteerejä ovat viestin kirjoittaja ja kirjoitusajankohta. Vastaa-painikkeella käyttäjä pääsee kirjoittamaan vastauksen luettavana olevaan viestiin ja Uusi viesti painikkeella kirjoittamaan uutta viestiä siihen lukuun liittyen, joka on valittuna. Kouluttajalla on lisäksi jokaisen viestin yhteydessä Poista-painike, jolla hän voi poistaa kyseisen viestin. Kuva 5.3 Keskusteluikkuna 5.2.6 Kaavaeditori (OM) Kaavaeditori avautuu erilliseen ikkunaan. Editori jakaantuu kahteen kehykseen, joista ylempi kehys on varsinainen editoriosa ja alempi kaavan esikatseluun tarkoitettu osio. Kaava kirjoitetaan tekstikenttään. Erikoismerkeille, joita ei voida tuottaa näppäimistöllä, käytetään erityisiä funktionimiä. Jotta käyttäjän ei tarvitse

34 tietää ja muistaa näitä nimiä, ne saadaan lisättyä tekstikentässä olevan tekstin loppuun painamalla tekstikentän yläpuolella olevia näppäimiä. Jos erikoismerkki vaatii sulkeiden käyttöä, ts. kyseessä on operaatio, jonka sisällön määritykseen tarvitaan sulkeita, näppäimen painallus lisää myös sulkeet funktionimen lisäksi. Kuva 5.4, jossa on lisätty neliöjuuri, havainnollistaa funktionimien käyttöä. Halutessaan katsoa, miltä kaava näyttää, käyttäjä painaa Näytä-näppäintä tai painaa rivinvaihtonäppäintä tekstikentässä, jolloin kaava esitetään editorin alaosassa. Jos kaava on kesken tai virheellinen, sen editointia voidaan jatkaa. Kaavalle annetaan nimi tekstikenttään, ja kun kaava on valmis, käyttäjä hyväksyy sen OK-näppäimellä. Myös valmis tiedostossa oleva kaava voidaan lisätä käyttämällä Upload-näppäintä. Peruuta-näppäimellä kaavan lisäys voidaan keskeyttää. Kuva 5.4 Kaavaeditori 5.2.7 Harjoitusten luonti (JK) Kouluttaja luo harjoituksia omassa ikkunassaan (kuva 5.5). Ikkunan vasemmassa reunassa on navikko, jonka avulla käyttäjä voi valita muokattavan harjoituksen tai poistaa sen Poista harjoitus -painikkeella. Uusi harjoitus painikkeella voidaan luoda uusi harjoitus.

35 Kuva 5.5 Harjoitusten luonti -ikkuna Muokattava tai luotava harjoitus näkyy ikkunan oikean reunan kehyksissä. Ylemmässä kehyksessä kouluttaja määrittelee harjoituksen otsikon ja ensimmäisen kysymysvaiheen tekstin. Lisäksi harjoitukseen voi liittyä yksi kaava, kuva ja appletti. Alemmassa kehyksessä kouluttaja antaa monivalinnat, jotka harjoituksen kussakin kysymysvaiheessa esitetään. Lisää vaihtoehto painike avaa Uusi vaihtoehto ikkunan (kuva 5.6). Tässä ikkunassa syötetään monivalintavaihtoehdon teksti, sekä mahdollinen selitysteksti, kaava, kuva ja appletti jotka käyttäjälle näytetään jos hän on valinnut kyseisen vaihtoehdon. Kouluttaja myös määrittelee, onko vaihtoehto oikea vai väärä.

36 Kuva 5.6 Uuden vaihtoehdon syöttö Vaihtoehtoja voi poistaa Harjoitusten luonti -ikkunassa Poista-painikkeilla. Seuraava kysymys -painikkeella kouluttaja siirtyy luomaan uutta askelta harjoituspolussa, eli seuraavaa harjoituksen kysymysvaihetta, johon siirrytään kun käyttäjä on tehnyt oikean valinnan. Valmis-painikkeella kouluttaja päättää harjoituspolun luonnin, jolloin harjoitus on valmis.

37 6. Rajoitteet toteutukselle (CJ) 6.1 Noudatettavat standardit Toteutus käyttää myös Java-kielen versiota 1.1 ja SQL-ohjelmoinnissa SOLID SQL API. LateX-kieltä ja MathML-kieltä käytetään siinä määrin kuin IBM Techexplorer 2.0 Introductory Edition niitä tukee. 6.2 Ohjelmointikielet ja käyttöjärjestelmät Toteutuksessa käytetään edellisessä luvussa mainittujen ohjelmointikielten lisäksi Java-kieli. Sen kääntämiseen käytetään Java Development Kit versiota 1.1. Ohjelmisto toteutetaan Linux-ympäristössä, mutta Java-teknologian ansiosta tuotetta pystyy käyttämään myös muissa Javaa tukevissa käyttöjärjestelmissä. 6.3 Muut tarvittavat apuohjelmistot Ohjelmisto tarvitsee JSP-yhteensopivan WWW-palvelimen toimiakseen. Toteutuksessa käytetään Apache WWW-palvelimen versio 1.3.9. Tämä palvelin ei kuitenkaan ole JSP-yhteensopiva sellaisenaan, vaan se tarvitsee myös Jserv versio 1.0 lisämoduulin sekä Gnujsp 1.0 palvelinsovelmat tarjoakseen JSP-tuen. Ohjelmisto käyttää myös Solid Information Technologyn JDBC-ajuria tietokannan käsittelyssä. Toteutuksessa käytetään myös ohjelmakoodieditoria, grafiikkaeditoria sekä HTMLeditoria, mutta näitä ei määritellä tarkasti. Ne ovat ryhmän jäsenten oman harkinnan ja tarpeen varassa.

38 6.4 Arvio toteutuksen koosta ja ohjelmointityyli Toteutuksessa arvioidaan olevan n. 3200 riviä Java-koodia, sekä n. 800 riviä HTML, JSP ja Javascript koodia. Java-koodimäärän arvio perustuu arvioon että jokainen metodi sisältää keskimäärin 50 riviä koodia. HTML/JSP/Javascript-arviossa on karkeasti arvioitu olevan keskimäärin 100 riviä jokaisella järjestelmän pääsivulla (kurssin pääsivu, keskustelusivu, harjoitussivu jne.). Java-ohjelmoinnissa käytetään soveltuvin osin Sun Microsystemsin Java-tyyliopasta (saatavilla osoitteessa http://java.sun.com/docs/codeconv). Erityisesti käytetään jokaisessa Java-tiedostossa kuvaavaa alkukommenttia, ja yleisesti kommenttien asettelussa käytetään mainitun ohjeen viidennessä luvussa esiintyviä tapoja. Muuttujat ja metodit määritellään ohjeen kuudennen luvun suositusten mukaisesti, lauseiden määrittelyssä noudatetaan ohjeen seitsemäs luku. Nimitykseen käytetään ohjeen luku yhdeksän, tyhjän tilan käyttöön luku kahdeksan ja sisennykseen luku neljä. Ohjelmakoodissa käytetään englantia, kommentoinnissa suomea. HTMLohjelmoinnissa laitetaan jokainen uusi HTML-tagi uudelle riville, paitsi sisimmäinen tagi, jonka sulkeva osa laitetaan samalle riville. Sivun eri osia (head, body, table jne.) erotetaan yhdellä tyhjällä rivillä. Jos sivun tageissa käytetään isoja kirjaimia noudatetaan samaa käytäntöä johdonmukaisesti koko sivulla, vastaavasti pienille kirjaimille. Javascript-koodille pätee samat tyyliohjeet kuin Java-koodille (ks. yllä).