Kuovi-projekti Vaatimusmäärittely Antti Hedlund Juho Kortelainen Jaana Ojala Juhana Pikki Versio 0.4 Julkinen 17. lokakuuta 2005 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä
Hyväksyjä Päivämäärä Allekirjoitus Nimenselvennys Projektipäällikkö..2005 Tilaaja..2005 Ohjaaja..2005
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti Tietoa dokumentista Tekijät: Antti Hedlund (AH) anoshedl@cc.jyu.fi 040-7546798 Juho Kortelainen (JK) jumakort@cc.jyu.fi 040-7786227 Jaana Ojala (JO) jhlehtio@cc.jyu.fi 050-3623262 Juhana Pikki (JP) kajupikk@cc.jyu.fi 044-0300882 Dokumentin nimi: Kuovi-projekti, Vaatimusmäärittely Sivumäärä: 12 Tiedosto: Vaatimusmaarittely(v.0.4).tex Tiivistelmä: Tämä dokumentti on Kuovi-projektin vaatimusmäärittely. Dokumentissa kuvataan sovelluksen toiminnalliset ja tekniset vaatimukset sekä rajoitteet. Avainsanat: L A TEX, Korppi-opintotietojärjestelmä, Kuovi, muruspolku, prioriteetti, prioriteettiluokka, sovellusprojekti. i
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen Versiohistoria Versio Päivämäärä Muutokset Tekijät 0.1 5.10.2005 Ensimmäinen luonnos valmis. Lisätty luvut: Johdanto, Tekniset vaatimukset, Toiminnalliset vaatimukset, Rajoitteet, Käyttäjäryhmät, Käyttötapaukset sekä Kännykkämuotoon toteutettavat sivut. 0.2 12.10.2005 Korjailtu lukuja 1, 2, 4 ja 5. Siirretty luku 7 luvun Taustat ja tavoitteet sisään. Korjailtu lukua 9 ja siirretty se toiminnallisiin vaatimuksiin. Poistettu luku 8. Puuttuu siis luvut 7,8 ja 9 edelliseen versioon nähden. 0.3 14.10.2005 Korjattu lukuja 3, 4, 5 ja 6. Lisätty Taustat ja tavoitteet sekä tiivistelmät. Lisätty luku Vaatimusten priorisointi 0.4 17.10.2005 Korjattu hieman jokaista lukua. Numeroitu kaikki vaatimukset ja rajoitteet juoksevalla numeroinnilla. Lisätty luku 8 Yhteenveto JK, JO JK, JO JK, JO JO, JK ii
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti Tietoa projektista Kuovi-projekti suunnittelee ja toteuttaa keskeisimmistä Korppi-opintotietojärjestelmän toiminnoista matkapuhelimella helpommin käytettävät rinnakkaiset versiot. Tekijät: Antti Hedlund (AH) anoshedl@cc.jyu.fi 040-7546798 Juho Kortelainen (JK) jumakort@cc.jyu.fi 040-7786227 Jaana Ojala (JO) jhlehtio@cc.jyu.fi 050-3623262 Juhana Pikki (JP) kajupikk@cc.jyu.fi 044-0300882 Tilaaja: Vesa Lappalainen vesal@mit.jyu.fi 014-2602722 Ohjaajat: Vesa Korhonen vkorhone@mit.jyu.fi 014-2604976 Jukka-Pekka Santanen santanen@mit.jyu.fi 014-2602756 Maunu Tuomainen mttuomai@cc.jyu.fi 041-5381381 Yhteystiedot: Sähköpostilistat: Sähköpostiarkistot: kuovi05_opetus@korppi.jyu.fi, kuovi05@korppi.jyu.fi, kuovipien.group@korppi.jyu.fi https://korppi.jyu.fi/list-archive/ kuovi05_opetus/ind.html, https://korppi.jyu.fi/list-archive/ kuovi05/ind.html Työhuone: Ag C222.2, puh. 014-2604963 iii
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen iv
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti Sisältö 1 Johdanto 1 2 Termit 2 2.1 Käyttäjäryhmät............................... 2 2.2 Dokumentin aihealueen termejä..................... 2 2.3 Dokumentissa esiintyviä teknisiä termejä................ 2 3 Sovelluksen taustoja ja tavoitteita 4 4 Vaatimusten priorisointi 5 4.1 Välttämätön (1)............................... 5 4.2 Tärkeä (2).................................. 5 4.3 Ajan salliessa (3)............................... 5 4.4 Ei projektissa (4)............................... 5 5 Toiminnalliset vaatimukset 6 5.1 Yleiset vaatimukset............................. 6 5.2 Toteutettavat sivut............................. 7 6 Tekniset vaatimukset 10 7 Rajoitteet 11 8 Yhteenveto 12 v
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen vi
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti 1 Johdanto Kuovi-projekti on Jyväskylän yliopiston tietotekniikan laitoksella toteutettava sovellusprojekti. Projekti suunnittelee ja toteuttaa Jyväskylän yliopiston ja Avoimen yliopiston opiskelijoille ja opettajille tarkoitetun Korppi-opintotietojärjestelmän valituista toiminnoista matkapuhelimella helpommin käytettävät rinnakkaiset versiot. Työn tilaajana toimii Jyväskylän yliopisto. Nykyiset Korpin WWW-sivut sisältävät liikaa informaatiota matkapuhelimen pienellä näytöllä käytettäväksi. Lisäksi siirtomäärän mukaan laskutettavissa liittymissä selaaminen on kallista. Kuovi-projektin toteuttama sovellus tulee tarjoamaan helpon ja edullisen tavan käyttää Korppi-järjestelmän eniten käytettyjä palveluita WWWselaimen sisältävillä matkapuhelimilla. Dokumentissa kuvataan projektissa toteutettavan sovelluksen toiminnallisia ja teknisiä vaatimuksia sekä rajoitteita. Vaatimukset on myös priorisoitu. Vaatimusmäärittely esittää ne toiminnot ja tiedot, jotka sovellukseen tulee räätälöidä matkapuhelimella käytettäväksi. Käyttötapauksia ei dokumentissa kuvata, sillä ne ovat samat kuin Korppi-järjestelmän vastaavat. Projektin taustoja, tavoitteita, aikataulua, tehtäviä, riskejä ja muita läpivientiin vaikuttavia asioita kuvataan Projektisuunnitelmassa. Sovellussuunnitelmassa esitellään sovelluksen teknistä toteutusta. Projektin osapuolten roolit, velvollisuudet ja oikeudet esitellään projektisopimuksessa. Luvussa 2 esitellään aiheeseen ja työkaluihin liittyviä dokumentissa käytettyjä termejä. Luvussa 3 kuvataan sovelluksen taustaa ja tavoitteita. Luvussa 4 määritellään vaatimusten prioriteettiluokat. Luvussa 5 määritellään kehitettävän sovelluksen toiminnalliset sekä luvussa 6 sen tekniset vaatimukset. Luvussa 7 kuvataan rajoitteita. Luku 8 sisältää yhteenvedon dokumentin asioista. 1(12)
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen 2 Termit 2.1 Käyttäjäryhmät Opettaja Opiskelija Vierailija on käyttäjätunnuksellaan ja salasanallaan järjestelmään kirjautuva henkilö, joka haluaa hallita opettamiseen liittyviä asioita. on käyttäjätunnuksellaan ja salasanallaan järjestelmään sisäänkirjautuva henkilö, joka haluaa hallita opiskeluihinsa liittyviä asioita. on sovelluksen käyttäjä, joka ei kirjaudu järjestelmään sisään. 2.2 Dokumentin aihealueen termejä Korppi Kuovi Sovellusprojekti on Jyväskylän Yliopiston opiskelijoille tarkoitettu opintotietojärjestelmä. on Jyväskylän ylipiston tietotekniikan laitoksen sovellusprojekti. on tietotekniikan laitoksen opintojakso. 2.3 Dokumentissa esiintyviä teknisiä termejä Eclipse HTTP HTTPS JSP Kehitystyökalu, joka tukee lukuisia eri ohjelmointikieliä. (HyperText Transfer Protocol) on WWW-tekniikassa käytettävä tiedonsiirtoprotokolla, jolla selain pyytää haluttuja sivuja WWW- palvelimelta. (Hypertext Transfer Protocol over Secure Socket Layer) on HTTP- protokollan salattu versio. (Java Server Pages) on skriptaustyylinen ohjelmointikieli, jossa HTML-koodin sekaan on mahdollista lisätä Java-kielellä kirjoitettua koodia. 2(12)
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti L A TEX 2ε WAP on ladontaohjelmisto. (Wireless Application Protocol) on avoin standardi, joka välittää internetin kaikkialle ajasta ja paikasta riippumatta. 3(12)
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen 3 Sovelluksen taustoja ja tavoitteita Matkapuhelinten käyttö on lisääntynyt räjähdysmäisesti viime vuosien aikana. Yhä useammasta puhelimesta löytyy nykyään myös internet-selain. Selailun yleistymisen myötä myös Jyväskylän yliopiston tietotekniikan laitoksella kehitetyn Korppiopintotietojärjestelmän palveluiden käyttö muulloinkin kuin oman tietokoneen ääressä yleistyy. Nykyiset Korpin WWW-sivut sisältävät kuitenkin liikaa informaatiota matkapuhelimen pienellä näytöllä selattavaksi. Lisäksi siirtomäärän mukaan laskutettavissa liittymissä selaaminen on kallista. Tämä on luonut tarpeen muotoilla Korpille rinnakkainen, varta vasten matkapuhelimella käytettävä käyttöliittymä. Kuovi- projekti on syntynyt tämän tarpeen pohjalta. Projektissa suunnitellaan ja toteutetaan yksinkertaistetut versiot Korppi-järjestelmän eniten käytetystä WWW-sivuista, jotta käyttö matkapuhelimella olisi mahdollisimman helppoa ja vaivatonta. Sivut toteutetaan Javalla ja JSP:llä. Sovellus tehdään vastaamaan Jyväskylän yliopiston sekä Avoimen yliopiston opettajien ja oppilaiden tarpeita. Jokainen käyttäjä kirjautuu järjestelmään omilla henkilökohtaisilla tunnuksillaan ja kirjautujan statuksesta riippuen hänelle tarjotaan joko opiskelijan tai opettajan toimintoja. Kurssitietoja voi selata myös kirjautumatta. Opiskelijoille annetaan mahdollisuus tarkistaa viikkonäkymänsä, ilmoittautua kursseille ja tentteihin sekä tarkistaa opintosuorituksiaan. Opettajalle tärkeitä toimintoja ovat tapahtumien lisäykset ja poistot, salivarausten tekeminen ja kalenteripalvelut. 4(12)
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti 4 Vaatimusten priorisointi Vaatimukset asetetaan neljään eri kategoriaan vaatimusten tärkeyden mukaan. Tämä tehdään, koska projektin tekemiseen on käytettävissä vain rajoitettu määrä aikaa ja osa tehtävistä toiminnoista on asetettava etusijalle. Prioriteetti on sitä korkeampi mitä pienempi numero on. Prioriteettiluokat ovat: 4.1 Välttämätön (1) Tämä prioriteettiluokka sisältää kaikista tärkeimmät vaatimukset, jotka tulisi ensisijaisesti toteuttaa. 4.2 Tärkeä (2) Tähän luokkaan kuuluvat vaatimukset, jotka ovat tärkeitä toteuttaa, mutta eivät ole kaikista tärkeimpiä. 4.3 Ajan salliessa (3) Tähän luokkaan taas kuuluvat vaatimukset, jotka toteutetaan, jos aikaa jää muiden vaatimusten toteuttamisen jälkeen. 4.4 Ei projektissa (4) Tähän luokkaan kuuluvat vaatimukset, jotka jäävät toteuttamatta projektin aikarajan takia. 5(12)
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen 5 Toiminnalliset vaatimukset Kuovi-projekti suunnittelee ja toteuttaa yksinkertaistetut versiot Korppi- järjestelmän eniten käytetyistä palveluista, jotta käyttö matkapuhelimella olisi helppoa ja joustavaa. Tässä luvussa käsitellään niitä sovelluksen vaatimuksia, joiden perusteella tähän päästään. 5.1 Yleiset vaatimukset Seuraavassa esitellään ne yleiset vaatimukset, joita toteutettavilta sivuilta edellytetään. Vaatimusten prioriteetit on merkitty sulkuihin kunkin kohdan perään. 1.1 Jokaisen sivun ylälaidassa on oltava muruspolku, joka mahtuu yhdelle riville. Tässä olisi aina linkki etusivulle, sekä edelliselle sivulle. Jos polulla on useampia sivuja esitetään piiloon jääneet sivut» -merkillä. Sanoja voidaaan tarvittaessa lyhentää. (2) 1.2 Oltava olemassa apusivu, jossa kerrotaan miten kännykkä- Korppia käytetään. (2) 1.3 Apusivulta löydyttävä maininta Jyväskylän yliopistosta. (2) 1.4 Jokaisen sivun alareunassa oltava linkkejä kyseisen osion tärkeimmille alasivuille. (2) 1.5 Jos linkki vie alkuperäisille Korpin sivulle tätä merkitään (k) - merkillä. (2) 1.6 Jos linkki vie sähköpostin lähettämiseen tätä merkitään @ - merkillä. (2) 1.7 Vältettävä alasvetolistoja niiden kännykällä vaikeakäyttöisyyden vuoksi. (2) 1.8 Vältettävä taulukkomuotoisten esitysten käyttöä, sillä ne tuottavat ongelmia lukuisilla matkapuhelin-malleilla. (2) 6(12)
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti 1.9 Sivujen oltava mahdollisimman yksinkertaiset eli normaalin Korpin sivuista on karsittu kaikki ylimääräinen kuten kuvat ja epäoleellinen teksti. (2) 1.10 Sivujen ylälaitoihin vain kaikista välttämättömimmät asiat. (2) 1.11 Pyrittävä välttämään tilanteita, jolloin näyttöä joutuu kelaamaan kahteen eri suuntaan. (2) 5.2 Toteutettavat sivut Seuraavissa alaluvuissa käydään läpi toteutettavat sivut. Ohessa olevat linkit vievät alkuperäisille Korppi-sovelluksen WWW-sivuille. Jokaisen sivun prioriteetti on merkitty sivun jälkeen. 2.1 Opiskelusi (1) Tämä on tärkein sivu. Sen alta löytyvät opiskelijalle olennaisimmat tiedot. https://korppi.jyu.fi/kotka/course/student/opiskurssit.jsp 2.1.1 Meneillään olevat (1) 2.1.2 Vanhentuneet (3) 2.1.3 Suoritetut (3) 2.1.4 Tenttisi (1) Täältä löytyvät toiminnot tenttiin ilmoittautumiseen ja ilmoittautumisen poistamiseen. https://korppi.jyu.fi/kotka/exam/student/ examsstu.jsp?status=1 2.1.4.1 Ilmoittautuminen (1) 2.2 Kalenteri (1) Tämä on lähes yhtä tärkeä sivu kuin Opiskelusi. Täältä löytyvät erilaiset kalenterit, sekä tapahtuman lisääminen. https://korppi.jyu.fi/kotka/calendar/week.jsp 2.2.1 Viikko (1) 7(12)
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen 2.2.2 Kuukausi (2) 2.2.3 Päivä (1) 2.2.4 Lisää tapahtuma (1) 2.2.5 Ryhmän tapahtumat (1) 2.3 Opetuksesi (1) Tämä on Opettaja-käyttäjäryhmän tärkein sivu. Se sisältää tiedot käyttäjän hallinnoimista kursseista ja tenteistä. 2.3.1 Aktiivinen (1) 2.3.2 Suunitteilla (3) 2.3.3 Vanhentunut (3) 2.3.4 Tenttien hallinta (1) Täältä löytyvät toiminnot tenttien lisäämiseen ja poistoon. 2.3.4.1 Peruminen (1) 2.4 Kurssitiedot ja ilmoittautuminen (2) Tältä sivulta pääsee etsimään eri kursseja ja niiden tietoja. https://korppi.jyu.fi/kotka/course/ student/organisationlist.jsp 2.4.1 Normaali kurssin tai koodin avulla tapahtuva haku ja 2.4.2 Haku-velho tarkemmalle kurssin haulle. 2.5 Tentteihin ilmoittautuminen (2) Tältä sivulta pääsee etsimään tenttejä ja ilmoittautumaan niihin. https://korppi.jyu.fi/kotka/exam/ student/examreg.jsp 2.5.1 Tenttien etsiminen laitoksen, koodin tai nimen mukaan (2) 2.6 Asetukset (2) Tällä sivulla voi määrätä kännykkä-korppiin liittyviä asetuksia. Asetukset on yksilöity vastaamaan tämän sovelluksen tarpeita. https://korppi.jyu.fi/kotka/portal/ showsettings.jsp 8(12)
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti 2.7 Henkilötiedot (3) Tällä sivulla käyttäjä pääsee muokkaamaan henkilötietojaan. https://korppi.jyu.fi/kotka/person/showmain.jsp 2.8 Ryhmät (3) Tältä sivulta pääsee käsiksi ryhmiin joissa käyttäjä on osallisena. https://korppi.jyu.fi/kotka/group/index.jsp 2.9 Ilmoitustaulu (3) Tältä sivulta näkee mahdolliset ilmoitusasiat. https://korppi.jyu.fi/kotka/ noticeboard/notices.jsp 2.10 Salivaraukset (3) Tältä sivulta pääsee varaamaan saleja. https://korppi.jyu.fi/kotka/reservation/ reservationmain.jsp 2.10.1 Varauksen peruminen (3) 2.11 Kyselyt (3) Tältä sivulta pääsee vastaamaan kyselyihin. https://korppi.jyu.fi/kotka/survey/ main/main.jsp 2.11.1 Vastattavissa olevat kyselyt (3) 9(12)
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen 6 Tekniset vaatimukset Seuraavassa on listattu teknisiä vaatimuksia. Vaatimuksen jälkeen on merkitty sen prioriteetti. 3.1 Sivuissa oltava HTTPS-tuki. (1) 3.2 Sivut toteutetaan JSP:llä ja Java-luokilla Eclipse-ympäristössä hyödyntäen olemassa olevia Korppi-järjestelmän toteutusratkaisuja, lähdekoodeja sekä tietokantaa. (1) 3.3 Sivujen on otettava huomioon kännykän näytön pieni koko, sekä erilainen käytettävyys (vrt. tietokoneen näppäimistö, hiiri ja kännykän painikkeet). (1) 3.4 Sivujen on oltava lähetettävän tietomäärän osalta "kevyitä". Tämä tarkoittaa, että sivuista karsitaan kaikki ylimääräiset asiat, jotka ovat liian isoja tietomäärältään. (2) 3.5 Mahdollisimman suuri osa sivujen lähdekoodista on oltava siistissä muodossa siten, että näkövammaisten käyttämät äänilukijat pystyvät tulkitsemaan sivuja hyvin. (3) 3.6 Sivuihin tehtävä WAP-tuki. (3) 3.7 Sivuihin tehtävä HTTP-tuki. (3) 10(12)
Julkinen Vaatimusmäärittely 0.4 Kuovi-projekti 7 Rajoitteet Seuraavassa käydään läpi sovellusta rajoittavia tekijöitä. 4.1 Vain tärkeimmät alkuperäisen Korpin sivut tehdään kännykkämuotoon (kts. luku Toiminnalliset vaatimukset). 4.2 Näkövammaisten käyttämät apuvälineet kuten äänilukija ja lukulaite, eivät välttämättä toimi hyvin jokaisella tehdyllä sivulla. 11(12)
Kuovi-projekti Vaatimusmäärittely 0.4 Julkinen 8 Yhteenveto Kuovi-projekti suunnittelee ja toteuttaa Korppi-opintotietojärjestelmän eniten käytetyistä palveluista matkapuhelimella helpommin käytettävät rinnakaiset versiot. Sovellus toteutetaan Java-luokilla ja JSP:lla. Työn tilaajana toimii Jyväskylän yliopisto. Sovelluksessa tehtävät WWW-sivut muotoillaan ulkoasultaan mahdollisimman yksinkertaisiksi siten, että karsitaan alkuperäisiltä Korppi-järjestelmän vastaavilta sivuilta kaikki sellainen pois, jota ei välttämättä tarvita matkapuhelinversiossa. Sovellus tehdään Jyväskylän yliopiston ja Avoimen yliopiston opiskelijoiden ja opettajien käyttöön. 12(12)