VAATIMUSMÄÄRITTELY Polku http://code.google.com/p/polku-projekti/ Versio 1.1 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas Jokiniemi
Versiohistoria Päiväys Versionumero Tekijät Muutosten syy Muutokset 03.11.09 0.1 Antti Jämsén Ensimmäinen raakaversio - 15.11.09 1.0 Antti Jämsén, Janne Pihlajaniemi Raakaversiossa todettujen puutteiden korjaus 16.11.09 1.1 Janne Pihlajaniemi Sisällysluettelon puuttuminen Vaatimusluettelon rakenne muutettiin toisenlaiseksi ja lisättiin vaatimuksia Sisällysluettelon lisääminen, kappalenumeroinnin korjaus 2
Sisällysluettelo 1 Johdanto...4 1.1 Tarkoitus ja kattavuus... 4 1.2 Tuote ja ympäristö... 4 1.3 Määritelmät, termit ja lyhenteet...4 1.4 Viitteet...4 1.5 Yleiskatsaus dokumenttiin... 5 2 Yleiskuvaus... 6 2.1 Ympäristö...6 2.2 Toiminta... 6 2.3 Käyttäjät...6 2.4 Yleiset rajoitteet... 6 2.5 Oletukset ja riippuvuudet...6 3 Tiedot ja tietokanta... 7 3.1 Tiedot... 7 4 Toiminnot...9 4.1 Yleistä... 9 4.2 Sovellukseen liittyvät vaatimukset... 10 4.3 Työasemaan liittyvät vaatimukset...15 5 Ulkoiset liittymät... 16 5.1 Laitteistoliittymät...16 5.2 Ohjelmistoliittymät... 16 5.3 Tietoliikenneliittymät...16 6 Muut ominaisuudet...17 6.1 Suorituskyky ja vasteajat... 17 6.2 Saavutettavuus, toipuminen ja turvallisuus... 17 6.3 Ylläpidettävyys... 17 6.4 Siirrettävyys ja yhteensopivuus... 17 7 Suunnittelurajoitteet... 18 7.1 Standardit...18 7.2 Laitteistorajoitteet... 18 7.3 Ohjelmistorajoitteet... 18 7.4 Muut rajoitteet...18 8 Hylätyt ratkaisuvaihtoehdot ja jatkokehitysideat... 19 9 Liitteet...20 3
1 Johdanto 1.1 Tarkoitus ja kattavuus Dokumentissa käsitellään Polku-projektin tuotteen vaatimukset. Vaatimuksia täydennetään ja täsmennetään projektin kuluessa, koska käytössä on iteratiivinen kehitysmalli. Tässä dokumentissa esitetyt ominaisuudet ja toiminnalliset vaatimukset ovat sekä asiakkaan että projektiryhmän nähtävissä. Täsmällisesti määritellyt ja kirjatut vaatimukset, jotka projektiryhmä ja asiakas ovat hyväksyneet, helpottavat oikeanlaiseen lopputulokseen pääsemistä. Sovelluksen päävaatimukset tulivat varsin hyvin esille jo asiakkaan lähettämässä projektikuvauksessa, mutta muita vaatimuksia on pyritty yhdessä asiakkaan kanssa selventämään. Tätä yhteistyötä tullaan jatkamaan siis projektin edetessäkin, jotta projektiryhmä pysyy vaatimuksien suhteen yhteneväisenä asiakkaan kanssa. 1.2 Tuote ja ympäristö Projektin tarkoituksena on luoda web-sovellus pitkäaikaisten yhteistyöprosessien ja -projektien seurantaan Helsingin kaupunginosayhdistykset ry:lle. Sovelluksella on mahdollisuus tallentaa, muokata ja poistaa tietoa erilaisista tapahtumista, niihin liittyvistä toimijoista sekä näiden välisistä suhteista. Tuote mahdollistaa tapahtumien ja toimijoiden listaamisen ja auttaa näin ollen projekteihin liittyvässä raportoinnissa. 1.3 Määritelmät, termit ja lyhenteet LAMP - Kokoelma avoimen lähdekoodin ohjelmia, jotka yhdessä muodostavat wwwpalvelimen jonka alla voidaan suorittaa dynaamisia web-sivustoja Apache Avoimeen lähdekoodiin perustuva palvelinohjelma PHP WWW-ohjelmointiin suunniteltu ohjelmointikieli MySQL SQL-tietokannan hallintajärjestelmä. Google code Sivusto projektin dokumenttien ja avoimen lähdekoodin ylläpidolle. Eclipse Ohjelmointi- ja kehitysympäristö SVN Subversion-versionhallinta SCRUM Ketterän ohjelmistokehityksen menetelmä Sprintti Projektin ajallinen osakokonaisuus. Sprintin kesto on noin kolme viikkoa. Käytettävyysryhmä Projektityökurssin osallistujista koottu erillinen ryhmä, joka auttaa muita projektityökurssin ryhmiä käytettävyysasioissa. 1.4 Viitteet PHP: http://php.net/ MySQL: http://mysql.com/ Apache: http://httpd.apache.org/ Eclipse: http://www.eclipse.org/ Tortoise SVN: http://tortoisesvn.tigris.org/ Robot Framework: http://robotframework.org/ Google Code http.//code.google.com/ SCRUM - http://fi.wikipedia.org/wiki/scrum/ 4
1.5 Yleiskatsaus dokumenttiin Tämän dokumentin ensimmäisessä kappaleessa kuvataan dokumentin tarkoitus, rakenne, laajuus ja sen sisältö. Toisessa kappaleessa kuvataan yleisellä tasolla tuotteen ympäristö, toiminta, sen käyttäjät sekä tuotteen rajoitteet ja riippuvuudet. Kappaleessa kolme esitellään tuotteen käyttämä tietokanta ja tarkastellaan lähemmin sen tärkeimpiä osuuksia. Neljäs kappale käsittelee tuotteen toimintoja ja toiminnallisuutta. Tuotteesta on listattu tärkeimmät toiminnot ja ne on kuvattu seikkaperäisesti. Tuotteen ulkoiset liittymät kuvataan kappaleessa viisi. Tämä kappale pitää sisällään tietoyhteys-, laitteisto- ja ohjelmistoliittymät. Dokumentin kuudes kappale käsittelee yleisiä ominaisuuksia kuten suorituskyky, tietoturva, ylläpidettävyys, saavutettavuus, siirrettävyys ja operointi. Seitsemäs kappale kuvaa, miten suunnittelua rajoittavat tekijät, kuten standardit sekä laitteiston ja ohjelmistojen asettamat rajoitteet, on otettu huomioon tässä tuotteessa. Hylätyt ratkaisuvaihtoehdot ja tuotteen jatkokehitysideat on esitelty luvussa kahdeksan. Ratkaisut on esitelty lyhyesti, ja perusteltu miksi ne on päätetty hylätä, sekä millä ratkaisuilla ne on korvattu tuotteessa. Yhdeksäs kappale sisältää mahdolliset liitteet. 5
2 Yleiskuvaus 2.1 Ympäristö Sovellus Helsingin kaupunginosayhdistykset ry:n (Helka) sisäiseen käyttöön. Sovellus on webpohjainen ja se pyörii Helkan omalla Linux-palvelimella. 2.2 Toiminta Käyttäjä kirjautuu sisään sovellukseen ja valitsee haluamansa toiminnon sivun ylälaidan painikkeista. Käyttäjä voi valinnastaan riippuen lisätä sovelluksella projekteja, tapahtumia, henkilöitä, huomioita ja juttuja. Käyttäjä voi myös muokata edellä mainittuja tai järjestellä tapahtumia kokonaisuuksiksi ja liittää henkilöitä tahoihin. Käyttäjä voi myös selata läpi kaikkia edellä mainittuja. 2.3 Käyttäjät Käyttäjiä tulee ainakin ensi alkuun olemaan vain muutama henkilö, jotka käyttävät sovellusta päivittäin. Heillä on perustaidot normaaleista toimistosovelluksista eli sovelluksen ei tarvitse olla aivan aloitteleville tietokoneen käyttäjille suunnattu. Asiakas toivoikin, että sovelluksen pitkäaikaisen käytön tukeminen on helppoutta ja karsittuja ominaisuuksia tärkeämpää. Yksi käyttäjä hallinnoi sovellusta ja pystyy tarvittaessa esim. luomaan uusia käyttäjätunnuksia. 2.4 Yleiset rajoitteet Sovelluksen käyttäjällä tulee olla käyttäjätunnus sovellukseen. Rajoitteita eri käyttäjätunnuksien välillä ei ole eli kaikilla käyttäjillä on samat oikeudet. 2.5 Oletukset ja riippuvuudet Sovellus on web-pohjainen eli käyttääkseen sitä tulee käyttäjällä olla jokin riittävän uusi selain työasemassaan asennettuna. Sovellus luodaan tukemaan tämänhetkisiä uusimpia selainversioita (Mozilla Firefox, Internet Explorer, mahdollisesti muita), joten se on todennäköisesti riippuvainen selaimen versiosta. 6
3 Tiedot ja tietokanta 3.1 Tiedot Tietokannan sisältämät tiedot on lueteltu alla. Projekti: nimi Kokonaisuus: nimi päivämäärä teksti Tapahtuma: id nimi? päivämäärä aihe paikka kesto Taho: nimi lyhenne puhelin sähköposti url yhteystiedot Henkilö: nimi lyhenne puhelin sähköposti Huomio: id 7
päivämäärä omistaja julkisuus teksti aktiivinen Juttu: id päivämäärä julkaisupaikka tyyppi 8
4 Toiminnot 4.1 Yleistä Kaikki toiminnot edellyttävät, että käyttäjä on kirjautuneena sovellukseen käyttäjätunnuksilla : 1. SEL - Tietojen selaus. SEL1: Tietojen selaaminen 2. PRO - Projektit PRO1: Projektien lisäys, muokkaus ja poisto. 3. KOK Kokonaisuudet KOK1: Kokonaisuuksien lisäys, muokkaus ja poisto. KOK2: Kokonaisuuksien liittäminen ja poistaminen projekteista. 4. TAP - Tapahtumat TAP1: Tapahtumien lisäys, muokkaus ja poisto. TAP2: Tapahtumien liittäminen ja poistaminen kokonaisuuksista. TAP3: Tapahtumien listaaminen aikajärjestyksessä. TAP4: Tapahtumien visuaalinen aikanäkymä. TAP5: Huomioiden lisäys, muokkaus ja poisto tapahtumista. TAP6: Juttujen lisäys, muokkaus ja poisto tapahtumista. 5. TOI Toimijat TOI1: Tahojen lisäys, muokkaus ja poisto. TOI2: Tahojen liittäminen ja poistaminen tapahtumista. TOI3: Tahojen liittäminen ja poistaminen kokonaisuuksista. TOI4: Huomioiden lisäys, muokkaus ja poisto tahoista. TOI5: Juttujen lisäys, muokkaus ja poisto tahoista. TOI6: Henkilöiden lisäys, muokkaus ja poisto. TOI7: Henkilöiden liittäminen ja poistaminen tahoista. TOI8: Huomioiden lisäys, muokkaus ja poisto henkilöistä. TOI9: Henkilöiden liittäminen ja poistaminen tapahtumista. 6. HAK Haku HAK1: Pikahaku HAK2: Laajennettu haku HAK3: Tallennettu haku HAK4: Tallennettujen hakujen poisto 9
7. ASE Asetukset ASE1: Käyttäjätunnuksen lyhenne/nick ASE2: Logoboksi 8. AUD Audit-loki AUD1: AUDIT-lokin muodostaminen 9. ETU Etusivu ETU1: Etusivu Toiminnot on priorisoitu seuraavan asteikon mukaan : kriittinen, korkea, matala sekä triviaali. Jokaiselle toiminnolle on annettu oma tunniste (toiminnon luokan tunniste ja numero) sekä lyhyt kuvaus. 4.2 Sovellukseen liittyvät vaatimukset SEL - Tietojen selaus SEL1 Tietojen selaaminen Käyttäjällä on mahdollisuus selata projekteja, kokonaisuuksia, tapahtumia, toimijoita ja huomioita. Selausnäkymässä tiedot näytetään puurakenteessa kun taas muissa näkymissä käytetään pääsääntöisesti listamuotoista näyttöä. PRO - Projektit PRO1 Projektien lisäys, muokkaus ja poisto Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa projekteja. KOK Kokonaisuudet KOK1 Kokonaisuuksien lisäys, muokkaus ja poisto Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa kokonaisuuksia. 10
KOK2 Kokonaisuuksien liittäminen ja poistaminen projekteista Käyttäjällä on mahdollisuus liittää ja poistaa kokonaisuuksia projekteista. TAP - Tapahtumat TAP1 Tapahtumien lisäys, muokkaus ja poisto Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa tapahtumia. TAP2 Tapahtumien liittäminen ja poistaminen kokonaisuuksista Käyttäjä voi liittää tapahtumia kokonaisuuksiin. Yhteen kokonaisuuteen voi kuulua useita tapahtumia ja yksi tapahtuma voi kuulua useaan kokonaisuuteen. TAP3 Tapahtumien listaaminen aikajärjestyksessä Tapahtumat listataan Tapahtumat-näytössä aikajärjestyksessä. TAP4 Tapahtumien visuaalinen aikanäkymä Tapahtumat näytetään visuaalisella aikajanalla Tapahtumat-näytössä 11
TAP5 Huomioiden lisäys, muokkaus ja poisto tapahtumista Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa huomioita tapahtumista. Huomiot voivat olla joko aktiivisia tai passiivisia. TAP6 Juttujen lisäys, muokkaus ja poisto tapahtumista Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa juttuja tapahtumista. TOI - Toimijat TOI1 Tahojen lisäys, muokkaus ja poisto Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa tahoja. TOI2 Tahojen liittäminen ja poistaminen tapahtumista Käyttäjä voi liittää ja poistaa tahoja tapahtumista. TOI3 Tahojen liittäminen ja poistaminen kokonaisuuksista Käyttäjä voi liittää ja poistaa tahoja kokonaisuuksista. TOI4 12
Huomioiden lisäys, muokkaus ja poisto tahoista Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa huomioita tahoista. TOI5 Juttujen lisäys, muokkaus ja poisto tahoista Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa juttuja tahoista. TOI6 Henkilöiden lisäys, muokkaus ja poisto Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa henkilöitä. TOI7 Henkilöiden liittäminen ja poistaminen tahoista Käyttäjä voi liittää ja poistaa henkilöitä tahoista. TOI8 Huomioiden lisäys, muokkaus ja poisto henkilöistä Käyttäjällä on mahdollisuus lisätä, muokata ja poistaa huomioita henkilöistä. TOI9 Henkilöiden liittäminen ja poistaminen tapahtumista Käyttäjä voi liittää ja poistaa henkilöitä tapahtumista. 13
HAK - Haku HAK1 Pikahaku Tietoja voi hakea syöttämällä vapaaseen tekstikenttään hakusana ja painamalla haepainiketta. Hakutulokset näytetään omassa, hakutulokset näytössä. HAK2 Laajennettu haku Pikahakua tarkempi hakutapa. Hakua voi rajoittaa päivämäärän mukaan. (muita rajoituksia?) Laajenettuun hakuun pääsee Laajennettu haku - painikkeesta. HAK3 Tallennettu haku Pika- ja laajennetun haun kriteerit voidaan tallentaa tallennetuksi hauksi hakutuloksien näkymästä. Tallennetut haut ovat käyttäjäkohtaisia ja näkyvät Laajennettu haku -näkymässä. HAK4 Tallennettujen hakujen poisto Laajennettu Haku -näkymässä käyttäjä voi poistaa tallennettuja hakuja. ASE - Asetukset ASE1 Käyttäjätunnuksen lyhenne/nick 14
Käyttäjä voi määritellä omalle käyttäjätunnukselleen lyhenteen. Mikäli lyhenne on määritelty, näytetään se käyttäjätunnuksen sijasta toimijalistauksissa. ASE2 Logoboksi Pääkäyttäjä voi asetukset-näkymästä ladata logoboksiin oman organisaationsa logon. Logoboksi näkyy kaikille järjestelmän käyttäjille. AUD - Auditointi AUD1 Audit-lokin muodostus Järjestelmän tulee kerätä tiedon tallentamisesta ja muokkaamisesta lokia. Tallenettavia lokitietoja ovat, käyttäjätunnus, päivämäärä, muutetun tiedon tyyppi ja tiedolle suoritettu operaatio. ETU - Etusivu ETU1 Etusivu Käyttäjän kirjautuessa järjestelmään näytetään ensimmäisenä etusivu. Etusivulla näytetään toimintovalikon lisäksi myös käyttäjän aktiiviset huomiot, viimeisimmät muokkaukset, uusimmat tapahtumat ja uusimmat toimijat. 4.3 Työasemaan liittyvät vaatimukset Työasemassa tulee olla asennettuna riittävän uusi web-selain. Selaimet ja versiot, joilla sovellus toimii selviävät myöhemmässä kehitysvaiheessa. 15
5 Ulkoiset liittymät 5.1 Laitteistoliittymät Järjestelmällä ei ole ulkoisia laitteistoliittymiä. 5.2 Ohjelmistoliittymät Sovelluksella ei ole liittymiä muihin ohjelmistoihin. 5.3 Tietoliikenneliittymät Järjestelmää käytetään HTTP-protokollalla. 16
6 Muut ominaisuudet 6.1 Suorituskyky ja vasteajat Koska sovellusta tullaan käyttämään päivittäisessä työskentelyssä, tulee vasteaikojen olla riittävän nopeita mielekkään käytön turvaamiseksi. Projektiryhmällä ei ole vaikutusvaltaa tulevaan palvelimeen, jolla sovellus pyörii eli asiakas voi palvelinvalinnalla vaikuttaa sovelluksen suorituskykyyn. 6.2 Saavutettavuus, toipuminen ja turvallisuus Tuotteen käyttäminen ei saa vaatia erityisiä tietoteknisiä taitoja, vaan käytön pitää olla mahdollista perustaidoilla. Toisaalta toiminnallisuuksista ei haluta karsia eli hieman pidempiaikainen käytön opiskelu ei haittaa, kunhan halutut toiminnallisuudet löytyvät. 6.3 Ylläpidettävyys Ylläpidosta tehdään erillinen selvitys kehitystyön myöhemmässä vaiheessa. 6.4 Siirrettävyys ja yhteensopivuus Tuote on siirrettävissä ohjelmisto-ominaisuuksiltaan vastaavalle toiselle alustalle kuin mihin se tullaan asentamaan. Tästä tulee tarkempi selvitys asennussuunnitelmassa. 17
7 Suunnittelurajoitteet 7.1 Standardit Tuotteeseen liittyvät standardit on lueteltu projektisuunnitelman kappaleessa 8.1. Käytettävät standardit eivät mainittavasti rajoita suunnittelua. 7.2 Laitteistorajoitteet Loppukäyttäjän laitteiston oletetaan kykenevän web-selailuun, koska kyseessä on web-sovellus. Palvelinalustan vaatimukset selventyvät asennussuunnitelman tekemisen yhteydessä. 7.3 Ohjelmistorajoitteet Sovellus ei välttämättä toimi vanhemmilla selaimilla, koska se tehdään ensisijaisesti toimimaan tämän hetken uusimmalla Mozilla Firefox -selaimella. Kehitystyössä pyritään ottamaan huomioon myös muiden yleisimpien selaimien uusimmat versiot, mutta kaikkien toimivuutta ei voida taata. 7.4 Muut rajoitteet Sovellus ei aseta muita rajoituksia. 18
8 Hylätyt ratkaisuvaihtoehdot ja jatkokehitysideat Vielä ei ole tullut hylättyjä ratkaisuvaihtoehtoja. 19
9 Liitteet Ei liitteitä. 20