Tik-76.115 Vaatimusmäärittely

Mobile1


Sisällysluettelo

0. Versio
1. Johdanto
2. Yleiskuvaus
3. Toiminnot
4. Ulkoiset liittymät
5. Muut ominaisuudet
6. Laatusuunnitelma

0. Versio

Versio 
Päiväys 
Selitys
Julkisuus 
Tekijä 
Hyväksynyt
3.0 30.11.2000  Kuluttajan rekisteröinti ja web-liittymä on korvattu liitynnällä ulkoiseen rekisteriin Järjestelmäoperaattori on lisätty toimintoineen. Operaattori on päätetty simuloida. Julkinen  RIQ AOA


1. Johdanto

1.1 Yleistä

Tässä dokumnetissa kuvataan TietoEnatorin Palvelut -divisioonan Telecom-yksikön Tik-76.115 -kurssille toimeksiantaman Mobiilisuoramainontatietojärjestelmän suunnittelu- ja pilotointiprojektin vaatimukset karkealla tasolla.

1.2 Projektin alkuperäiset tavoitteet

Projektin tavoitteena on tuottaa:
  1. Selvitys GSM-verkkoon perustuvien paikannusjärjestelmien nykytilasta, tulevaisuuden kehitysnäkymistä sekä käyttömahdollisuuksista
  2. Suunnitelma järjestelmäarkkitehtuurista, sekä Javalla toteuttettu kehys järjestelmälle, joka mahdollistaa henkilörekisterin liittämisen profilointisovellukseen sekä matkaviestinverkon paikannusjärjestelmään
  3. Pilottisovellus jossa yo. tuotoksia hyödynnetään
Noin puolet projektista painottuu kohtiin yksi ja kaksi. Noin puolet projektin ajasta käytetään pilotointiin.

1.3 Terminologia

Termien selitykset ovat erillisessä terminologiadokumentissa.

1.4 Dokumentin sisältö ja kattavuus

Tämä dokumentti antaa yleiskuvauksen pilottijärjestelmästä ja kuvaa järjestelmälle asetettavat vaatimukset korkealla tasolla. Luvussa 1 annetaan yleiskuvaus projektista ja tästä dokumentista. Luvussa 2 annetaan yleiskuvaus kehitettävästä järjestelmästä ja sen ympäristöstä.

Luvussa 3 pilottisovelluksen vaadittu toiminnallisuus on kuvattu korkean tason UML-käyttötapausmallilla ja selvitettty sanallisesti. Toimintoja on jaettu palvelusta riippuen PULL- ja PUSH-tyyppeihin. Tämä rajanveto liittyy lainsäädännöllisiin rajoitteisiin ja operaattoreiden tarjoamien palveluiden teknisiin rajoitteisiin, jotka vaikuttavat ennen kaikkea PUSH-palveluihin. Vaikka tässä versiossa rajataan kehitettävä järjestelmä toimimaan simuloidun operaattorin kanssa, siirrettävyys oikean operaattorin yhteyteen puoltaa rajavedon säilyttämistä, sillä oikean operaattorin kanssa vaatimusten sisältö riippuisi osittain selvitystöiden vaiheesta.

Luvussa 4 käsittellään järjestelmän ulkoisia liittymiä, joita ovat SMS- ja paikkatietorajapinta GSM-operaattorin kanssa, järjestelmän web-liittymä kauppiaille sekä rajapinta henkilörekisteriin. Luvussa 5 käsitellään järjestelmän ei-toiminnalliset ominaisuudet.

Projektin tavoitteisiin ja vaatimuksiin liittyvät selvitystyöt kuvataan omassa erillisessä selvitystyödokumentissa, joka määrittää selvitystöiden laajuuden sisältövaatimukset.  Lisäksi tähän vaatimusmäärittelydokumentiin on liitetty projektin laatusuunnitelmadokumentti.

2. Yleiskuvaus järjestelmästä

