Sisällys
Tarjouskonfiguraattori (TAHKO) on Sonera Oyj:lle tuotettava tarjousdokumenttien generointiohjelmisto, joka toteutetaan Helsingin yliopiston tietojenkäsittelytieteen laitoksen ohjelmistotuotantoprojektina. Ohjelmistolla generoidaan tarjousdokumentteja käyttäjän antamien tietojen pohjalta. Dokumentit voidaan tulostaa erilaisissa formaateissa (esim. PDF). Ohjelman tarkoituksena on helpottaa myyjien työtä ja saada tarjouksista ulkoasultaan yhteneviä.
TAHKOa käytetään tarjousdokumenttien tekemiseen. Käyttäjä identifioi itsensä järjestelmälle, jonka jälkeen hän alkaa rakentaa tarjousta. Tarjoukseen valitaan asiakas ja tuotteet, joita asiakkaalle aiotaan tarjota. Käyttäjä voi muokata tuotteiden hintoja määrätyissä rajoissa. Annettujen tietojen perusteella TAHKO generoi halutun muotoisia tarjousdokumentteja.
Kuvan 3.1 luokkien atribuutteihin tehdään suunnitteluvaiheessa vielä tarkennuksia. Esimerkiksi tuotteen hinnat jaetaan normaali- ja minimihintaan. Lisäksi asiakkaan yhteystiedot sisältää ainakin osoite-kentän ja tarvittaessa muita yhteystietoja.
Järjestelmä käsittelee melko pieniä määriä tekstimuotoista dataa, eikä reaaliaikaisuuden vaatimusta ole, joten kapasiteetti- ja saantiaikavaatimukset eivät ole olennainen kysymys järjestelmää suunniteltaessa. Mikä tahansa nykyaikainen tietokantapalvelin täyttänee järjestelmän vaatimukset paremmin kuin hyvin.
Järjestelmän toiminnallisuus jakautuu tiedon hakemiseen kannasta (tietokantaorja), käyttöliittymän luomiseen XML-määrittelyjen pohjalta (KäLi-generaattori), käyttäjän kanssa kommunikointiin (KäLi), tarjousten tulostamiseen (tulostegeneraattorit), tallentamiseen sekä vanhan tarjouksen lataamiseen. Vanha tarjous pystytään lataamaan esimerkiksi muokkaamista tai uutta tulostusta varten. Jokaiselle tulostustavalle on oma tulostegeneraattorinsa.
Järjestelmän käyttöliittymän tulee olla dynaamisesti konfiguroitavissa XML-tiedoston avulla. Käyttöliittymä koostuu sisäänkirjautumisikkunasta sekä kuudesta eri tarjouksen tekemiseen liittyvästä tilasta. Kaikki käyttöliittymän tilat näkyvät kuvissa 5.1 - 5.7.
Kirjautumisvaiheessa myyjä kirjautuu sisään järjestelmään kirjoittamalla tekstikenttiin käyttäjätunnuksensa ja salasanansa (kuva 5.1). Jos syötetyt tiedot ovat oikeat, myyjä pääsee Asiakkaan valinta -tilaan muutoin kirjautuminen epäonnistuu ja myyjä saa siitä ilmoituksen.
Tarjouksen tekemisen ensimmäisessä vaiheessa valitaan asiakas. Koska asiakasrekisterissä saattaa olla tuhansia asiakkaita, asiakkaan valitsemisen apuna tarvitaan yksinkertaisen valintalistan sijaan erityistä hakutoimintoa (kuva 5.2). Valittuaan asiakkaan (kuva 5.3) käyttäjä siirtyy Tuotteiden valinta -tilaan.
Koska tuotekannassa voi olla myös tuhansia tuotteita, sinnekin tarvitaan valintalistan sijaan hakutoiminto (kuvat 5.4, 5.5 ja 5.6). Lisäksi haku saa palauttaa vain sellaisia tuotteita, joita kyseiselle asiakkaalle voidaan tarjota; tämä lasketaan sen perusteella, mitä tuotteita asiakkaalle on tietokannan mukaan jo aikaisemmin myyty. Osa tuotteista on kerran osa useaan kertaan myytäviä. Tuotteen valinta tehdään antamalla tuotteelle kappalemäärä (kuva 5.5).
Hinnoitteluvaiheessa jokaisen tuotteen hintaa voidaan muuttaa (kuva 5.7). Tuotteella on minimihinta ja normaalihinta, ja kummankin tulisi vähintään käydä ilmi käyttöliittymästä. Normaalihinta tarkoittaa tuotteen suositeltavaa myyntihintaa, josta voidaan antaa tarjouskohtaisia alennuksia. Kun normaalihinnasta annetaan tarjouksessa alennusta, saadaan tarjoushinta eli toivottu myyntihinta. Minimihinta taas kertoo, mikä on alin mahdollinen tai toivottava tarjoushinta. Käyttöliittymän säännöt sisältävä XML kertoo, tuleeko käyttöliittymän rajoittaa tuotteelle annettavaa hintaa minimihinnan perusteella.
Käyttöliittymä laskee kaikkien tuotteiden hinnat yhteen Yhteishinta-kenttään, ja tästä summasta myyjä voi antaa vielä prosenttialennuksen. Myyjä voi syöttää Alennus-kenttään alennusprosentin, joka vähennetään yhteishinnasta, ja sijoitetaan kokonaishinta-kenttään, joka on tarjouksen lopullinen hinta.
Ohjelman tulee toimia siten, ettei tietojen haun hitaus rajoita häiritsevästi ohjelman käyttöä vaan tarjousten tekeminen sujuu joustavasti.
Ohjelman tulee olla helppokäyttöinen. Ohjelman käyttö ei saa vaatia erityisiä tietokoneen käyttötaitoja. Virhetilanteista ohjelman tulee toipua ilman uudelleenkäynnistystä. Ohjelma sisältää Soneran sisäisiä tietoja, jotka ovat luottamuksellisia. Näin ollen ohjelman käyttö tulee tehdä mahdolliseksi vain tietyiltä koneilta. Jokainen myyjä käyttää ohjelmaa omalta koneeltaan. Lisäksi ohjelmaan kirjauduttaessa tulee antaa tunnistetiedot. Ohjelman tietokantaan talletettavien sekä tietokannasta luettavien tietojen varmuuskopiointi ei kuulu ohjelman tehtäviin vaan sen hoitavat tietokantojen ylläpitäjät.
Ohjelma toteutetaan niin, että se on helposti muunneltavissa erilaisille tuotteille sopivaksi. Tuote, asiakas ja myyjätiedot ovat muutettavissa tietokannasta jollakin ulkoisella liittymällä. Näiden muuttaminen ei kuitenkaan kuulu TAHKO:lle. Dokumenttien tyyliä ja tietosisältöä pystytään muuttamaan helposti muokkaamalla dokumenttien generointiin käytettäviä xsl-tyylitiedostoja sekä xml-tiedostoja.
Testauksesta laaditaan tarkempi kuvaus, kun ohjelman toteutustavat on suunniteltu tarkemmin. Samalla kuvataan toiminta virhetilanteiden sattuessa.
Monet asiat ovat riippuvaisia tietokantayhteydestä, joten niillä on samoja virhelähteitä liittyen tietokantaan, mm:
Virhesyötteet. Joka testikohdetta testataan siten että kaikkia kenttiä tulee testata kaikkien muiden kenttien saadessa sekä oikeellisia että virheellisiä arvoja. Testitapauksia tulee 2^(syötteiden lukumäärä) per testikohde.
Kuormitustestausta ei suoriteta.
Numerovirheet testataan myös, mikä saattaa tuntuakin itsestään selvältä, mutta ehkä se auttaa varmistamaan että niihin muistetaan varautua kunnolla ja osataan informoida niistä asianmukaisesti käyttäjälle.