VAATIMUSMÄÄRITTELY Edited by Checked by Approved by Antti Tuomaala Juha Parhankangas Niko Stenberg
i Sisällysluettelo DOKUMENTIT VERSIOT 1 1. JOHDANTO 2 1.1. Projektin luonne 2 1.2. Tarkoitus ja kattavuus 2 1.3. Viittaukset muihin dokumentteihin 2 1.4. Määritelmät, termit, lyhenteet ja merkintätavat 3 1.5. Tuote 3 1.6. Yleiskatsaus dokumenttiin 4 2. YLEISKUVAUS 5 2.1. Ympäristö 5 2.2. Toiminta 5 2.3. Käyttäjät 5 2.4. Oletukset ja riippuvuudet 6 3. TIEDOT JA TIETOKANTA 7 3.1. Tietosisältö 7 3.2. Käyttöintensiteetti 7 4. TOIMINNOT 8 4.1. Johdanto 8 4.2. Toimintojen luonne 8 4.3. Ylläpidon toiminnot 8 4.4. Käyttäjän toiminnot 11 4.5. Palvelun tarjoajan toiminnot 12 4.6. Muut toiminnot 12 5. ULKOISET LIITTYMÄT 14 5.7. Laitteistoliittymät 14
ii Sisällysluettelo 5.8. Ohjelmistoliittymät 14 5.9. Tietoliikenneliittymät 14 6. MUUT OMINAISUUDET 15 6.1. Suorituskyky ja vasteajat 15 6.2. Käytettävyys, toipuminen, turvallisuus ja suojaukset 15 6.3. Ylläpidettävyys 15 6.4. Siirrettävyys 15 7. SUUNNITTELURAJOITTEET 16 7.1. Ohjelmistorajoitteet 16
1(17) Dokumentin versiot Vers Muuttaja Pvm Muutos Tarkastanut Hyväksynyt 1.0 Juha Parhankangas 09.10.2000 Ensimmäinen luonnos. Luonnos 1 1.0 Harri Kauhanen 09.10.2000 Sisältöä ei muutettu. Muutettu ulkoisesti noudattamaan projektin dokumenttien rakennetta ja ulkoasua. Luonnos 2 1.0 Juha Parhankangas 11.10.2000 Palaverissa 11.10.2000 tehtyjen muutosten ja parannusehdotusten lisäys 1.0 Juha Parhankangas 12.10.2000 Tuomon kommenttien lisäys dokumenttiin+muutaman kohdan sisällön tiivistäminen 1.1 Antti Tuomaala 31.10.2000 Vaatimusmäärittelyn päivitys T1-vaiheessa huomatut puutteet, priorisoinnit Luonnos 3 Luonnos 4 Luonnos 1 1.1 Antti Tuomaala 1.11.2000 Priorisoinnin tarkennuksia Luonnos 2 1.1 Antti Tuomaala 6.11.200 Asiakkaan muutospyyntö Luonnos 3 1.1 7.11 Harri Kauhanen 1.2 Juha Parhankangas 23.4.2001 Lopullinen tarkistus Niko Stenberg
2(17) 1. Johdanto 1.1. Projektin luonne Virtuaaliyhteisöjen muodostamista käsittelevä projekti on tutkimushanke. Tämä vaikuttaa suunnitteluvaiheisiin ja luonnollisesti toteutuksen painopisteisiin. Tutkimuksen tarkoituksena on tutkia ja kehittää algoritmeja ja menetelmiä, joiden avulla voidaan muodostaa virtuaaliyhteisöjä, samankaltaisten käyttäjien muodostamia yhteisöjä. Suurimmat haasteet löytyvät siis suunnittelun ja algoritmien kehittämisen alueelta. Projektin luonteen vuoksi työtä tehtäessä ja kurssia Tietojenkäsittelyopin ohjelmatyö läpivietäessä on otettu huomioon, että työlle on TKK:n puolesta annettu aikataulu ja työhön osallistuvat resurssit ovat rajalliset. Tämä on vaikuttanut siten, että "" -ohjelmistoon otetaan vain pakollisimmat toiminteet ja rajapinnat mukaan. Muut mahdolliset halutut toiminnallisuudet ja rajapinnat mainitaan erikseen mahdollisena lisäkehityksen kohteena. 1.2. Tarkoitus ja kattavuus Virtuaaliyhteisöjen muodostamiseen liittyvä ohjelmistoprojekti on tutkimusluontoinen hanke. Tällä hetkellä aihe on tuore, eikä siitä ole vielä saatavilla kovin paljon materiaalia. Vaatimusmäärittelyn luonne tulee tutkimuksen vuoksi olemaan tarkentuva ja voidaan olettaa, että muutoksia ja tarkennuksia tullaan tekemään, kun tietämys tutkimuskohteeseen liittyvistä aloista paranee. Alustavasti vaatimusmäärittely pyrkii kattamaan riittävät ja välttämättömät piirteet sovelluksesta, joka käsittelee virtuaaliyhteisöjä. Vaatimukset priorisoitu kolmella eri asteella. Välttämätön (prioriteetti 1) Toivottava (prioriteetti 2) Lisäominaisuus (prioriteetti 3) Vaatimuksen prioriteetti on 1, jos siitä ei ole erikseen mainintaa vaatimuksen yhteydessä. Seuraavana on selitetty tärkeitä virtuaaliyhteisöjen muodostamiseen liittyviä käsitteitä. 1.3. Viittaukset muihin dokumentteihin Nro Dokumentti Selitys ja talletuspaikka
3(17) 1.4. Määritelmät, termit, lyhenteet ja merkintätavat Termi, käsite, merkintätapa Käyttäjäprofiili Sääntö Virtuaaliyhteisö Selitys, määritelmä Käyttäjäprofiili sisältää yhden käyttäjän tiedot. Profiili määritellään ensisijaistesti käyttäjän syöttämien tietojen mukaan, mutta se saattaa myös muuttua oppiessaan käyttäjän toimista (oppiminen, prioriteetti 2). Käyttäjäprofiili on ohjelmiston kannalta ekvivalentti käyttäjän kanssa. Virtuaaliyhteisöjä muodostetaan sääntöjen avulla. Sääntöä ei tule ymmärtää välttämättä predikaattilogiikan avulla muodostettuna, vaan sääntö on mikä tahansa rajoite, jonka avulla voidaan tutkia käyttäjäprofiileja ja määrittää, kuuluuko henkilö profiilinsa perusteella ryhmään vai ei. Virtuaaliyhteisö muodostuu joukosta käyttäjiä (käyttäjäprofiileja), joilla on samanlaisia harrastuksia ja kiinnostuksen kohteita. Virtuaaliyhteisön jäsenten tulee voida kommunikoida keskenään (kommunikointi, prioriteetti 2). Lisäksi jokaisen yhteisön jäsenen tulee voida ottaa selville, mihin yhteisöihin hän kuuluu. Sääntöjen avulla voidaan profiileista muodostaa virtuaaliyhteisöjä. Jotta virtuaaliyhteisö voisi kommunikoida, tulee virtuaaliyhteisön määrittää media ja protokolla, joiden avulla kommunikaatio voidaan suorittaa (kommunikointi, prioriteetti 2). Lisäksi tulee määrittää tapa, jolla henkilö voi ottaa selville, mihin yhteisöihin hän kuuluu. Määritelmä, joka toteuttaa edellä mainitut ehdot, on nelikko (A,B,C,D), jossa A on osajoukko kaikista käyttäjäprofiileista. A:n alkiot toteuttavat säännöstön B, joka on määritelty kullekin virtuaaliyhteisölle erikseen. C on joukko, joka koostuu kommunikaatiotavoista. C siis toisin sanoen määrittelee, millä tavoilla yhteisön sisällä kommunikoidaan. D on toiminto, jonka avulla käyttäjä voi ottaa selville, mihin yhteisöihin hän kuuluu. 1.5. Tuote Asiakkaan tarpeena on saada järjestelmä, joka kykenee ensisijaisesti asiakasprofiileja luokittelemalla luomaan virtuaaliyhteisöjä. Järjestelmän tulee tarjota puitteet, joiden avulla ryhmän jäsenet voivat kommunikoida keskenään, sekä tutkia, mihin ryhmiin he kuuluvat. On ajateltu, että yhteisöjen muodostamiseen tarvittava ohjelmisto voisi toimia useissa ympäristöissä. Asiakkaan kanssa keskusteltaessa on hyvin käynyt ilmi ainakin kaksi toisistaan erottuvaa käyttötapaa. Virtuaaliyhteisö voidaan muodostaa sen vuoksi, että samankaltaisista asioista kiinnostuneet ihmiset voivat pitää yhteyttä toisiinsa. Kaupallinen kanta asiaan on se, että käyttäjäprofiileita ryhmitellään markkinoinnin, tarjousten ja kampanjoinnin vuoksi. Myös palvelut, joiden yhteydessä virtuaaliyhteisöjä muodostavaa konetta voidaan käyttää, vaihtelevat paljon. Tämä asettaa myös jokaisessa yksittäisessä tapauksessa omia vaatimuksia ohjelmistolle. On siis lähdetty siitä, miten voidaan suunnitella ja toteuttaa virtuaaliyhteisöjä muodostava ohjelmisto, joka sisältää riittävät ja välttämättömät
4(17) piirteet. Samalla ohjelmiston tulisi tarjota toiminnallisuutta, jotta sen sisältämää informaatiota voidaan käyttää monimuotoisesti hyväksi. Tällä kurssilla ohjelmistoa ohjataan portaalin avulla. 1.6. Yleiskatsaus dokumenttiin Johdanto (tämä luku) sisältää toimintakentän kuvauksen Lisäksi esitetään virtuaaliyhteisöjen muodostamisen yhteydessä tarvittavia käsitteitä. Virtuaaliyhteisöjen muodostamiseen tarvittavan ohjelmiston kuvaus löytyy luvusta 0 (Yleiskuvaus). Tietokantaan liittyviä kysymyksiä käsitellään luvussa 3 (Tietokanta). Ohjelmiston toiminnallisuuden kuvaus on sijoitettu lukuun 0 (Toiminnot). Virtuaaliyhteisöjen muodostamiseen käytetty ohjelmisto on itsenäinen kokonaisuus, jota muut sovellukset voivat hyödyntää. Käyttörajapinnat esitetään luvussa 0 (Ulkoiset liittymät). Luku 0 (Muut ominaisuudet) sisältää tietoa järjestelmän rajoituksista ja ominaisuuksista.
5(17) 2. Yleiskuvaus 2.1. Ympäristö Mainonta ja kaupankäynti Internetissä ovat kehittyneet viime vuosina paljon. Samoin palvelujen käyttäjämäärät ovat kasvaneet huomattavasti. Jotta mainonta, markkinointi, sekä tuotteiden ja palvelujen myynti voitaisiin kohdistaa oikeisiin käyttäjä- ja kuluttajaryhmiin, tulisi käytössä olla keinoja tunnistaa asiakasryhmiä, joiden jäsenillä on samanlaiset tarpeet. Ihmisillä on erilaisia kiinnostuksen kohteita. Internetin ja WWW:n käyttäjillä on mahdollisuus seurata asioita, joista he ovat kiinnostuneita. Materiaalia on yleisesti suosituista aiheista paljon saatavilla, mutta ongelmaksi saattaa muodostua aineiston löytäminen. Sähköposti ja uutisryhmät mahdollistavat myös kommunikaation samanhenkisten ihmisten välillä. Myös kuluttajille ja muuten sähköisestä kommunikaatiosta ja informaatiosta kiinnostuneille olisi hyvä löytää tapa päästä tekemisiin kiinnostuksen kohteisiin liittyvien palvelujen ja ihmisten kanssa. Markkina-analyysejä voi olla hankala muodostaa www-palvelujen käyttäjistä. Lisäksi käyttäjämäärien kasvaessa tämän tehtävän suorittaminen pelkästään ihmistyönä voi olla mahdotonta jo pelkästään kattavan materiaalinhankinnan osalta. Tarvitaan siis sovellusta, jonka avulla yritykset voivat kehittää markkinointiaan ja toisaalta kohdistaa palvelujaan oikeille henkilöille. Vastaavasti käyttäjät voivat palvelua hyödyntäessään hakeutua helposti ja vaivattomasti häntä kiinnostavien palvelujen pariin. Asiakkaan tarve kohdistuu tapaan löytää samanlaisia kuluttaja/käyttäjäryhmiä. Ohjelmiston tehtävänä on muodostaa samoista asioista kiinnostuneiden ihmisten ryhmiä, jotka voivat kommunikoida keskenään ja selvittää, mihin yhteisöihin he kuuluvat. 2.2. Toiminta Ohjelmiston tulee kyetä muodostamaan virtuaaliyhteisöjä. Määritelmän mukaan yhteisön jäsenillä tulee olla samankaltainen käyttäjäprofiili. Lisäksi heidän tulee voida kommunikoida keskenään (kommunikointi, prioriteetti 2). Käyttäjien tulee myös olla tietoisia siitä, mihin yhteisöihin he kuuluvat. Toiminnot on selitetty tarkemmin luvussa Toiminnot. 2.3. Käyttäjät Ohjelmistoa käyttävät ihmiset, jotka haluavat päästä tekemisiin kaltaistensa ihmisten kanssa. Toinen käyttäjäryhmä ovat kaupalliset tahot, jotka haluavat kohdentaa mainontaa ja palveluja oikeille ryhmille. Käyttäjäryhmä riippuu paljon
6(17) sovelluksesta, jonka yhteydessä virtuaaliyhteisöjä muodostavaa ohjelmistoa käytetään. 2.4. Oletukset ja riippuvuudet Virtuaaliyhteisöjä muodostavaa ohjelmistoa käytetään yhdessä jonkin toisen palvelun kanssa. Sovellukseen toteutetaan vain yleisimpiä piirteitä, jolloin sitä voidaan hyödyntää monissa tarkoituksissa.
7(17) 3. Tiedot ja tietokanta 3.1. Tietosisältö Tietokannan tulee sisältää käyttäjäprofiilit virtuaaliyhteisöjen muodostamissäännöt palveluiden profiilit mahdollisesti jo muodostettujen virtuaaliyhteisöjen koostumus. Tätä voidaan tarvita laskentatehon säästämiseksi, mutta sitä joudutaan vastaavasti päivittämään säännöllisesti 3.2. Käyttöintensiteetti Tietokanta tulee jatkuvaan käyttöön. Tietokannan tulee skaalautua myös suurille käyttäjämäärille, mutta tässä työssä ei oteta muutoin kantaa skaalautuvuuten, kuin optimoimalla tietokanta mahdollisimman hyvin.
8(17) 4. Toiminnot 4.1. Johdanto Virtuaaliyhteisöjä muodostavan ohjelmiston toiminnot voidaan jakaa ylläpidon ja käyttäjien suorittamiin toimintoihin. Ylläpidon toimintoihin on liitetty myös käyttäjäprofiilien analysoiminen. Tämän tehtävän voi ylläpito käynnistää, mutta periaatteessa ohjelmisto voi tarpeen vaatiessa tai ajastettuna suorittaa toiminnon myös oma-aloitteisesti Tärkein toiminto on käyttäjäanalyysin suorittaminen ja käyttäjäprofiilien liittäminen virtuaaliyhteisöihin profilien parametrien ja virtuaaliyhteisöjen sääntöjen perusteella. Käyttäjälle ja ylläpidolle tämä toiminto on periaatteessa läpinäkyvä, vaikka ylläpito voi toiminnon halutessaan käynnistää. 4.2. Toimintojen luonne Kaikki ylläpidon ja käyttäjän toiminnot koskevat tietokantoihin tehtyjä muutoksia. Näitä ovat yleisellä tasolla uuden tiedon lisäys, olemassa olevan tiedon muokkaus ja olemassa olevan tiedon poisto Nämä kaikki voidaan esittää periaatteessa samanlaisen use case kuvauksen avulla: Esiehdot: Onko tieto jo olemassa? ON: Hae tieto kannasta EI: Luo uusi tietoalkio Toiminta: Poistetaanko tieto? KYLLÄ: Poista tieto kannasta EI: Päivitä tai lisää parametreja, kunnes tiedot ovat oikeat. Lisää tieto kantaan. Jälkiehdot: Tietokanta on konsistentti 4.3. Ylläpidon toiminnot Ylläpidon tulee voida käyttää seuraavia toimintoja, jotta ohjelmistoa voidaan käyttää tarkoituksen mukaisesti. Käyttäjäprofiilien poisto,luominen/muokkaus
9(17) Virtuaaliyhteisöjen luominen/muokkaus/poisto Sääntöjen luonti ja muokkaus virtuaaliyhteisökohtaisesti Käyttäjäprofiilien analysointi Käyttäjien liittäminen/poisto yhteisöön/yhteisöstä Kommunikaation järjestäminen virtuaaliyhteisön sisällä (prioriteetti 2) Käyttäjäprofiilin hallinta tarkoittaa yhden käyttäjän profiilin luomista, muokkaamista tai poistoa. Käyttäjäprofiili luodaan, kun käyttäjä rekisteröityy järjestelmään. Tiedot, joita käyttäjä järjestelmään syöttää, ovat valintoja ennalta määrätystä joukosta. Profiilin sisältämät tiedot riippuvat paljon palveluista, joiden yhteydessä virtuaaliyhteisön muodostajaa käytetään, joten tarkkaa kuvausta luomisesta ei tässä vaiheessa voi antaa. Käyttäjäprofiilien päivittämistarpeita voi syntyä, kun ohjelmistoa päivitetään kattamaan laajempia kokonaisuuksia. Sekundaarinen tarve, joka riippuu myös palvelusta, jonka toimintaa yhteisönmuodostajakone tukee, on saada järjestelmä tutkimaan ajon aikana virtuaaliyhteisön jäsenten toimia. Tällöin profiilia voitaisiin muokata automaattisesti (oppiminen, prioriteetti 2). Käyttäjäprofiileja voidaan myös poistaa, jos käyttäjä ei enää käytä palvelua (automaattinen poisto, prioriteetti 3). Virtuaaliyhteisön hallinta tarkoittaa yhden virtuaaliyhteisön luomista, muokkaamista tai poistoa. Kun virtuaaliyhteisö luodaan, tulee määrittää säännöstö, jonka avulla käyttäjäprofiilit voidaan analysoida ja yhteisön ehdot täyttävät profiilit voidaan liittää yhteisön jäseniksi. Samoin kommunikaatiotavat tulee määritellä jokaiselle yhteisölle erikseen. Alustavasti pitäydymme vain yksinkertaisten kommunikaatiotapojen toteuttamisessa (esimerkiksi sähköposti). Yhteisöön tulee analyysin perusteella myös liittää jäseniä. Yhteisöä muokatessa siihen voi liittää tai poistaa jäseniä. Tarpeettomiksi käyneet virtuaaliyhteisöt voidaan poistaa. Sääntöjen luonti ja muokkaus tarkoittavat systeemin parametrien määrittelyä siten, että kone voi luoda yhteisölle valintakriteerit. Alustavasti tämä tarkoittaa parametritiedostojen luontia. Säännöt voidaan muodostaa monella tavoin ja niiden tulkinta riippuu sovelluskohtaisesti. Säännöt liitetään virtuaaliyhteisöön luontivaiheessa. Käyttäjäprofiilien analysointi tarkoittaa käyttäjien tutkimista virtuaaliyhteisökohtaisesti määriteltyjen sääntöjen perusteella. Toiminnan lopputuloksena tulee olla joukko käyttäjäprofiileja, jotka täyttävät annetun sääntöjoukon ehdot. Käyttäjiä liitetään ja poistetaan virtuaaliyhteisöön/virtuaaliyhteisöstä käyttäjäprofiilianalyysin lopputuloksen perusteella. Toiminto voidaan suorittaa, kun uusi käyttäjä rekisteröityy systeemiin tai kun uusia virtuaaliyhteisöjä on luotu.
10(17) Kommunikaation järjestäminen virtuaaliyhteisön sisällä tarkoittaa virtuaaliyhteisön määritelmän sisältämien kommunikointivaatimusten täyttämistä. Luonnollisestikaan tämä ei tarkoita sitä, että systeemin tulisi sisältää itse kaikki kuvailemansa kommunikaatiojärjestelmät. Virtuaaliyhteisöjen jäsenet käyttävät ennalta määriteltyjä tapoja kommunikoinnissa. Järjestelmän tulee toimia siten, että se kykenee käynnistämään tarvittavia sovelluksia kommunikaation hoitamiseksi, jos se ei itse kykene määriteltyä tapaa toteuttamaan (kommunikoinnin järjestäminen, prioriteetti 2). Järjestelmän ylläpito järjestelmän ylläpitäjä Palvelun muokkaus tietokannan optimointi (prioriteetti 3) Järjestelmän ylläpitäjän tunnistaminen <<include>> Palvelujen hallinta Palvelun poisto Palvelun lisäys Järjestelmän hallinta Järjestelmän ylläpito Käytäjäprofiilien analysointi Käyttäjäprofiilin poisto Käyttäjien hallinta Käyttäjäprofiilin lisäys Sääntöjen muokkaus Virtuaaliyhteisöjen hallinta Virtuaaliyhteisön luominen <<include>> <<include>> Virtuaaliyhteisön poisto Jäsenien poisto / liittäminen Virtuaaliyhteisön muokkaus Käyttäjäprofiilin muokkaus Kommunikoinnin järjestäminen Sääntöjen liittäminen prioriteetti 2 Kuva 1 Ylläpidon toiminnot
11(17) 4.4. Käyttäjän toiminnot Käyttäjällä tulee olla seuraavat toiminnot käytössään: Hänen tulee voida kommunikoida muiden yhteisön jäsenten kanssa (prioriteetti 2) Hänen tulee voida muokata omaa käyttäjäprofiiliaan Hänen tulee voida tarkistaa, mihin yhteisöihin hän kuuluu Hänen tulee rekisteröityä systeemiin ennen kuin voi hyödyntää yhteisöjä Hänen tulee voida liittyä haluamiinsa virtuaaliyhteisöihin (prioriteetti 2) Kommunikointitoiminto tarkoittaa käyttäjän kommunikointia virtuaaliyhteisön muiden jäsenten kanssa. Kommunikointi suoritetaan käyttäen tapaa/tapoja, joka/jotka on määritelty virtuaaliyhteisön sisällä. Käyttäjäprofiilin muokkaus tarkoittaa toimintoa, jonka avulla käyttäjä muuttaa omaa kuvaustaan systeemissä. Näin käyttäjä voi liittyä haluamiinsa virtuaaliyhteisöihin, erota haluamistaan virtuaaliyhteisöistä ja muuttaa profiiliaan omien kiinnostusten kohteidensa muuttuessa. Virtuaaliyhteisöihin kuulumisen tarkastaminen toteuttaa vaatimuksen, jonka perusteella käyttäjän on tiedettävä, mihin virtuaaliyhteisöihin hän kuuluu. Rekisteröitymistoiminto suoritetaan, kun käyttäjä ensimmäisen kerran käyttää järjestelmää. Rekisteröityessä käyttäjä antaa tietoja, joiden pohjalta muodostetaan hänen käyttäjäprofiilinsa. Käyttäjäprofiili liitetään muiden joukkoon, jotta sitä voitaisiin käyttää hyväksi yhteisöjä muodostettaessa ja liitettäessä käyttäjä hänelle sopiviin yhteisöihin. Virtuaaliyhteisöihin liittyminen, joihin käyttäjä ei käyttöprofiilinsa mukaan kuuluisi, tulee olla mahdollista (prioriteetti 2). Käyttäjällä voi olla erilaisia rooleja virtuaaliyhteisössä, esimerkiksi virtuaaliyhteisön johtaja. Tämä vaatimus on kuitenkin prioriteetilla 2.
12(17) Käyttäjän palvelut käyttäjä Käyttäjän tunnistaminen <<include>> Rekisteröityminen Käyttäjän palvelut Yhteisöön kuulumisen tarkistaminen Haluttuihin yhteisöihin liittyminen Prioriteetti 2 Kommunikointi yhteisön kanssa Käyttäjäprofiilin muokkaus (from Käyttäjäprofiilien hallinta) Yhteisön tietojen tulostaminen Ei määritellä tarkemmin. Esim. sähköposti / uutisryhmät tms.(pri... Kuva 2 Käyttäjän toiminnot 4.5. Palvelun tarjoajan toiminnot Palvelun tarjoajan toiminnot kuuluvat osana ylläpitäjän toimintoihin. 4.6. Muut toiminnot Virtuaaliyhteisön muodostamisohjelmistoa käytetään jonkun sovelluksen yhteydessä. Ohjelmatyökurssin aikana ei ole vielä tullut esille ohjelmistoa, jota hyödyntäisimme. Kuitenkin sovellukselle tehdään jonkinlainen prototyyppiohjelmisto, jotta yhteisöjen muodostamista voitaisiin testata. Tämä ohjelmisto sisältää toiminnallisuutta ja voi olla, että joudumme räätälöimään virtuaaliyhteisöjen muodostajaa testi sovellukselle sopivaksi. Päivityksiä toiminnallisuuteen voidaan tämän vuoksi joutua tekemään myöhemmässä vaiheessa. Koska tietoa voidaan syöttää järjestelmään ja järjestelmästä voidaan haluta myös raportteja, tarvitaan syöttöön ja tulostukseen tarvittavat toiminnot. Syötteet luetaan tiedostosta ja raportit kirjoitetaan tiedostoihin. Esitystavaksi on valittu XMLkuvauskieli.
13(17) Käyttäjäprofiilien lataus/tallennus Virtuaaliyhteisöjen lataus/tallennus Käyttäjäprofiilien lataus/tallennus tarkoittaa tietyllä DTD:llä sidottun (sovelluskohtaiseen) XML-tiedoston latausta tai tuottamista. Tämä tiedosto sisältää käyttäjäprofiilien määrittelyjä. Näin järjestelmään voi liittää tietoa muinkin tavoin. Samoin hyvin määriteltyä XML-kantaa voidaan käyttää hyväksi esimerkiksi raporttien generoinnissa. Virtuaaliyhteisöjen lataus/tallennus tarkoittaa DTD:llä sidotun (sovelluskohtaiseen) XML-tiedoston latausta tai tuottamista Tämä tiedosto sisältää käyttäjäprofiilien määrittelyjä. Näin järjestelmään voi liittää tietoa muinkin tavoin. Samoin hyvin määriteltyä XML-kantaa voidaan käyttää hyväksi esimerkiksi raporttien generoinnissa.
14(17) 5. Ulkoiset liittymät 5.7. Laitteistoliittymät Virtuaaliyhteisöjä muodostava sovellus tulee olla laitteistoriippumaton. Sovellus toimii osittain läpinäkyvänä ja sitä hyödyntävät sekä palveluiden tarjoajat ja Internetin käyttäjät. Sovelluksen käyttö tulisi olla asiakkaalle mahdollisimman yksinkertaista ja toisaalta käyttäjien tulisi voida hyödyntää sovellusta eri päätelaitteiden kautta. Ohjelmiston luonnehan ei rajaa käyttötarkoituksia. Prototyyppipalvelu tulee olemaan selainpohjainen. 5.8. Ohjelmistoliittymät Virtuaaliyhteisöjen muodostamiseen käytettävä ohjelmisto toimii yhdessä jonkin toisen palveluja tarjoavan ohjelmiston kanssa. Tässä vaiheessa ei ole vielä päätetty, mikä tämä ohjelmisto tulee olemaan. Ilmeisesti demoamiseen tullaan kehittämään oma testiohjelmisto. Kommunikointiominaisuuden toteuttaminen voidaan toteuttaa tarvittaessa muiden ohjelmistojen avulla. 5.9. Tietoliikenneliittymät Palvelu tullaan alustavasti toteuttamaan demoluonteisena HTTP:tä hyödyntäen. Ohjelmisto itse ei aseta rajoituksia tietoliikenneliittymille.
15(17) 6. Muut ominaisuudet 6.1. Suorituskyky ja vasteajat Järjestelmää tullaan käyttämään muiden palvelujen yhteydessä. Näillä palveluilla on käyttäjiä, joten yhteisöjen muodostamiseen ja käyttäjäprofiilien hakemiseen ei saa kulua kovin kauan. Toimien suorittamisen tulisi onnistua muutamassa sekunnissa. 6.2. Käytettävyys, toipuminen, turvallisuus ja suojaukset Palvelu toimii suurimmaksi osaksi läpinäkyvänä käyttäjälle. Ainoastaan rekisteröidyttäessä ja tietoja muokatessa tarvitaan näkyvä käyttöliittymä. Kommunikaationkin voi suorittaa muiden ohjelmistojen kanssa. Toiminta ei ole vaikeaa, mutta koska tietoja vaaditaan rekisteröidyttäessä runsaasti, voi lomakkeiden täyttö muodostua turhauttavaksi toimenpiteeksi. Käyttöliittymä tässä tilanteessa tulee suunnitella siten, että rekisteröityminen on hoidettavissa alle kymmenessä minuutissa. Lisäksi jos systeemi käyttää tukenaan (esim. kommunikaatio) muita ohjelmistoja, tulee sen käynnistää sovellus järkevästi. Sovelluksen käyttämät käyttäjäprofiilit ja virtuaaliyhteisöt tulee suojata siten, että ulkopuoliset eivät pääsen niihin käsiksi. Käytännössä tämä tarkoittaa sitä, että toteutettavan ohjelmiston käyttäjärajapinnoissa ei saa olla aukkoja, joita hyödyntäen käyttäjä pääsee käsiksi tietoihin, jotka eivät hänelle kuulu. 6.3. Ylläpidettävyys Järjestelmä kykenee tuottamaan tietoa virtuaaliyhteisöistä XML-formaatissa. Myös tietoa yhteisöistä voidaan syöttää XML-muodossa järjestelmään. Järjestelmän päivittäminen voidaan hoitaa tehokkaasti tiedostojen avulla. Virtuaaliyhteisöjä ja käyttäjäprofiileja voi lisäksi myös lisätä ja poistaa yksitellen. 6.4. Siirrettävyys Ohjelmisto toteutetaan käyttäen Javaa. Tämä mahdollistaa tehokkaasti järjestelmäriippumattomuuden.
16(17) 7. Suunnittelurajoitteet 7.1. Ohjelmistorajoitteet Tietokantaohjelmisto on rajoitettu Oracleen, mikä on Comptelissa käytetty tietokantaohjelmisto. Itse sovellus kirjoitetaan JAVAlla siirrettävyyden saamiseksi. Käytettävä kehitysympäristö määritellään myöhemmin, jos se katsotaan tarpeelliseksi projektin hallittavuuden kannalta.