2.1. Kuvaus järjestelmästä

Järjestelmällä lähetetään kohdennettuja mainosviestejä kuluttajille GSM-verkossa. Viestit kohdennetaan rekisteröidyille kuluttajille sijainnin sekä kuluttajakohtaisten erityistoiveiden perusteella. Kuluttajan on aina annettava suostumus mainontaan ja paikannukseen, ilman suostumusta mainontaa ei lähetetä. Järjestelmän ulkopuoliset rekisterit huolehtivat näistä luvista ja järjestelmä olettaa operaattoreilta saadaan paikkatiedon olevan sallittua. Järjestelmään rekisteröityneet kauppiaat jättävät mainoksensa ja suorittavat rekisteröitymisensä web-sovelluksen avulla.

Esimerkiksi kuluttaja voi kysyä pyytää lounaspalvelua, jolloin hän saa lähellään olevilta ravintoloilta luonastarjouksia. Toisena esimerkkinä autolla liikkuva kuluttaja voi tilata huoltoasemakauppiailta polttoainetarjouksia, joita hän saa liikkuessaan palvelussa mukana olevan huoltoaseman lähistöllä. (Ensinmäinen esimerkki on tyypiltään PULL-palvelu, jossa mobiilitilaaja tekee paikannusaloitteen ja toinen esimerkki on tyypiltään PUSH-palvelu, jossa järjestelmä tekee paikannusaloitteen automaattisesti kuluttajan liikkumiseen perustuen.)

Järjestelmä koostuu sovelluspalvelimesta, kauppiastietokannasta, toimintalogiikkatietokannasta sekä web-liittymistä. Kuvassa 2.1 järjestelmän komponentit esitetään omassa käyttöympäristössään. Huomattavaa on kuitenkin pilottijärjestelmässä toteutettava operaattorin simulointi.

kuva 2.1.

Sovelluspalvelin kerää ja käsittelee web-liittymien ja GSM-operaattorin välityksellä saamaansa dataa ja tallettaa sitä tietokantaan. Tietokannan tulee olla sellainen, ettei se vaadi ylläpitoa minkään kohdassa kolme mainitun käyttötapauksen yhteydessä. Lisäksi palvelin huolehtii kaikkien viestien ja tapahtumien keräämisestä lokeihin.

Mainostietokanta sisältää tiedot rekisteröityneistä kauppiaista ja mainoksista. Kauppiaan kohdalla pakollisia tietoja ovat esimerkiksi kauppiastunnus ja salasana. Kuluttajista oletetaan olevan järjestelmän ulkopuolinen henkilörekisteritietokanta, joka sisältää profilointiin tarvittavat tiedot. Toimintalogiikkatietokanta sisältää sääntökokoelman, jonka avulla järjestelmä päättää toiminnot saamiensa paikkatietosyötteiden jälkeen. Järjestelmäoperaattori voi muokata edellä mainuttuja tietokantoja. Tätä varten voidaan toteuttaa erillinen käyttöliittymä tai jättää tietokantojen päivitys suoraan SQL-lauseilla tehtäväksi.

Web-liittymää käytetään kauppiaiden ja kuluttajien rekisteröitymiseen. Lisäksi kauppiaat jättävät mainoksensa web-liittymän kautta. Kauppias liittää mainokseen varsinaisen mainosviestin lisäksi ainakin mainoksen voimassaoloajan ja paikkatiedon. Yhdellä kauppiaalla voi olla samaan aikaan voimassa useampia mainoksia.

2.2. Järjestelmän käyttäjät

2.2.1 Kauppias

Kauppias käyttää järjestelmää omaan mainontaansa. Kauppiaan on ensin rekisteröidyttävä järjestelmään Web-liittymän avulla, minkä jälkeen hän voi tehdä mainoksia saman liittymän avulla. Kauppiaan on houkuteltava kuluttajat käyttämään palvelua järjestelmän ulkopuolisella markkinoinnilla siten että kuluttajatiedot kerätään ulkoiseen henkilörekisteriin.

