Yhteenvetodokumentti Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki Päivi Pääkkö, ohjaaja Helsinki, 13. joulukuuta 2007 Ohjelmistotuotantoprojekti yritysviestinnän oppimateriaalin hallintajärjestelmä Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO
Sisällys Table of Contents Sisällys...3 1.Johdanto...1 2.Sanasto...1 3.Lopputuotteen esittely...1 4.Dokumenttien tiivistelmät...2 4.1 Projektisuunnitelma...2 4.2 Vaatimusdokumentti...2 4.3 Suunnitteludokumentti...2 4.4 Testaussuunnitelma...2 4.5 Käyttöohje...2 4.6 Ylläpitodokumentti...3 4.7 Yhteenvetodokumentti...3 5.Projektin päättöanalyysi...3 5.1 Aikataulu...3 5.2 Aloitus...4 5.3 Vaatimusmäärittely...4 5.4 Suunnittelu...4 5.5 Toteutus...4 5.6 Testaus...4 5.7 Dokumentointi...4 6.Yhteenveto...5
1.Johdanto Tämä dokumentti on yhteenveto Playoff-ohjelstotuotantoprojektista. Tarkoituksena oli tuottaa dokumenttien hallintajärjestelmä, joka toimii www-selaimessa. Ohjelma sisältää käyttäjähallinnan sekä dokumenttien hallinnan. Aikaisemmin ongelmana on ollut sivujen hidas päivittäminen, jonka takia päivitysoperaatiot halutaan päästä tekemään käyttöliittymän kautta ilman, että tarvitsee mennä muuttamaan koodia. Tässä dokumentissa esitellään lopputuote lyhyesti sekä projektin sisäiset ja ulkoiset dokumentit. Lisäksi dokumentissa on projektin päättöanalyysi ja projektiin osallistuneiden kommentit. 2.Sanasto Admin: Henkilö, joka hallinnoi järjestelmän käyttöoikeuksia ja tarvittaessa myös materiaalisisältöä. Sisällöntuottaja: Opettaja, tuottaa järjestelmään oppimateriaalia. Kaikki sisällöntuottajan käyttötapaukset koskevat myös adminia. Loppukäyttäjä: Henkilö, joka käyttää järjestelmässä olevaa oppimateriaalia. Kaikki loppukäyttäjän käyttötapaukset koskevat myös sisällöntuottajia ja adminia. Vakiosivu: Perinteisen html-sivun kaltainen sivu, joka voi sisältää tekstiä ja kuvia. Ei sisällä dokumenttimalleja. Dokumenttisivu: Sivu, jolla on sisällöntuottajan tekemä dokumenttimalli sekä siihen liittyvät klikkausalueet ohjeteksteineen. Sisältää myös linkit aineistoon liittyviin dokumenttipohjiin. Dokumenttimalli: Sisällöntuottajan tekemä yrityskirjeen malli, johon liittyy klikkausalueiden avulla selattavia ohjetekstejä. Dokumenttimalli on pdf-, jpg-, png-, gif- tai bmp-muodossa. Ohjeteksti: Ohjeteksti antaa lisätietoa tietystä osasta tarkasteltavaa dokumenttia. Klikkausalue: Sisällöntuottajan dokumenttisivulle dokumenttimallin päälle lisäämä toiminnallinen alue, jota klikkaamalla käyttäjälle näytetään kyseiseen alueeseen liittyvä ohjeteksti. 3.Lopputuotteen esittely Lingua Hankenille tehty oppimateriaalitietopankki on järjestelmä, joka on ensisijaisesti tarkoitettu yritysviestinnän opettamiseen, mutta se soveltuu myös muunlaiselle materiaalille. Ojelmisto tarjoaa mahdollisuuden tuoda järjestelmään kuvia tai pdf-dokumentteja, joihin voi liittää ohjetekstejä. Näihin dokumenttimalleihin voidaan liittää alueita, joita klikkamalla järjestelmän käyttäjä näkee tekstin sivun oikeassa laidassa. Järjestelmä tarjoaa myös työkalun jolla voi helposti lisätä htmlsivuja, joista pääsee dokumenttimallisivuille. - 1 -
Jokaisella käyttäjällä on palvelimella levytilaa, jossa hän voi säilyttää omia dokumenttejaan. Aineiston käyttöä on rajoitettu, ja jokaiselle käyttäjälle määritellään oikeudet mitä aineistoa hän voi katsella. 4.Dokumenttien tiivistelmät Projektin aikana kirjoitettiin seuraavat dokumentit. 4.1 Projektisuunnitelma Projektisuunnitelmassa kerrotaan projektin tavoitteet, aikataulu, projektin käytettävissä olevat resurssit ja henkilöresurssien työnjako. Projektisuunnitelmaa päivitettiin projektin aikana kun mainituissa asioissa tapahtui muutoksia. 4.2 Vaatimusdokumentti Vaatimusdokumentti on lähtökohtana projektin tekemälle työlle. Se on sopimus asiakkaan ja projektiryhmän välillä projektin tavoitteista. Playoff-projektissa vaatimusdokumentin sisältämät vaatimukset tulivat asiakkaalta. Tärkeintä oli saada järjestelmä, jonka avulla voidaan helposti tuottaa dokumenttimalleja ja lisätä niihin ohjetekstejä. Mallien vaihtaminen ja muokkaaminen pitää tapauhtua ohjelman käyttöliittymän kautta. 4.3 Suunnitteludokumentti Suunnitteludokumentissa kuvataan miten toteutus tehdään. Kuvauksessa keskityttiin tietokantasuunnitelmaan ja luokkakaavioon, ja kuvattiin kaikki toteutettavat luokat ja funktiot. Varsinainen koodin kuvaus jätettiin toteutusvaiheeseen ja se hoidettiin kirjoittamalla kommentit koodin sekaan. 4.4 Testaussuunnitelma Testaussuunnitelma toimii ohjeistuksena eri testausvaiheille. Siinä kuvataan miten ja millä työkaluille testaus suoritetaan, ja testitavoitteet. Playoff-projektissa testaussuunnitelmaan kirjattiin yksikkötestauksen ja järjestelmätestauksen ohjeistus. Projektissa ei tehty erillistä integrointitestausta, vaan se on sisällytetty yksikkötestaukseen. Testaussuunnitelma sisältää myös testausraportin. 4.5 Käyttöohje Käyttöohje toimii avusteena järjestelmän käytölle. Ohjeistus on kirjoitettu sisällöntuottajaa ja adminia silmälläpitäen, koska loppukäyttäjän osuus on niin yksinkertainen, että siitä pitäisi selvitä ilman ohjeen lukemista. - 2 -
4.6 Ylläpitodokumentti Ylläpitodokumentti on tuotteen kuvaus ylläpitäjälle; siinä kuvataan miten projektin tuote asennetaan, ja se sisältää myös päivitetyt tietokanta- ja luokkakuvaukset.. 4.7 Yhteenvetodokumentti Tämä dokumentti. 5.Projektin päättöanalyysi Projekti lähti käyntiin hieman turhan hitaasti, mikä johtui siitä että vaatimusmäärittelyyn meni suunniteltua kauemmin. Kesti hetken, että saimme varmistuttua siitä, mitä asiakas haluaa, ja kävimme läpi versioita vaatimusmäärittelydokumentista asiakkaan kanssa useamman viikon ajan, ennen kuin dokumentti oli valmis jäädytettäväksi. Prosessia olisi varmasti nopeuttanut se, että olisimme tavanneet asiakasta useammin kuin kerran viikossa. Suunnittelua päästiin aloittamaan jo vaatimusmäärittelyn loppuvaiheessa, mikä osaltaan selvensi itse vaatimusmäärittelyä. Kun vaatimusdokumentti oli jäädytetty, itse suunnitteluvaihe eteni kohtuullisen ripeästi. Ennen toteutuksen aloittamista piti myös saada serveri pyystyyn, jossa ajoimme järjestelmää. Toteutusvaiheessa viikottainen työmäärä lisääntyi, ja toteutus valmistui ajallaan. Tehtävät olivat hieman epätasaisesti jaetut, ja tässä vaiheessa ryhmän jäsenten projektiin käyttämässä ajassa alkoi näkyä eroja. Testausta tehtiin koko ajan toteutuksen ajan. Komponentteja testattiin suoraan käyttöliittymän kautta, ja luovuimme php-unit testauksesta. Järjestelmätestauksen hoidimme koko ryhmän voimin, jonka jälkeen korjasimme löydetyt virheet ja jatkoimme yksikkötestausta. Integraatiotestaus sisältyi järjestelmätestaukseen. Loppuvaiheessa osa ryhmästä keskittyi koodaamiseen, ja toiset kirjoittivat viimeisiä dokumentteja. 5.1 Aikataulu Projektille varattu aika oli 14 vk. 14 viikon aika oli jaettu vesiputousmallin mukaisesti eri vaiheisiin. Projektin aikataulussa tuli huomioida, että projektin vaatima viikottainen työpanos on noin 15h/vk/henkilö. Koko 14 viikon aikana projektissa mukana olleille henkilöille tulisi kertyä maksimissaan 240 h. Tehtyjen työtuntimäärien suhteen pysyttiin mukavasti tämän alapuolella ja tunnit jakautuivat tiimin kesken tasaisesti. Aikataulussa pysyttiin kohtalaisen hyvin. Ainoa mainittava ongelma oli vaatimusdokumentin kanssa, jonka valmistuminen viivästytti hieman projektia. - 3 -
5.2 Aloitus Tutustuimme projektin kuvaukseen, jonka perusteella oli vaikea hahmottaa mitä projektilta vaaditaan. Asiakkaan tapasimme vasta toisella viikolla, joten ensimmäisellä viikolla yritimme lähinnä saada kaiken irti kuvauksesta ja tutustuimme työkaluihin ja tehtävien jakamiseen. 5.3 Vaatimusmäärittely Vaatimusmäärittely saatiin käyntiin toisella viikolla tavatessamme asiakkaamme. Asiakasta tapasimme seuraavan neljän viikon ajan kerran viikossa. Vaatimusmäärittelyä helpotti asiakkaan aktiivinen osallistuminen. Vaatimusmäärittelyn lopussa olisi ollut parempi, jos olisimme voineet tavata asiakasta useammin. 5.4 Suunnittelu Vaatimusmäärittelyn valmistuttua suunnittelu sujui selkeästi. Suurimman ongelman tuotti dokumenttisivun toteuttamisen suunnittelu. Tähänkin löytyi ratkaisu muutaman viikon mietinnän jälkeen. 5.5 Toteutus Toteutuksen eteni hyvin. Toteuttaessa havaittiin tosin monia asioita, joita ei ollut suunnittelussa otettu huomioon ja näitä piti sitten pohti ryhmän kesken. Toteutuksen lopputulos oli kuitenkin kiitettävä, vaikka lopussa hieman kiire tulikin. 5.6 Testaus Toteutus oli jaettu ryhmän kesken ja kaikki testasivat toteuttamansa komponentit. Komponenttien ollessa valmiita tehtiin järjestelmätestaus, jossa ei löydetty suuria virheitä. Suurimman ongelman muodosti IE-selain, joka ei suostunut näyttämään sivu ulkoasua, niinkuin oli suunniteltu. Toteutettu ohjelma toimi IE-selaimessa kuitenkin normaalisti. 5.7 Dokumentointi Projektin edistyessä toteutettiin useita dokumentteja, joista suurinta vaikeutta tuotti vaatimusdokumentti suurine määrineen vaatimuksia ja käyttötapauksia. Suunnitteludokumentin ongelmat syntyivät siitä, ettemme tienneet miten jonkin asian voi toteuttaa tekemättä ja kokeilematta ensin. Kaikki projektiryhmän jäsenet osallistuivat tasapuolisesti dokumenttien tekemiseen. - 4 -
6.Yhteenveto Playoff-projektissa rakennettiin asiakkaalle oppimateriaalin hallintajärjestelmä puhtaalta pöydältä, koska ei ollut mielekästä yrittää tehdä olemassaolevan järjestelmän päälle mitään. Kaikki asiakkaan vaatimukset saatiin toteutettua, ja projekti valmistui kurssin aikataulun puitteissa. Luotamme siihen, että asiakas pystyy siirtymään uuteen järjestelmään kohtuullisella vaivalla, ja että tekemämme ohjelmisto auttaa heitä kehittämään oppimateriaalia entistä paremmaksi. - 5 -