Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TOIMINNALLINEN MÄÄRITTELY LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 2.1 Tila: hyväksytty Päivämäärä: 12.12.2000 Tekijä: Maaret Pyhäjärvi Kommentit: Hyväksyi: Antti Sillanpää, Eero Jyske
VERSIOHISTORIA Versio Päivämäärä Muutokset Muuttaja 0.1 20.10.2000 Alustava versio Maaret Pyhäjärvi 0.2 26.10.2000 Tarkennettu Antin kommenttien pohjalta Maaret Pyhäjärvi 0.3 28.10.2000 Tarkennettu käyttöliittymän osalta Niko Tolvanen 1.0 30.10.2000 Katselmointikorjaukset tehty Maaret Pyhäjärvi 1.1 7.11.2000 Asiakaskatselmoinnin muutokset tehty ja viimeistelty palautukseen 2.0 5.12.2000 Siirretty tietokannan yksityiskohdat tekniseen määrittelyyn ja viimeistelty asiakaskatselmointiin Maaret Pyhäjärvi Maaret Pyhäjärvi 2.1 12.12.2000 Asiakaskatselmoinnin korjaukset tehty Maaret Pyhäjärvi
1. JOHDANTO 1 1.1 TARKOITUS JA KATTAVUUS 1 1.2 MÄÄRITELMÄT, TERMIT JA LYHENTEET 1 1.3 TUOTE 1 1.4 YLEISKATSAUS DOKUMENTTIIN 3 2. YLEISKUVAUS 4 2.1 YMPÄRISTÖ 4 2.2 TOIMINTA 4 2.3 KÄYTTÄJÄT 5 2.4 YLEISET RAJOITTEET 6 2.5 OLETUKSET JA RIIPPUVUUDET 6 3. TIEDOT JA TIETOKANTA 7 3.1 TIETOSISÄLTÖ 7 3.2 KÄYTTÖINTENSITEETTI 9 3.3 KAPASITEETTIVAATIMUKSET 9 4. TOIMINNOT 9 5. ULKOISET LIITTYMÄT 12 5.1 LAITTEISTOLIITTYMÄT 12 5.2 OHJELMISTOLIITTYMÄT 13 5.3 TIETOLIIKENNELIITTYMÄT 13 6. MUUT OMINAISUUDET 13 6.1 SUORITUSKYKY JA VASTEAJAT 13 6.2 KÄYTETTÄVISSÄ OLEMINEN, TOIPUMINEN, TURVALLISUUS, SUOJAUKSET 13 6.3 YLLÄPIDETTÄVYYS 14 6.4 SIIRRETTÄVYYS JA YHTEENSOPIVUUS 15 6.5 OPEROINTI 16 7. SUUNNITTELURAJOITTEET 16 7.1 STANDARDIT 16 7.2 LAITTEISTO- JA OHJELMISTORAJOITTEET 16 7.3 MUUT RAJOITTEET 17 8. JATKOKEHITYSAJATUKSIA 17
1. JOHDANTO 1.1 TARKOITUS JA KATTAVUUS Tämä dokumentti on liiketoiminnan kehityksen tukijärjestelmän LiKen toiminnallinen määrittely. Tämä asiakirja on suunnattu projektiryhmän sisäiseen käyttöön, asiakkaalle sekä kurssin edustajille. Dokumentti kattaa järjestelmän toteutettavan ja suunniteltavan toiminnallisuuden, käyttöliittymän toiminnat sekä niiden väliset yhteydet. Järjestelmän tekninen määrittely täydentää tässä dokumentissa esitettyjä tietoja. Tämä dokumentti laajentaa vaatimusmäärittelyn käyttötapauksissa esitettyjä järjestelmän ominaisuuksia; käyttötapauksissa kuvatuista ominaisuuksista on tähän dokumenttiin sisällytetty vain pakollisiksi ja suositeltaviksi määritetyt ominaisuudet. Suositeltavat ominaisuudet on otettu tähän dokumenttiin mukaan siksi, että ne on otettava huomioon järjestelmän käyttöliittymää suunniteltaessa. Käyttöliittymään on tarkoitus toteuttaa tavat suositeltavien ominaisuuksien käyttämiseen, vaikka niitä ei kaikkia välttämättä tässä projektissa toteuteta. Tämä johtuu siitä, että toimintojen lisääminen käyttöliittymään jälkikäteen voi johtaa käytettävyysongelmiin. Lisäominaisuuksien toteuttamista ei tässä dokumentissa käsitellä; nämä ominaisuudet nähdään jatkokehitysehdotuksina asiakkaalle. Suositeltavista ominaisuuksista toteutettaviksi valittavat ominaisuudet päätetään Toteutus 3 -vaiheen alussa. 1.2 MÄÄRITELMÄT, TERMIT JA LYHENTEET LiKe-projektissa käytettävä termistö, lyhenteet ja määritelmät on määritelty laatukäsikirjaan yleiseksi termistöohjeeksi. 1.3 TUOTE Projektissa toteutettavan tuotteen työnimi on LiKe. LiKe-järjestelmä tukee kehittämistoimintaa ja projektien välistä oppimista hajautetussa, tulevissa versioissa myös kansainvälisessä, ympäristössä. Järjestelmän lähtökohtana TAI:n KePRO-projektin tuottama konsepti, jossa kehitysprojektin eri vaiheet on identifioitu ja jossa on materiaalia 1
kehittämisprojektin kaikkiin vaiheisiin erilaisten dokumenttien muodossa. Järjestelmän sovellusalueen ja sen ongelmakentän tarkempi kuvaus on järjestelmän sovellusalueen kuvauksessa. Järjestelmä koostuu palvelimella sijaitsevasta tietokannasta sekä tiedostorakenteesta. Kookos-projektin tutkimustuloksena syntynyt tietoaineisto sijaitsee tiedostojärjestelmässä palvelimella, josta käyttäjä voi hakea haluamiaan dokumentteja tarkasteltavakseen tai muokattavakseen. Tietokanta sisältää tiedostoja, projekteja ja käyttäjiä koskevat metatiedot, joiden avulla käyttäjät voivat tehdä erilaisia hakuja. Metatiedot ovat erilaisia leimoja, joita projektille, käyttäjälle tai dokumenteille voidaan antaa. Käyttöliittymä on selainpohjainen. Järjestelmän käyttöliittymän avulla tuetaan projektin kulun ohjaamista TAI:n Kookos-projektin tutkimusmateriaaliin perustuvan projektinkulun mukaisesti. Käyttöliittymä ohjaa käyttäjän kussakin projektin vaiheessa niiden dokumenttipohjien käyttöön, jotka on katsottu tutkimuksen valossa olennaisiksi. Käyttäjä voi ladata työasemalleen dokumentteja käyttöliittymän kautta ja tallentaa dokumentteja takaisin palvelimelle. Dokumentit hallitaan keskitetysti palvelimelta ja samanaikainen editointi estetään. Käyttäjällä on käytössään myös valikoima dokumenttipohjia ja projektin alkaessa myös ns. projektipohjia, joista hän voi valita omaa projektiansa vastaavan. Näiden avulla hän ohjautuu oikeanlaiseen toimintatapaan ja voi rakentaa projektikohtaiset dokumenttinsa tämän pohjan päälle. Perusdokumenttipohjat ovat kaikkien käyttäjien nähtävissä, kun taas projektien näkyvyys on projektikohtaista. Järjestelmä tukee eri käyttäjäoikeuksia projektitasolla. Kullekin käyttäjälle voidaan määrittää luku-, luku- ja muokkaus- tai luku-, muokkaus- ja poistamisoikeus projektin materiaaleihin. Lisäksi on käyttäjiä, joilla on lukuoikeudet tai kaikki oikeudet järjestelmän kaikkeen tietosisältöön. Käyttäjälle, jolla ei ole mitään oikeuksia johonkin projektiin, ei näytetä kyseisen projektin materiaaleja. Yrityksen johto on erillinen käyttäjäryhmä, jolla on lukuoikeudet kaikkiin järjestelmässä oleviin projekteihin. Johto-käyttäjäryhmän jäsenillä voi lisäksi olla erilaisia projektikohtaisia oikeuksia samalla tavalla kuin muilla käyttäjillä. Pääsynvalvonnan ohittamisen estämiseen kiinnitetään toteutuksessa erityistä huomiota, samoin kuin tietoaineiston salaamiseen sen tietoverkossa liikkumisen aikana. 2
Tavallisten käyttäjien lisäksi järjestelmässä on erillinen järjestelmänvalvoja, joka vastaa järjestelmän ylläpidosta ja joka voi lisätä järjestelmään uusia käyttäjiä, poistaa käyttäjiä sekä muokata käyttäjien tietoja. Vaatimusmäärittelyssä määritetyistä käyttötapauksista on LiKe-projektin piirissä tarkoitus toteuttaa vain pakolliset. Suositeltavat ominaisuudet määritellään, ja niiden toteutus suunnitellaan samalla kuin pakollisten. Niitä toteutetaan niiltä osin kuin projektin työmäärän puitteissa on mahdollista. n työn päätyttyä TAI:n Kookosprojekti jatkaa järjestelmän kehitystä toteuttaen ominaisuuksia, joita tämän projektin piirissä ei tehty. Lisäominaisuudet ovat jatkokehitysehdotuksia, joita ei tällä hetkellä järjestelmälle pidetä välttämättöminä. Järjestelmän toteutus ei ota kantaa järjestelmän tietosisältöön, vain sen esille tuomiseen. Järjestelmällä tuetaan määriteltyjen tavoitteiden saavuttamista hyvinä pidettyjen työtapojen kautta. Sillä ei kuitenkaan voi määritellä organisaation tavoitteita. Tavoitteiden määrittäminen on järjestelmää käyttävän organisaation vastuulla, ja järjestelmä ei ota kantaa näiden tavoitteiden oikeellisuuteen. 1.4 YLEISKATSAUS DOKUMENTTIIN Tämä suunnitelma jakautuu kahdeksaan lukuun. Ensimmäinen luku on johdanto määrittelydokumenttiin ja antaa yleiskuvan tehtävästä tuotteesta sekä sen toiminnoista. Toisessa luvussa kuvataan järjestelmän toimintaa, ympäristöä ja käyttäjiä sekä järjestelmän toteutuksen rajoituksia. Kolmas luku määrittelee järjestelmän tietovaraston, sen sisällön ja eri yksilöjoukkojen suhteet toisiinsa sekä käytettävät arvot, mikäli näille asetetaan rajoitteita. Neljäs luku esittelee järjestelmän arkkitehtuurin yleisellä tasolla sekä määrittää toiminnot käyttöliittymän kautta navigaatiokartan avulla. Luvussa viisi kuvataan järjestelmän ulkoisia liittymiä ja esitellään järjestelmän pohjaksi tarvittavat ohjelmistot. Luku kuusi kuvaa järjestelmän suorituskykyyn, vasteaikaan, käytettävyyteen (usability) ja käytettävissä olemiseen (availability) sekä ylläpidettävyyteen, luotettavuuteen ja turvallisuuteen liittyvät kysymykset. Luku seitsemän kuvaa suunnittelun rajoitteet, ja lukuun kahdeksan kerätään jatkokehitysehdotuksia. 3
2. YLEISKUVAUS 2.1 YMPÄRISTÖ LiKe-järjestelmä on liiketoiminnan kehittämistä tukeva sovellus, joka on tarkoitettu hajautettuun liiketoimintaympäristöön. Järjestelmä rakennetaan Web-palvelimen ja tietokannan päälle. Järjestelmän tietoaineisto on tuotettu useilla eri sovelluksilla. Järjestelmän kautta käytetään useita eri sovelluksia, mutta järjestelmässä ei ole suoraa yhteyttä näihin sovelluksiin. Erillisten sovellusten tarjoaminen siis jätetään käyttäjän koneen käyttöjärjestelmälle. Järjestelmä on selainpohjainen client/server-sovellus. Näin ollen käyttäjällä on oltava jokin selainohjelma (Microsoft Internet Explorer 4.0 tai uudempi versio tai Netscape Navigator 4.0 tai uudempi versio) sekä järjestelmän kautta käytettävien dokumenttien avaamiseen ja mahdolliseen muokkaamiseen tarvittavat ohjelmat. 2.2 TOIMINTA Järjestelmän toimintaan liittyvät vaatimukset ja näin ollen myös järjestelmän toiminnallisuudet on määritetty tarkemmin käyttötapausten kautta. Eri toiminnallisuudet sijoittuvat osaksi käyttöliittymän näkymiä, joiden suhdetta toisiinsa kuvaa navigaatiokartta, joka on esitetty luvussa 4. Kullakin sivulla voi olla useita toiminnallisuuksia ja niiden toteutus ja sijoittelu käyttöliittymään tarkentuu käyttöliittymän läpikäynneissä. Toiminnallisuudet kohdistuvat järjestelmän tietoaineistoon, joka koostuu projekteista, projektien dokumenteista sekä käyttäjistä. Tietoaineistoa kuvataan tarkemmin kohdassa 3.1. Käyttötapaukset on lajiteltu kolmeen luokkaan: pakollisiin ja suositeltaviin ominaisuuksiin sekä lisäominaisuuksiin. Suunnittelussa pyritään määrittelemään toteutustapa pakollisille ja suositeltaville ominaisuuksille. Projektin aikana toteutetaan kaikki pakolliset toiminnallisuudet ja suositeltavia siltä osin kuin se käytettävissä olevien resurssien puitteissa on mahdollista. 4
2.3 KÄYTTÄJÄT Järjestelmän käyttäjiä ei ole rajattu: käyttäjä voi olla kuka tahansa henkilö, joka on yrityksessä jollain tavalla tekemisissä liiketoiminnan kehittämisen kanssa. Näin ollen käyttäjien osaamisen taso on varsin vaihteleva, ja järjestelmän käyttäminen tavallisena käyttäjänä ei saa vaatia erityisosaamista; selaimen ja sovellusohjelmien käytön hallitseminen riittää. Käyttäjäryhmien tarkempi kuvaus on termimäärittelyissä sekä näiden valintojen perustelut järjestelmän sovellusalueen kuvauksessa. Kirjainlyhenteitä käytetään käyttötapauksien kuvauksissa kuvaamaan, kenen suoritettavissa mikäkin toiminto on. Järjestelmän käyttäjät voidaan jakaa seuraaviin käyttäjäryhmiin: Järjestelmänvalvoja (A): Järjestelmänvalvoja ylläpitää järjestelmän eri hallinnollisia tietoja. Johto (M): Johdolla on oikeus lukea kaikkia järjestelmän projektidokumentteja. Suunnittelija (D): Suunnittelijalla on oikeus lukea, muokata ja poistaa tiedostoja joihin hänelle on määritelty oikeudet. Toteuttaja (I): Toteuttajalla on oikeus lukea ja muokata tiedostoja joihin hänelle on määritelty oikeudet. Osallistuja (P): Osallistujalla on oikeus lukea tiedostoja joihin hänelle on määritelty oikeudet. Yllä esitetyistä käyttäjäryhmistä kaksi ensimmäistä ovat yleisen tason käyttäjäryhmiä, jotka eivät riipu projektista. Kolme viimeistä ryhmää ovat projektikohtaisia. Käyttäjästä riippuen järjestelmä voi olla osa päivittäistä työrutiinia tai mahdollisesti tietolähde, jota käytetään vain silloin tällöin. 5
2.4 YLEISET RAJOITTEET Järjestelmä on tarkoitettu käytettäväksi liiketoiminnan kehittämiseen yritysympäristössä ja sen tietosisältönä voi olla myös yrityksen liikesalaisuuksiin liittyvää dokumentaatiota. Näin ollen järjestelmän toiminnassa on otettava tietoturvanäkökulmat huomioon alusta alkaen. Järjestelmä on tarkoitettu tavalliselle käyttäjälle ja sen käytön on oltava helppoa, joten käytettävyys (usability) on otettava tarkkaan huomioon järjestelmän toiminnallisuutta suunniteltaessa; tietoturvan toteuttaminen ei saa oleellisin osin heikentää järjestelmän käytettävyyttä. Odotettavissa olevat käyttäjämäärät eivät ole kovin suuria (ks. kohta 3.2), eikä järjestelmän käytettävissä olemiselle (availability) ja suorituskyvylle ole tiukkoja rajoituksia (ks. kohta 6.1). 2.5 OLETUKSET JA RIIPPUVUUDET Järjestelmää käytetään selaimesta. Tuetut selaimet ovat MS Internet Explorer 4.0 ja uudemmat versiot sekä Netscape Navigator 4.0 ja uudemmat versiot. Järjestelmää käytetään 32-bittisessä Windows-ympäristössä, sillä suurin osa järjestelmän tietoaineistosta on nykyisellään tuotettu MS Office -ohjelmilla. Vaikka sovellusohjelmia voi olla muitakin, oletuksena on, että niitä käytetään Windows-ympäristössä. Käytettävä käyttöjärjestelmä ja sovellusohjelmat määräävät järjestelmän laitteistovaatimukset. Tuotaessa dokumentteja verkon yli palvelimelta, ne tallennetaan aina käyttäjän paikalliselle levylle. Käyttäjän oletetaan itse huolehtivan väliaikaistiedostojen poistosta. Koska käynnistettävä sovellusohjelma käynnistyy käyttöjärjestelmään määritellyn tiedostotyypin perusteella, järjestelmän toteutuksessa ei oteta kantaa sovellusohjelmien versioon. Mikäli sovellusohjelmaa ei ole asennettuna käyttäjän koneella, käyttöjärjestelmä tuo näkyviin Avaa sovelluksessa -valintaikkunan. Järjestelmän palvelinosa toimii Web-palvelimen ja relaatiotietokannan päällä. Tarkemmat tekniset yksityiskohdat määritellään teknisessä määrittelyssä. 6
3. TIEDOT JA TIETOKANTA 3.1 TIETOSISÄLTÖ Järjestelmän pohjana on relaatiotietokanta. Järjestelmän tietokantaa käytetään vain LiKejärjestelmän kautta; tämä koskee sekä normaalia käyttöä että hallinnointia. Järjestelmän tietokannan tietoaineiston varmuuskopiointi hoidetaan tarvittaessa erikseen eikä se ole osana järjestelmää. Järjestelmän tietosisältö UML-kaaviona on esitetty kuvassa 1. Koska järjestelmä halutaan myöhemmin lokalisoida muille kielille, tietokannassa, samoin kuin koodissa, käytetään englantia kielenä kenttien nimille. Tietokannan taulujen yksityiskohdat on esitetty tietokannan UML-mallista. Kukin luokka esittää käytännössä yhtä tietokannan taulua ja sen attribuutit taulun kenttiä. Kentät on lueteltu taulukohtaisesti teknisessä määrittelyssä. Kuvassa 1 isolla kirjaimella alkavat luokat vastaavat ER-kaavion yksilöjoukkoja, pienellä kirjaimella alkavat luokat vastaavat suhteita. Mikäli suhteita kahden yksilöjoukon välillä on useita, kaavioon on luotu yläluokka, joka jakaantuu useiksi suhteiksi. Dokumenttien luomisesta ja käsittelystä kirjoitetaan tietoa lokiin, joka ei ole tietokannan osa. Loki on vakiomuotoinen tekstitiedosto. 7
Kuva 1: Tietokannan UML-kaavio 8
3.2 KÄYTTÖINTENSITEETTI Järjestelmällä on yhtäaikaisia käyttäjiä enintään 20. Järjestelmää käytetään periaatteessa vuorokauden ympäri, mutta suurimmat käyttäjämäärät esiintyvät todennäköisesti arkisin virka-aikana. Järjestelmän käyttö on hakuintensiivistä: käyttäjät etsivät erilaisiin tarkoituksiin sopivia dokumentteja järjestelmästä. Lisäksi dokumentit siirretään palvelimelta käyttäjän koneelle avattavaksi, mikä asettaa vaatimuksia siirtämiseen käytettävälle verkolle. Kaikissa järjestelmässä olevissa projekteissa voidaan olettaa olevan mukana yhteensä noin 200 aktiivista käyttäjää. 3.3 KAPASITEETTIVAATIMUKSET Järjestelmässä säilytettävä tietomäärä on suuri: on mahdollista, että järjestelmään on tallennettu sadan projektin osalta kustakin 100 dokumenttia, joiden keskimääräinen koko on satoja kilotavuja. Järjestelmän kapasiteettivaatimukset ovat siis suuret, mikä tulee huomioida palvelinta, tiedostojen sijoitusta ja varmuuskopiointia suunniteltaessa. Järjestelmän tietoaineisto pohjautuu peruskarttakirjan materiaaliin, jota kopioidaan kuhunkin uuteen luotavaan projektiin. Näin ollen tietomäärä kasvaa nopeasti projektimäärän funktiona. Kehittäjän karttakirjassa on tällä hetkellä 17 suurta kalvosarjaa, 9 PDF-muodossa olevaa ohjetta, 87 erillistä työkaludokumenttia (Word- ja Excel-muodoissa). Peruskarttakirjan kokonaistilan tarve on 43 megatavua. Peruskarttakirjan pohjalta arvioidaan luotavan 20 uutta projektia vuodessa. Kuhunkin aktiiviseen projektiin arvioidaan lisättävän äsken mainittujen perustietojen lisäksi 100 dokumenttia vuodessa. 4. TOIMINNOT Järjestelmän toiminnot on määritetty tarkemmin käyttötapauskuvauksissa ja kerätty käyttöliittymän näkymiin. Käyttöliittymä on määritelty navigaatiokartan kautta, joka on esitetty kuvassa 3. Alla kuvassa 2 on esitetty järjestelmän toimintojen jako palvelin- ja 9
käyttäjäsovellusten kesken, jotka kokonaisuudessaan toteuttavat järjestelmän toiminnot. Eri osien tarkempi määrittely on teknisessä määrittelyssä. Kuva 2. Järjestelmän toimintojen jako 1. Käyttöliittymän osalta ohjelmistossa on seuraavat näkymät: 2. Järjestelmänhallinta 3. Käyttäjähallinta 4. Lokitiedot 5. Projektipohjien luonti 6. Seurattavien dokumenttien valinta 7. Haku 8. Pohjan luominen, muokkaus, poisto 9. Editoitavana olevat dokumentit 10. Etusivu 11. Dokumenttien selaus (vaihe) 12. Projekti 13. Valittu dokumentti (luku) 10
14. Uusi projekti: 15. Projektivaihe: 16. Muutos (luku): 17. Dokumentin lisäys 18. Projektivaihe 19. Valittu dokumentti 20. Metatiedon luku 21. Metatiedon muokkaus 22. Lisätiedot 23. Dokumentin poisto 24. Valittu dokumentti 25. Dokumentin muokkaus Kukin komponentti on erillinen HTML-sivu järjestelmän käyttöliittymässä. Näiden komponenttien suhdetta toisiinsa on kuvattu tarkemmin käyttöliittymän navigaatiokartassa kuvassa 3. Navigaatiokartasta ilmenee, mitä tietoja ja toimintoja kullakin sivulla on sekä mistä sivuista käyttäjä pääsee siirtymään mihinkin toisiin sivuihin. 11
Kuva 3. Järjestelmän käyttöliittymän navigaatiokartta 5. ULKOISET LIITTYMÄT 5.1 LAITTEISTOLIITTYMÄT Itse järjestelmä ei käytä mitään ulkoisia laitteita; kaikki laitteistoliittymät toimivat joko sovellusohjelmien tai käyttöjärjestelmän kautta. 12
5.2 OHJELMISTOLIITTYMÄT Järjestelmä käyttää Web-palvelinta (Apache 1.3.14), Tomcat 3.1 -JSP-laajennusta ja relaatiokantaa (Microsoft SQL Server 7.0 SP2) Windows NT 4 Server -ympäristössä. Lisäksi järjestelmän kautta käytetään sen sisältämien dokumenttien muokkaus- ja tarkasteluohjelmia. Muokkaus- ja tarkasteluohjelmien versiot eivät ole suoranaisessa yhteydessä järjestelmään, ainakin Wordin, Excelin ja PowerPointin versioiden 97 ja 2000 toiminta tarkistetaan. 5.3 TIETOLIIKENNELIITTYMÄT Järjestelmä vaatii toimiakseen jatkuvan verkkoyhteyden. Selainohjelma huolehtii verkkoyhteyden luomisesta palvelimen ja käyttöjärjestelmän kanssa. Tiedonsiirto palvelimen ja selaimen välillä tapahtuu HTTP(S)-protokollan avulla. 6. MUUT OMINAISUUDET 6.1 SUORITUSKYKY JA VASTEAJAT Järjestelmä ei saa aiheuttaa häiritsevää viivettä dokumenttien avaamisessa verrattuna tilanteeseen, jossa dokumentti avataan käyttäjän paikallisella koneella, kun verkon aiheuttamaa tiedonsiirtoviivettä ei oteta huomioon. Häiritsevä viive mitataan asiakkaan subjektiivisen käyttökokemukseen perustuvan arvion perusteella. Järjestelmälle ei aseteta erillisiä suorituskyky- ja käytettävissäolemisvaatimuksia, vaan vaatimukset tulevat järjestelmän käytettävyysvaatimuksien (usability-vaatimusten) kautta. 6.2 KÄYTETTÄVISSÄ OLEMINEN, TOIPUMINEN, TURVALLISUUS, SUOJAUKSET Käytettävyydelle (availability) ei aseteta erityisiä vaatimuksia. Koska järjestelmä sisältää liiketoiminnan kehittämiseen liittyviä mahdollisesti luottamuksellisia tietoja, tietoturvaan on kiinnitettävä huomiota: tiedot eivät saa liikkua verkon kautta salaamattomina, ja käyttäjien oikeudet on aina tarkistettava, ennen kuin he pääsevät suorittamaan haluamiaan 13
toimia. Käyttäjät eivät saa saada tietoa sellaisen aineiston olemassaolosta, johon heillä ei ole mitään oikeuksia järjestelmässä. Käyttäjän virheiden varalta järjestelmän käyttöliittymässä on varmistukset esimerkiksi dokumenttien tai muiden tietojen poistamisesta. Mikäli käyttäjällä on pääsy järjestelmänvalvojan oikeuksin palvelinkoneelle, järjestelmän tietoaineiston muokkaamista ei ole estetty. Tietokannan eheydestä huolehtii tietokannanhallintajärjestelmä tietokantaan määritettyjen eheysehtojen perusteella. Mikäli tietokanta vioittuu, se voidaan palauttaa käyttäjäorganisaation oman varmuuskopiointikäytännön mukaisesti tai tietokantaa voidaan yrittää korjata manuaalisesti. Järjestelmän uudelleen käynnistäminen odottamattoman vian, esim. sähkökatkon, sattuessa on palvelinkoneen ylläpidon vastuulla. Järjestelmän palautumista ei näiltä osin automatisoida. 6.3 YLLÄPIDETTÄVYYS Järjestelmän toteutuksen perusvaatimuksena on modulaarisuus ja laajennettavuus. LiKeprojektin puitteissa järjestelmästä toteutetaan ensimmäinen versio, jonka jatkokehitys jatkuu TAI:n toimesta LiKe-projektin loppumisen jälkeen. Järjestelmän ylläpitoa varten toteutetaan käyttöliittymään järjestelmänvalvojille ylläpitotoimintoihin keskittyvä käyttöliittymän osa. Järjestelmän kautta tehtäviä ylläpitotehtäviä ovat käyttäjien lisääminen ja poistaminen sekä projektipohjien luominen. Järjestelmän tietokannan tietoihin (kuten kenttien oletusarvoihin ja niiden mahdollisten arvojen joukkoon) voi tehdä muutoksia SQL-lauseilla ottamalla riittävillä oikeuksilla yhteyttä tietokannanhallintajärjestelmään. LiKe-järjestelmä ei tarjoa näitä oikeuksia, vaan ne on määritettävä erikseen tietokannanhallintajärjestelmässä. Tästä toiminnosta tulee olemaan lisätietoja järjestelmänvalvojan käyttöoppaassa. Tietokannan taulujen tai kenttien nimiä ei saa muuttaa. Kenttien lisääminen on sallittua, mutta lisättyjä kenttiä ei automaattisesti tuoda osaksi LiKe-järjestelmän käyttöliittymää. 14
Käyttöliittymä pyritään LiKe-projektin puitteissa saamaan viimeisteltyyn muotoon ottaen huomioon mahdollisia myöhemmin toteutettavia ominaisuuksia, sillä ominaisuuksien lisääminen käyttöliittymän toteutukseen suunnitteluvaiheen jälkeen johtaa helposti vaikeakäyttöiseen järjestelmään. Järjestelmän ylläpidosta laaditaan erillinen ohje, joka käyttöliittymätoiminnallisuuksien lisäksi kuvaa ohjelmiston rakennetta lähdekooditasolla ja ohjelmiston mukauttamisessa huomioitavia asioita. Tässä huomioitavia asioita ovat ainakin metadatan uudelleen määrittäminen sekä käyttöliittymän ulkoasun mukauttaminen eri kohdeorganisaatioiden tarpeisiin. 6.4 SIIRRETTÄVYYS JA YHTEENSOPIVUUS Järjestelmän palvelinosa on suunniteltu ja toteutetaan NT 4 Server -ympäristöön. Toteutuksen aikana tutustutaan mahdollisuuksiin siirtää järjestelmä Windows2000- ympäristöön, koska käyttäjäorganisaatioiden voidaan olettaa siirtyvän NT4-palvelimista Windows 2000 -palvelimiin vähintäänkin tutkimusprojektin keston aikana. Järjestelmän palvelinosaa ei ole tarkoitus siirtää muihin ympäristöihin. Järjestelmän taustana toimivat tietokanta ja WWW-palvelin ovat saatavissa myös Linux-versioina. Siirrettävyyttä ja suoraa yhteensopivuutta näille ei kuitenkaan tämän projektin puitteissa tutkita. Järjestelmän asiakasosan (web-pohjainen käyttöliittymä sekä mahdollinen käyttäjäsovellus) tulee toimia 32-bittisissä Windowsin versioissa Microsoft Internet Explorerin ja Netscape Navigatorin versiolla 4.0 ja uudemmilla versioilla. Asiakasosa saatetaan haluta tämän projektin ulkopuolella mukauttaa Macintoshympäristöön. Tätä ei kuitenkaan oteta huomioon toteutuksessa tässä vaiheessa. Vaatimukset tähän toteutukseen tulevat todennäköisesti sovellusohjelmien Windows ja Mac-versioiden eroista sekä mahdollisen käyttäjäsovelluksen mukauttamisesta. 15
6.5 OPEROINTI Järjestelmä tallentaa käyttäjän paikalliselle levylle version järjestelmän kautta avatuista dokumenteista. Näiden dokumenttien versioiden poistaminen tai järjestäminen on käyttäjän vastuulla. Palvelimen ylläpito tapahtuu osittain käyttöliittymän kautta, osin käsittelemällä suoraan palvelimella olevia sovellusohjelmia palvelimen järjestelmänvalvojan oikeuksin. Laitteiston ja ohjelmiston ylläpito on järjestelmänvalvojan vastuulla. 7. SUUNNITTELURAJOITTEET 7.1 STANDARDIT Järjestelmä toteutetaan USDP-ohjelmistoprosessin mukaisesti inkrementaalisesti ja iteratiivisesti. Toteutustekniikat ovat JavaScript, JSP, Java sekä SQL. Järjestelmän HTMLsivujen toteutuksessa noudatetaan HTML 4.0 -standardia. 7.2 LAITTEISTO- JA OHJELMISTORAJOITTEET Järjestelmän laitteisto- ja ohjelmistovaatimukset ovat seuraavan taulukon mukaiset: Taulukko 2. Laitteisto- ja ohjelmistovaatimukset Palvelinkone, jossa Windows NT 4 Server, Apache ja MS SQL Server sekä Palvelinosa niiden vähimmäisvaatimukset täyttävä laitteisto. Järjestelmälle levytilaa vähintään 5 GB. Tietokone, jossa 32-bittinen Windows-käyttöjärjestelmä, Microsoft Internet Explorer 4.0 tai uudempi versio tai Netscape Navigator 4.0 tai uudempi Asiakasosa versio sekä käytettävän käyttöjärjestelmän ja sovellusten vähimmäisvaatimukset täyttävä laitteisto. 16
7.3 MUUT RAJOITTEET Järjestelmän on oltava lokalisoitavissa projektin laatukäsikirjassa määritetyllä tavalla. Toteutettavalle koodille määritellään tyylisäännöt laatukäsikirjan koodauskäytännöissä. Toteutus 2 -vaiheen alussa kirjoitettavat koodauskäytännöt ohjeistavat mm. virheistä toipumisen toteuttamisessa ohjelmistoa toteutettaessa. 8. JATKOKEHITYSAJATUKSIA Koska LiKe-projekti on kestoltaan vuoden mittainen ja Kookos-projekti kolmevuotinen, järjestelmän kehitystyö jatkuu LiKe-projektin loppumisen jälkeen. Näin ollen jatkokehitysajatuksien kirjaaminen on erityisen oleellista. On todennäköistä, että järjestelmän lopulliseen muotoon saattamisessa toteuttajat vaihtuvat ja alkutilanteen ajatusten kirjaaminen tulevien tietoon on tärkeää. Jo vaatimusten kirjaamisessa lähti siitä, että asiakkaan kaikki toiveet yritetään kartoittaa mahdollisimman kattavasti ja kirjata ylös sekä priorisoida. Näin erilaisia aspekteja ja tulevia jatkokehitysajatuksia voidaan ottaa huomioon toteutusvaiheessa. Erilaiset jatkokehitysideat on kirjattu käyttötapauksiin lisäominaisuuksiksi. LiKe-projektin puitteissa ei ehditä toteuttamaan kuin pakolliset ominaisuudet ja osa suositeltavista ominaisuuksista. Näin ollen suositeltavistakin ominaisuuksista monet jäävät tämän projektin kannalta jatkokehitysehdotuksiksi. Käyttöliittymää ja pohjalle rakennettavaa tietokantaa suunniteltaessa otetaan huomioon myös sellaiset toiminnot, joita ei tässä projektissa toteuteta. Niiden tekninen suunnittelu tehdään myös projektin sallimissa rajoissa ja loppuun saakka toteutettavat suositeltavat ominaisuudet kiinnitetään Toteutus 3 -vaiheen alussa. Erityisesti jatkokehitysajatuksina pidetään seuraavia: Käyttäjäsovellus ja asiakasosassa dokumenttien avaaminen oikeaan sovellukseen ja tallentaminen haluttuun paikkaan, sekä muut mahdolliset käyttäjän koneella toteutettavat toiminnallisuudet 17
Monikielisyys järjestelmän sisällä Asiakasosan Mac-yhteensopivuus Palvelinosan Linux-yhteensopivuus ja järjestelmän siirtäminen Linuxiin Tietokannan siirtäminen johonkin muihin tietokannanhallintajärjestelmiin Eri tietokannanhallintajärjestelmien ja web-palvelimien tuki Mahdolliset rajapinnat erilaisiin muihin sovelluksiin. Halujen monipuolisuus Jatkokehitysajatuksia kerätään sekä projektiryhmän sisällä että asiakkaalta ja kootaan toiminnalliseen määrittelyyn. 18