2.2.2 Kuluttaja

Kuluttaja on kuka tahansa GSM liittymän haltija, jolle järjestelmä lähettää kohdennettuja kauppiaiden mainosviestejä. Kuluttaja ei ole suorassa yhteydessä järjestelmään: GSM-operaattori välittää mainokset kuluttajille sekä välittää kuluttajan paikkatiedot järjestelmälle joko automaattisesti tai kuluttajan pyynnöstä. Kuluttajien tiedot ja profiilit sijaitsevat ulkoisessa henkilörekisterissä.

2.2.3 Järjestelmäoperaattori

Järjestelmäoperaattori vastaa järjestelmän ylläpitäjää, jonka tehtävä on luoda sääntöjä, joiden perusteella mainoksia voidaan profiloida kuluttajiin. Toiminta on ei ole päivittäistä satunnaista ja tapahtuu uusien tarpeiden ilmentyessä, kun alkuperäiset säännöt eivät enää riitä. Lisäksi järjestelmäoperaattori ylläpitää kauppiaiden autentikaatiotietoja, joita kauppiaat käyttävät web-sovelluksessaan.

2.3 Käyttöympäristö ja muut sidosryhmät

2.3.1 GSM-operaattori

GSM-operaattori on kanava kuluttajan ja järjestelmän välillä. Toisin sanoen GSM-verkko välittää mainokset kuluttajalle. Lisäksi kuluttaja määrittää ja muuttaa omia palvelua koskevia tietojaan GSM-verkon välityksellä. Pilottiversiossa tämä viestintä tapahtuu SMS-viesteillä mutta tulevaisuuden tekniikat on huomioitava suunnittelussa.

GSM-operaattori toimittaa järjestelmälle tiedot rekisteröityjen kuluttajien sijainnista. Kuluttaja voi pyytää erikseen omaa paikantamista järjestelmälle ja paikkatietoa halutaan saada myös automaattisesti kuluttajan vaihtaessa sijaintiaan.

Kehitettävässä järjestelmässä GSM-operaattori simuloidaan. Suunnittelussa on kuitenkin huomioitava siirrettävyys oikean operaattorin palvelun yhteyteen, joten selvitystöiden merkitys on tärkeä, vaikkakaan ei totaalisen rajoittava.

2.3.1 Palvelun tarjoaja

Palvelun tarjoajalla tarkoitetaan tahoa, joka antaa järjestelmän kauppiaiden ja kuluttajien käyttöön.

2.4 Rajoitukset ja ongelmakohdat

Operaattorin simuloiminen vähentää rajoitteita, mutta toteutuksessa on huomioitava siirrettävyys todellisen operaattorin palveluun. Todellisuudessa valitun operaattorin paikkatietopalvelu asettaa rajoituksen toteutukselle ja näitä rajoituksia tulee selvitä lisäselvitysten aikana. Lisäselvityksillä pyritään vastaamaan esimerkiksi kysymyksiin: Miten tarkasti rekisteröityneen kuluttajan liikettä voidaan seurata ilman liittymän yksilöivää kyselyä? Saadaanko paikkatieto automaattisesti ja kuinka tarkasti? Millaisia ovat operaattorille lähetettävien paikkatietokyselyiden vasteajat, kun haetaan yksittäisen mobiilin paikka tai haetaan kaikki tietyllä alueella olevat rekisteröityneet käyttäjät? Onko hakeminen mahdollista vai pitääkö mobiilitilaajan olla aloitteen tekijä eli onko palvelu PULL vai PUSH -tyyppinen? Miten GSM-operaattorin antamat paikkatietokoodit muutetaan kuluttajalle näkyviksi paikoiksi kartalla? Lisäksi paikkatietoihin liittyvät lainopilliset kohdat määräävät osaltaa rekisteröitymismenettelyä, jotta operaattorilla on lupa luovuttaa tiedot. Vastaukset edellä oleviin kysymyksiin ovat osa selvitystöiden tavoitteita ja ne asettavat rajoituksia vaatimuksille ja toteutukselle.

