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:
-
Selvitys GSM-verkkoon perustuvien paikannusjärjestelmien nykytilasta,
tulevaisuuden kehitysnäkymistä sekä käyttömahdollisuuksista
-
Suunnitelma järjestelmäarkkitehtuurista, sekä Javalla toteuttettu
kehys järjestelmälle, joka mahdollistaa henkilörekisterin
liittämisen profilointisovellukseen sekä matkaviestinverkon paikannusjärjestelmään
-
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.