2.5 Toteutustyökalut

Palvelu toteutetaan käyttäen mahdollisimman modulaarisia ja alustariippumattomia teknologioita. Sovellus toteutetaan Java-kielellä ja alustana käytetään jotain Servlet-teknologiaa tukevaa sovelluspalvelinta. Kaikki sovelluksen toiminta perustuu relaatiotietokantoihin.

3. Vaaditut toiminnot

Järjestelmän toiminnot kuvataan alustavassa korkean tason käyttötapausmallissa kuvassa 3.1, jonka jälkeen käyttötapaukset on kuvattu sanallisesti. Vaikka operaattoria simuloidaan, siirrettäessä järjestelmä oikean operaattorin yhteyteen esitettyjen kuvausten ja vaatimusten sisältö ja laajuus riippuu osittain selvitystöiden vaiheesta - tarkempi tai uusia toteutusmahdollisuuksia avaava selvitystyön tulos saattaa vaikuttaa joihinkin vaatimuksiin ja vastaavasti operaattoreiden tarjoamat palvelut saattavat rajata joitakin vaatimuksia. Tätä on ennakoitu jakamalla palvelut PULL- ja PUSH-tyyppeihin, sillä lait ja tekniset seikat vaikuttavat ennenkaikkea jälkimmäisiin. Vaikka järjestelmä kehitetään simuloidulla operaattorilla, molemmat tyypit halutaan säilyttää tämän dokumentin lopullisessa versiossa, sillä ne huomioivat siirrettävyyttä todellisen operaattorin palvelun yhteyteen. Lisäksi eri maiden ja operaattoreiden välillä saattaa olla eroavaisuuksia, joita kaikkia ei pystytä selvittämään.

Suoritettavat lisäselvitystyö määräävät reaalimaailmassa toteuttamiskelpoiset toiminnot. Eli selvitystöiden jälkeen tulisi tietää ne toiminnot ja käyttötapaukset, jotka ovat teknisesti mahdollisia ja paikkatietoihin liittyvien lakien mukaisia. Tämän hetkiset selvitykset ovat todenneet vain PULL-tyyliset palvelut teknisesti mahdollisiksi. Tämä tarkoittaa sitä, että paikannukseen vaatimukset on muodostettava siten, että mobiililaite on aloitteen tekijä paikannusoperaatiossa.  On mahdollista että, PUSH-tyyppiset palvelut jäävät simuloidun operaattorin hankkeiksi, mikäli operaattoreilla ei ole valmuitta tai oikeutta tarjota tällaista palvelua.

Toimintojen prioriteettejä on kuvauksien yhteydessä on arvioitu asteikolla kriittinen, tärkeä, hyödyllinen.

kuva 3.1.

3.1 Vaatimus1: Kauppias tekee sopimuksen

Kauppias käyttää rekisteröitymiseen web-sovellusta. Hän kertoo järjestelmälle välttämättömät tiedot (esimerkiksi kauppiastunnus ja salasana). Lisäksi hän voi syöttää omaa mainontaansa koskevia tietoja (esimerkiksi palvelun nimi, halutut mainosalueet, käyttäjäprofiilit sekä aikarajat). Toiminnon prioriteetti: kriittinen.

3.2 Vaatimus2: Kauppias jättää mainoksen

Rekisteröity kauppias jättää järjestelmälle oman mainoksensa web-sovelluksen avulla. Jättäessään mainoksen kauppias määrittelee haluamansa aikavälin, mainosalueet, mainosviestin sekä kohdeprofiilin. Toiminnon prioriteetti: tärkeä.

3.3 Vaatimus3: Kuluttaja tilaa mainoksen

Kuluttaja tilaa tietyn kauppiaan mainoksen järjestelmältä lähettämällä pyynnön SMS-viestinä palvelun numeroon. Tilauksen jälkeen kuluttaja saa omaan sijaintiinsa liittyvän mainoksen. Tämä on selkeä PULL-tyyppinen toiminto. Toiminnon prioriteetti: tärkeä.

3.4 Vaatimus4: Kuluttaja saapuu paikkaan

Rekisteröidyn kuluttajan sijainti muuttuu siten, että hän saapuu tietyn kauppiaan määrittämälle mainosalueelle. Tämän jälkeen kuluttaja saa järjestelmältä tietyn mainoksen. Tämä toiminto on PUSH-tyyppinen. Operaattoreiden paikkatietopalveluihin liittyvä selvitystyö määrää tämän tapahtuman toimintamahdollisuudet oikean operaattorin yhteydessä ja mikäli operaattorit eivät tällä hetkellä tarjoa PUSH-tyyppistä, tulee järjestelmän kehityksessä ottaa huomioon PUSH-palvelun olemassa olo tulevaisuudessa. Simuloidulla operaattorilla toiminto voidaan toteuttaa ja järjestelmän kannalta ei ole eroa mikä osapuoli aloitti paikannuksen. Toiminnon prioriteetti: tärkeä.

3.5 Vaatimus5: Järjestelmäoperaattori muokkaa tietokantaa

Järjestelmäoperaattori luo sääntöjä, joiden perusteella mainoksia voidaan profiloida kuluttajiin. Näiden perusteella kauppiaat voivat profiloida mainoksiaan, sillä säännöt tulevat näkyviin heidän web-sovellukselle. Järjestelmäoperaattori voi myös poistaa luotuja sääntöjä, joiden perusteella mainoksia voidaan profiloida kuluttajiin. Säännöt poistuva näkyvistä kauppiaiden web-sovelluksesta sekä aiemmin tehtyjen mainosten profilointi muuttuu. Lisäksi järjestelmäoperaattori muokkaa kauppiaiden autentikaatiotietoja. Toiminnon prioriteetti: hyödyllinen.

4. Ulkoiset liittymät

4.1 Liittymä GSM operaattorin kanssa

Järjestelmän ja GSM-operaattorin välillä on SMS-viestirajapinta. Tämän rajapinnan kautta järjestelmä lähettää kauppiaiden mainokset kuluttajille SMS- viesteinä, kuluttajat liittyvät tiettyihin kauppiaiden palveluihin ja muuttavat omia tietojaan lähettämällä SMS-viestejä järjestelmän palvelunumeroon.

Järjestelmällä ja GSM-operaattorin välillä on myös paikkatietorajapinta. PULL-tyyppisenä mobiilitilaajan on oltava aloitteen tekijä paikannuksessa ja paikkatieto saadaan HTML-pohjaisena. Myöhemmät lisäselvitykset valaisevat PUSH-tyyppisen palvelun mahdollisuuksia: Niissä järjestelmän tarkoituksena on kysyä tiettyjen kuluttajien sijainteja ja saada GSM-operaattorilta vastaus. Lisäksi GSM-operaattorilta halutaan automaattisesti tietoa rekisteröityneistä kuluttajista, joiden sijainti on muuttunut tietyn jonkun kauppiaan mainosalueelle.

Pilottijärjestelmä tehdään simuloidun GSM-operaattorin kanssa, mutta rajapintojen toteutuksessa on huomioitava skaalautuvuus todellisten  operaattoreiden kanssa ottaen huomioon PULL ja PUSH-tyypit.

4.2 Web-liittymä

Web-liittymää käytetään järjestelmän ja kauppiaan välillä rekisteröintiin sekä mainoksien tekoon. Toiminnot on eroteltu omiksi kokonaisuuksiksi ja hyvään käytettävyyteen on pyrittävä suunnittelussa.

4.3 Liityntä henkilörekisteriin

Ulkoinen henkilörekisteri sisältää tiedot kuluttajista ja järjestelmässä on toteutettava rajapinta tällaiseen rekisteriin. Järjestelmän ei tällöin tarvitse itse kerätä kuluttajilta rekisteröitymisiä ja profiileita vaan niiden oletetaan olevan tässä henkilörekisterissä saatavilla. 

5. Muut ominaisuudet

5.1. Selvitystyö

Projekti on erittäin tutkimuspainotteinen. Projektin alussa tehtävä selvitystyö, suora- ja mobiilimarkkinoinnin lainsäädännöstä, nykyisistä palveluista sekä mahdollisuuksista toteuttaa ohjelmisto nykyisten palvelujen päälle, on perusta koko projektille. Selvitystöiden sisältö ja  tavoitteet kuvataan erillisessä selvitystyödokumentissa. Prioriteetti: kriittinen

5.2. Arkkitehtuuri

5.2.1. Ohjelmointikieli- ja alustariippumattomuus

Suunniteltavan arkkitehtuurin on mahdollistettava ohjelmointikieli- ja alustariippumattomuus niin, että uusia rajapintoja voidaan liittää järjestelmään.Vaikka järjestelmä kehitetään yhden operaattorin tarjoamien palveluiden varaan, arkkitehtuurisuunnittelussa tulee huomioida siirrettävyys toiseen operaattoriin. Suunniteltava arkkitehtuuri tehdään standardia UML-notaatiota käyttäen. Prioriteetti: kriittinen

5.2.2. Tietoturva

Arkkitehtuurin tietoturvan on oltava sellaisella tasolla, että vain valtuutetut osapuolet pystyvät käyttämään palveluita. Järjestelmän tietoturvaoptiot toteutetaan mahdollisuuksien mukaan. Prioriteetti: hyödyllinen

5.2.3. Joustavuus

Arkkitehtuurin on mahdollistettava uusien komponenttien, kuten palveluiden, käyttäjien tai palveluntarjoajien helppo liittäminen järjestelmään. Prioriteetti: tärkeä

5.2.4. Dokumentointi

Suunniteltava arkkitehtuuri on dokumentoitava sellaisella tarkkuudella, että sen pohjalta voidaan luoda arkkitehtuuria käyttävä palvelu. Kommentit ja koodi tehdään englanniksi, kaikki muut dokumentit tehdään suomeksi. Prioriteetti: kriittinen

5.3. Lopullinen järjestelmä

5.3.1. Turvallisuus

Tarpeen mukaan käytetään yleisesti tunnettuja ja hyväksi havaittuja menetelmiä, jotta ohjelmistossa ei olisi tietoturva-aukkoja. Prioriteetti: hyödyllinen

5.3.2. Luotettavuus

Ohjelman tulee olla luotettava ja sen tulee toipua erilaisista virhetilanteista nopeasti, koska käyttäjät liikkuvat GSM- verkon solusta toiseen mahdollisesti hyvinkin nopeasti. Prioriteetti: tärkeä

5.3.3. Käytettävyys

Kauppiaiden näkökulmasta käyttöliittymä, jolla mainokset lisätään järjestelmään, olisi mahdollisimman helppokäyttöinen. Järjestelmän tarjoaman palvelun tulisi saapua kuluttajille reaaliajassa. Prioriteetti: tärkeä

5.3.4. Ylläpidettävyys

Järjestelmä luovutetaan havainnollistamaan järjestelmän toiminnallisuutta, mutta projektiryhmä ei sitoudu jatkokehittämään tuotetta. Prioriteetti: tärkeä

5.3.5. Siirrettävyys

Järjestelmä tehdään sellaisen arkkitehtuurin pohjalta, että ohjelma olisi siirrettävissä tarvittavin muutoksin. Tätä ei kuitenkaan toteuteta kurssin puitteissa. Prioriteetti: hyödyllinen

6. Laatusuunnitelma

Projektin laatusuunnitelma on erillinen dokumentti.