Dokumentti | Verkkomaksut - projekti - Määrittelyt |
Versio / Päiväys | 0.90 92 / 303.45.2012 |
Päivitykset | 15.3.2012: Luotu dokumenttipohja |
1. Johdanto
Verkkomaksut Metropoliassa projekti on perustettu syksyllä 2011 kehittämään erilaisten maksujen keräämisen tietojärjestelmä Metropoliaan. Näitä maksuja ovat esimerkiksi:
...
Rooli | Henkilö |
---|---|
Laskutusjärjestelmän toimittajan asiantuntija | Anu Stenbacka, Aditro |
Rajapinnat ja palveluväylä | Lauri Viitanen !!! Puuttuva resurssi !!! |
Ohjelmointi | Simo Tiainen |
Palvelimet | Ronnie Lupari |
Käytettävyys | Tea Dickman |
Webmaster | Pekka Perälampi |
Projekti joutuu tilaamaan konsultointia talousautomaatioiden sekä ko. toimintoja varten tarvittavien rajapintojen rakentamista varten Metropolian taloushallinnon tietojärjestelmien toimittajalta (Aditro Oy). Lisäksi projekti voi tilata myös muilta toimijoita tarvittavaa konsultointia.
1.2
...
Kehitettävät tietojärjestelmät sekä niiden tietoliittymät muihin tietojärjestelmiin
Projektin tehtävänä on luoda määrittelyt sekä mahdolliset toteutukset seuraaviin tietojärjestelmiin:
...
Kuten jo edellä tässä määrittelydokumentissa on mainittu, järjestelmä on suunniteltu toteutettavaksi siten, että toiminnot jaetaan palveluväylän ja erillisen asiointisovelluksen kesken. Jako Jaon perusteena on seuraavat periaatteet:
...
Ohjelmistokokonaisuuden käyttöliittymät ja niihin liittyvät käyttöliittymien toiminnallisuuslogiikat on sijoitettu PHP-ohjelmistoon, joka voidaan käsittää koostuvan seuraavista kokonaisuukista:
- Sovellusalusta kerrosSovellusalustakerros:
- Asiointisovelluksen käyttöliittymät on suunniteltu toteutettavaksi PHP-ohjelmointikielellä. Lisäksi sovellusalustassa on tarkoitus käyttää Codeigniter PHP-sovelluskehystä, jonka toiminnallisuutta laajennetaan Metropolia-kohtaisilla laajennoksilla.
- Sovelluslogiikka kerrosSovelluslogiikkakerros:
- Sovellusalustan toiminnallisuuksien lisäksi tarvitaan käyttöliittymän toiminnallisuuksia varten sovelluslogiikkoja ja -luokkia.
- Käyttöliittymä kerrosKäyttöliittymäkerros:
- Varsinaiset käyttöliittymät tarvitsevat PHP:llä toteutettavien palvelintoimintojen tueksi myös asiakaspuolella ajettavia selaintoiminnallisuuksia. Nämä toteutetaan jQuery- ja jQueryUI-javascript-kirjastoilla, joiden käytöllä voidan turvata myös selainyhteensopivuus modernien internet-selaimien kanssa. Käyttöliittymien luomisessa käytetään myös HTML-kieltä , jonka käytössä kannattaa myös pyrkiä standardien noudattamiseenstandardien mukaisesti.
Metropoliassa ja myös OPI-projektissa palveluväylä toteutukset palveluväylätoteutukset on valittu toteutettaviksi Apache ServiceMixillä. Tämän vuoksi ohjelmistokokonaisuuden palveluväylään suunnitellut toiminnallisuudet toteutettaneen sekä Java-kielellä että Camel-toiminnallisuuksina. Maksu- ja tunnistustoiminnallisuuksien lisäksi on suunniteltu, että talousautomaatioon tarvittavat ohjelmistotoiminnallisuudet sijoitetaan palveluväylään.
...
Kuten edellä on jo eritelty, tekninen toteutus on jaettu kahteen osaa: asiointisovellukseen ja palveluväylään sijoitettuihin järjestelmäpalvelu toiminnallisuuksiin. Seuraavassa käydään läpi toimintojen tarkemmat määrittelyt.
4.1 Asiointipalvelu
Asiointipalvelu sivuston Asiointipalvelusivuston on tarkoitustoimia tarkoitus toimia loppukäyttäjille suunnattujen palveluiden koostosivustona. Sen tarkoituksena on tukea Metropolian intranet-palveluita ja internet-sivustoja tarjoamalla käyttöliittymät loppukäyttäjille suunnattuihin palveluihin.
...
| Käyttötapauksen kuvaus | Viittaus |
---|---|---|
1. | Käyttäjä kirjautuu asiointijärjestelmään ja valitsee omien tietojen muokkaus -toiminnon. |
|
2. | Käyttäjä tekee muokkaukset ja tallentaa ne. | T1 |
3. | Asiointisovellus lähettää muutokset palveluväylään, joka käsittelyn jälkeen tallentaa muutokset tai hylkää ne. | Määrittelyn kohta Palveluväylä toiminto: Asiakkaan muokkaus, T2 tai T3 |
4. | Palveluväylän palaute lähetetään asiointisovellukselle, joka näyttää palautteen käyttäjälle. | T4 |
...
| Käyttötapauksen kuvaus | Viittaus |
---|---|---|
1. | Käyttäjä käynnistää kirjautumisen linkin takaa. | |
2. | Käyttäjä valitsee kirjautumis tavankirjautumistavan: sähköpostiosoite, metropolia-tunnus tai kirjautuminen pankkitunnuksilla. | T1 TAI T2 TAI T3 |
3. | Palveluväylä käsittelee käyttäjän kirjautumisen käyttäjän antamien syötteiden perusteella. | T4 TAI T5 |
4. | Asiointisovellus käsittelee käyttäjän kirjautumisesta saadun vasteen ja näyttää tuloksen käyttäjälle. Onnistuneen kirjautumisen jälkeen käyttäjä on kirjautunut järjestelmään käyttäjätietojen sallimalla käyttäjätasolla. |
|
...
| Poikkeukset |
---|---|
P1 | Käyttäjää ei tunnisteta millään tunnistautumismenetelmällä: epäonnistunut kirjautuminen. |
P2 | Käyttäjä käyttää vahvaa tunnistautumista, mutta hänelle ei löydy käyttäjäprofiilia: käyttäjä siirretään automaattisesti rekisteröitymisprosessiin. ??? Tarvitseeko sen jälkeen tunnistautua uudelleen ??? |
| Muut vaatimukset |
---|---|
V1 |
|
| Käsittelysäännöt |
---|---|
K1 |
|
...
| Käyttötapauksen kuvaus | Viittaus |
---|---|---|
1. | Käyttäjä aloittaa käsittelymaksun maksamisen joko kirjautuneen tai kirjautumattomana. |
|
2. | Käyttäjältä kysytään tarvittavat tiedot käsittelymaksun suorittamiseksi. | T1 |
3. | Kun käsittelymaksu on valmis suoritettavaksi, käyttäjältä kysytään hänen haluamansa maksutapa. | T2 |
4. | Käyttäjä palautuu hyväksytyn tai hylätyn maksutapahtuman jälkeen asiointipalveluun ja hänelle näytetään maksaminen maksamisen lopputulos. | T3 |
| Tulokset |
---|---|
T1 | Maksukelpoinen käsittelymaksu |
T2 | Maksamisen ohjattu toiminto, kts. vastaava kohta määrittelyn käyttötapauksista. |
T3 | Palveluväylän palauttama maksutapahtuman lopputulos. |
...
| Poikkeukset |
---|---|
P1 | Käyttäjä ei ole kirjautunut: ei mahdollista suorittaa maksua. |
P2 | Maksaminen epäonnistuu: tietokantaan jää kesken jäänyt tapahtuma, mutta ao. toimeksiantotapahtumaa ei voi suorittaa loppuun. !!! Miten ratkotaan tämä tilanne? !!! |
| Muut vaatimukset |
---|---|
V1 |
|
| Käsittelysäännöt |
---|---|
K1 | Käyttäjä haluaa laskun opintomaksusta: käyttäjä ilmoittaa tästä erillisessä prosessissa. |
...
| Avoimet Asiat |
---|---|
A1 | Miten toimitaan poikkeus tapauksissapoikkeustapauksissa? (keskeytynyt maksutapahtuma, virheellinen palaute jne. |
...
| Avoimet Asiat |
---|---|
A1 | Miten toimitaan poikkeus tapauksissapoikkeustapauksissa? (keskeytynyt maksutapahtuma, virheellinen palaute jne. |
...
| Käyttötapauksen kuvaus | Viittaus | |
---|---|---|---|
1. |
| Taloushallinnon käyttäjä kirjautuu asiointijärjestelmään omilla tunnuksillaan. | T1 |
2. |
| Työntekijä valitsee toimintolistalta toiminnon "Maksujen seuranta". | T2 |
3. |
| Työntekijä voi selailla maksuja suoraan käyttöliittymästä. Työntekijä voi myös asettaa suodatuksen näkymälle. | T3 |
| Tulokset |
---|---|
T1 | Kirjautunut käyttäjä |
T2 | Suodattamaton seurantanäkymä. |
T3 | Käyttäjän välinnoilla suodatettu näkymä. |
| Poikkeukset | |
---|---|---|
P1 |
| P2 |
| |
---|---|
P3 |
|
| Muut vaatimukset |
V1 | V2 |
| ||
---|---|---|
V3 |
| |
| Käsittelysäännöt | |
K1 |
| K2 |
| K3 Avoimet Asiat |
|
---|
| Avoimet Asiat |
---|---|
A1 |
|
A2 |
|
A3 |
|
A1 | Mitkä tiedot voivat olla suodatustekijöitä? |
Käyttötiheys |
|
Muuta |
|
...
| Käyttötapauksen nimi |
---|---|
| Taloushallinnon toiminto: Maksettujen tapahtumien siirto IntimePlussaan |
...
| Käyttötapauksen nimi |
---|---|
| Ylläpitotoiminto: Lokien katselu |
Yleiskuvaus |
---|
Asiontijärjestelmän Asiointijärjestelmän pääkäyttäjillä ja ylläpitäjillä on käytössään käyttöliittymä, jolla pystyy tarkastelemaan järjestelmän lokeja. |
...
| Käyttötapauksen kuvaus | Viittaus | |
---|---|---|---|
1. |
| Pääkäyttäjä kirjautuu asiontijärjestelmään omilla tunnuksillaan. | T1 |
2. |
| Käyttäjä valitsee toimintolistalta toiminnon "Lokien katselu" | T2 |
3. |
| Käyttäjälle näytetään näkymä lokitapahtumiin. Näkymää voi suodattaa eri hakutekijöillä. | T3 |
| Tulokset |
---|---|
T1 | Kirjautunut käyttäjä |
T2 | Suodattamaton lokinäkymä. |
T3 | Käyttäjän valinnoilla suodatettu näkymä. |
| Poikkeukset | ||
---|---|---|---|
P1 |
| P2 | P3 |
|
| Muut vaatimukset |
---|---|---|
V1 | Suodatustekijä: ilmoitustyyppi | |
V2 | Suodatustekijä: päivämäärä | |
V3 | Suodatustekijä: käyttäjä |
| Käsittelysäännöt | |
---|---|---|
K1 |
| K2 |
| |
---|---|
K3 |
|
| Avoimet Asiat |
A1 | Mitkä muut tiedot voivat olla suodatustekijöitä? |
A2 |
|
A3 |
|
Näytetäänkö lokissa kaikkien asiointijärjestelmän lokitallennukset vai vain ao. asiointisovelluksen? |
Käyttötiheys |
|
Muuta |
|
...
| Käyttötapauksen nimi |
---|---|
| Ylläpitotoiminto: Järjestelmän ylläpitotilan hallinta |
...
Esitiedot/Ehdot | Asiointisovelluksella tulee olla käyttöoikeus palveluväylän toimintoon. |
| Käyttötapauksen kuvaus | Viittaus |
---|---|---|
1. | Asiointisovellus lähettää palveluväylään palvelukuvauksen mukaisen päivitys päivittävän xml-tiedoston käyttäjästä palveluväylään. | Määrittelyn kohta 4.2.2 |
2. | Palveluväylä käsittelee palvelupyynnön ja hyväksyy tai hylkää pyynnön. | Hyväksytty: kohta 3 / Hylätty: kohta 5. |
3. | Palveluväylä päivittää hyväksytyn pyynnön perusteella käyttäjän tiedot. | T1 |
4. | Tietojen päivityksestä lähetetään palaute asiointisovellukselle (xml-tiedosto) ja käyttäjän tiedot näytetään asiointisovellusta käyttävälle käyttäjälle. | T2 |
5. | Palveluväylä palauttaa asiointisovellukselle tiedon päivityksen hylkäyksestä ja välittää selväkielisen syyn päivityksen hylkäykseen. | T3 |
...
4.2.2 Toimintojen Webservice-rajapinnan kuvaukset
- eli palveluväylä toimintojen sekä talousautomaation paketointi muille sovelluksille sopivaksi !!! Määrittely kesken !!!
4.2.3 Maksu- ja tunnistustoiminnallisuuksien Vetuma-rajapintojen kuvaukset
...
4.2.4 Talousautomaation rajapinnan kuvaukset
- siirtotiedostokuvaukset: huom! määrämittaisia ASCII-tiedostoja
- muista laittaa suunnitelmiin tiedot, että mikä toiminnallisuus luo tiedon ja millaisella syklillä!
4.2.5 Tietomalli ja tietokanta
Jotta palveluväylä pystyy tarjoamaan asiointisovelluksille tarvittavat palvelut, ulkoisten toiminnallisten palveluiden lisäksi tarvitaan käsiteltävien tietojen tallentamiseksi tietokanta.
Talousautomaatio siirtotiedoston muodostus tekee ASCII-tekstitiedoston (ISO 8859-1 merkistö), jossa siirretään myyntitapahtumat Intime Plus järjestelmään määrämittaisella tiedostolla.
Tiedosto on määritelty seuraavissa tiedostokuvauksissa (Liitteenä. Ko. tiedostot sisältävät Aditron kanssa käydyissä määrittelypalavereissa tehdyt täydennykset ja korjaukset.):
Myyntitilaus-otsikko - palaverikorjaukset.pdf
Myyntitilauserän kuvaus - palaverikorjaukset.pdf
Myyntitilausrivin kuvaus - palaverikorjaukset.pdf
Tiedosto muodostuu siirtoriveistä, jotka ovat tilauskohtaisia. Rakenne menee seuraavasti:
Tilauksen ensimmäisenä tietueena on aina tilausotsikko. Seuraavina tulevat tilaukseen
kuuluvat toimituserät, joiden ensimmäisenä tietueena on toimituserätietue ja välittömästi
sen perässä ko. toimituserään kuuluvat tilausrivitietueet. Kaikkien tietueiden pituus on
oltava sama.
Käyttöönoton alkuvaiheessa siirtotiedosto muodostetaan manuaalisesti. Kun tekniikka on todettu toimivaksi, siirtotiedosto muodostetaan automaattisesti päivittäin klo 3.00 (aamuyöllä) edellisen päivän siirtokelpoisesta materiaalista.
Siirtotiedostoon tulee vain siirtokelpoinen ja sisällöltään tarkastukset läpäisevä materiaali.
4.2.5 Tietomalli ja tietokanta
Jotta palveluväylä pystyy tarjoamaan asiointisovelluksille tarvittavat palvelut, ulkoisten toiminnallisten palveluiden lisäksi tarvitaan käsiteltävien tietojen tallentamiseksi tietokanta.
Tietokanta on rakennettu siten, että on yritetty ottaa huomioon asiointitapahtumien tarpeet, käyttäjätarpeet sekä myös maksutapahtumien ja talousautomaation tarpeet. Lisäksi on yritetty ottaa huomioon joitakin tulevia tarpeita, kuten Avoimen Tietokanta on rakennettu siten, että on yritetty ottaa huomioon asiointitapahtumien tarpeet, käyttäjätarpeet sekä myös maksutapahtumien ja talousautomaation tarpeet. Lisäksi on yritetty ottaa huomioon joitakin tulevia tarpeita, kuten Avoimen ammattikorkeakoulun opintojakso osallistumisien myynti.
Tietokannan kehittäminen aloitettiin seuraavalla käsitekartalla. Käsitekartalla mietittiin tietoja ja niiden linkittymistä toisiinsa.
...
Tietokanta - Käsitekartta
...
linkittymistä toisiinsa.
...
Tietokanta - Käsitekartta
...
Käsitekartan luomisen jälkeen voitiin muodostaa seuraavat tietokanta taulut:
...
4.2.5.1 User-taulu: Käyttäjätiedot
...
Käyttäjien tiedot tallennetaan tähän tauluun.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | ID | Käyttäjätunniste | int | long | Uniikki, pakollinen, autoincrement |
| Käyttäjän juokseva tunniste. |
FK | FK_Person_PersonID | Person-taulun ID | int | long | Uniikki, pakollinen | Person-taulu, PersonID-kenttä | 1:1 viittaus Person-tauluun. Henkilöstä muodostuu yksi identiteetti kahden taulun tietojen perusteella. |
FK | FK_UserProfiles_ProfileName | UserProfiles-tauluun tallennettu profiilinimi | varchar | 20 | Pakollinen | UserProfiles-taulu, ProfileName-kenttä |
|
| MetropoliaID | Metropolia käyttäjätunnus | varchar | Tomilta tieto |
|
| Mikäli käyttäjällä on olemassa Metropolia tunnus, tunnus tallennetaan tähän kenttään. Kun käyttäjä tunnistetaan vahvasti, tämän tiedon vastine haetaan tunnistautumisen perusteella Ammeesta. |
| EmailAddress | Sähköpostiosoite | varchar | 100 |
|
| Käyttäjän ilmoittama sähköpostiosoite. Voidaan käyttää myös kirjautumistunnuksena |
| MetropoliaIDIsInUse | Metropolia-tunnus käytössä? | boolean |
| Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false. |
| Onko käyttäjän Metropolia tunnus kirjautumiskäytössä? Käytännössä CAS validoi käyttöoikeuden voimassaolon. |
| EmailIDIsInUse | Sähköpostitunnus käytössä? | boolean |
| Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false. |
| Onko käyttäjän sähköpostiosoite käytössä kirjautumiseen? |
| LastLogin | Viimeinen kirjautuminen | datetime |
|
|
| Milloin käyttäjä on kirjautunut viimeksi? |
| LastLoginIP | Viimeisen kirjautumisen IP-osoite | varchar | 15 |
|
| Mistä osoitteesta käyttäjä on viimeksi kirjautunut? |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? |
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
...
4.2.5.2 Person-taulu: Henkilötiedot
...
Käyttäjään liittyvän henkilön tiedot tallennetaan omaan tauluunsa. Tiedot on tallennettu 1:1 viittauksella, jolloin yhtä käyttäjätunnusta vastaa yksi henkilö.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | PersonID | Henkilötunniste | int | long | Uniikki, pakollinen, autoincrement |
| Henkilön juokseva tunniste. |
| CustomerID | Asiakasnumero | int | short | Uniikki |
| Henkilölle liitetty asiakasnumero. Sama kuin IntimePlussaan siirrettävä asiakasnumero |
| ID | Henkilötunnus | varchar | 11 | Uniikki, vain suomalaiset, vahvatunnistus | Henkilötunnuksen määritelmä | Tieto tallennetaan tietokantaan salattuna kehitystiimissä määritellyllä salausmenetelmällä. |
| StudentID | Opiskelijanumero | int / varchar | ? |
| Winha | Opiskelijanumero ilmeisesti Winhasta. Tietotyyppi pitää tarkistaa! |
| Surname | Sukunimi | varchar | Tomilta tieto | Pakollinen |
| Henkilön virallinen sukunimi. Tieto haetaan mieluiten virallisista tietolähteistä. |
| Firstnames | Etunimet | varchar | Tomilta tieto | Pakollinen |
| Henkilön viralliset etunimet. Tieto haetaan mieluiten virallisista tietolähteistä. |
| IsStrongIdentified | Vahva tunnistus suoritettu | boolean |
| Oletus: false |
| Onko käyttäjä tunnistettu vahvalla tunnistus menetelmällä? |
| Winha_TK_koodi | Winha-järjestelmän TK-koodi | varchar | Pituus Winhasta! |
| Winha | Winhassa käytössä oleva koulutusohjelman koodi, jolla opiskelija on kohdistettu koulutusohjelmalle. Tieto haetaan Ammeesta. |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko henkilö käytössä? |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? |
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
Avoimet kysymykset: tarvitaanko kutsumanimi-kenttä?
Miten käsitellään Winha_TK_koodin koodisto?
...
4.2.5.3 PersonAddress-taulu: Henkilön osoitetiedot
...
Henkilöön liittyvien osoitteiden tiedot tallennetaan omaan tauluunsa. Henkilölle voi olla liitettynä useampi kuin yksi osoite. Osoitteet eroitellaan toisistaan rooleina, esim. kotiosoite, työosoite, opiskelupaikan osoite jne.
Henkilön kotiosoite-tiedot pyritään täydentämään vahvan tunnistautumisen yhteydessä saatavan tiedon mukaiseksi.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
FK / PK | FK_Person_PersonID | Henkilön tunniste | int | long |
|
| Henkilön tunniste Person-taulusta |
PK | Address_Role | Osoitteen rooli | varchar | 25 |
| Määritelty rooliluokitus | Yllämainittu osoitteen rooliluokitus. |
| PostalAddress | Postiosoite | varchar | 100 |
|
| Postiosoite |
| PostCode | Postinumero | varchar | 10 |
|
| Postinumero |
| Municipality | Postitoimipaikka | varchar | 50 |
|
| Postitoimipaikka |
| Country | Maa | varchar | 50 |
|
| Maa |
| CompanyID | Y-tunnus | varchar | 15 |
| YTJ-tietojärjestelmän y-tunnus | Rooliin liitettävä mahdollisen yrityksen y-tunnus. |
| CompanyName | Yrityksen nimi | varchar | 50 |
|
| Rooliin liitettävän mahdollisen yrityksen virallinen nimi. |
| IsBillingAddress | Onko laskutusosoite? | boolean |
| Oletus: false |
| Onko tämä ao. osoite henkilön oletuslaskutusosoite? |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? |
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
Avoimet kysymykset: Hajoitetaanko AddressRole - kentän roolilista omaksi taulukseen vai vedätäänkö tieto kovakoodattuna?
Mitkä ovat tuetut roolit?Käsitekartan luomisen jälkeen voitiin muodostaa seuraavat tietokanta taulut:
4.2.5.
...
4 Product-taulu:
...
Tuote tiedot
Tämä taulu sisältää verkkomaksu-järjestelmän kautta myytävät tuotteet. Tuote tietojen taakse on myös liitetty tietoja talousautomaatiota varten. Tämän vuoksi osa taulun tiedoista kytkeytyy IntimePlus-järjestelmästä replikoituhin tietoihinKäyttäjien tiedot tallennetaan tähän tauluun.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | ID ProductID | Käyttäjätunniste Tuotetunnus | int | long | short | Uniikki, pakollinen, autoincrement |
| Käyttäjän juokseva tunniste. | |||||||
FK | FK_Person_PersonID | Person-taulun ID | int | long | Uniikki, pakollinen | Person-taulu, PersonID-kenttä | 1:1 viittaus Person-tauluun. Henkilöstä muodostuu yksi identiteetti kahden taulun tietojen perusteella. | ||||||||
| MetropoliaID | Metropolia käyttäjätunnus | varchar | Tomilta tieto |
|
| Mikäli käyttäjällä on olemassa Metropolia tunnus, tunnus tallennetaan tähän kenttään. Kun käyttäjä tunnistetaan vahvasti, tämän tiedon vastine haetaan tunnistautumisen perusteella Ammeesta. | ||||||||
| EmailAddress | Sähköpostiosoite | varchar | 100 |
|
| Käyttäjän ilmoittama sähköpostiosoite. Voidaan käyttää myös kirjautumistunnuksena | ||||||||
| MetropoliaIDIsInUse | Metropolia-tunnus käytössä? | boolean |
| Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false. |
| Onko käyttäjän Metropolia tunnus kirjautumiskäytössä? Käytännössä CAS validoi käyttöoikeuden voimassaolon. | ||||||||
| EmailIDIsInUse | Sähköpostitunnus käytössä? | boolean |
| Oletus: false Lisäksi, jos Person - IsInUse kenttä on false, niin tämäkin on false. |
| Onko käyttäjän sähköpostiosoite käytössä kirjautumiseen? | ||||||||
| LastLogin | Viimeinen kirjautuminen | datetime |
|
|
| Milloin käyttäjä on kirjautunut viimeksi? | ||||||||
Tuotteen kuvaava tunnus | |||||||||||||||
| ProductName | Tuotteen nimi | varchar |
|
|
| Tuotteen käyttöliittymissä näytettävä nimi. | ||||||||
FK | FK_IntimeProduct_IntimeProductID | Intime tuotetunnus | int | long |
| IntimeProduct-taulu - IntimeProductID-kenttä | IntimePlus tuotetunnus taulusta IntimeProduct. | ||||||||
FK | FK_IntimeProject_IntimeProjectID | Intime projektitunnus | int | long |
| IntimeProject-taulu - IntimeProjectID-kenttä | IntimePlus projektitunnus taulusta IntimeProject. | ||||||||
FK | FK_IntimeEducationProgram_IntimeEducationProgramID | Intime Koulutusohjelmatunnus | int | long |
| IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä | IntimePlus koulutusohjelmatunnus taulusta IntimeEducationProgram | ||||||||
FK? | EServiceProductType | Asiointi tuotetyyppi | varchar | 20 | Pakollinen |
| Millainen asiointipalvelu tuote on kyseessä? Tällä luokitellaan tuote esim. käsittelymaksuksi. | ||||||||
FK? | EServiceChannel | Asiointi palvelukanava | varchar | 20 | Pakollinen |
| Missä asiointipalvelu kanavassa tuotetta voi käyttää? Eli tällä voidaan erotella palveluväylän tuote johonkin tietyyn asiointisovellukseen. | ||||||||
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko tuote käytössä |
| LastLoginIP | Viimeisen kirjautumisen IP-osoite | varchar | 15 |
|
| Mistä osoitteesta käyttäjä on viimeksi kirjautunut? |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? | ||||||||
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
Avoimet kysymykset: pitäiskö tuo tuote taulukenttä nimi tehdä hieman geneerisemmäksi?
pitäiskö asiointipalvelutyypit / kanavat hajoittaa omaksi taulukseen?
4.2.5.
...
5 StudyImplementation-taulu: Opintojaksototeutus tiedot
Huom! Tätä taulua ei toteuteta tuotantoon projektin ensimmäisessä vaiheessa. Taulun tietosisältö on tällä hetkellä jatkokehityksen alla.
Taulu sisältää avoimen ammattikorkeakoulun asiointipalvelussa myytävien opintojaksototeutusten tiedot.Käyttäjään liittyvän henkilön tiedot tallennetaan omaan tauluunsa. Tiedot on tallennettu 1:1 viittauksella, jolloin yhtä käyttäjätunnusta vastaa yksi henkilö.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | ImplementationID | Opintojaksototeutuksen tunnus | varchar | Tieto Pepistä? | Pakollinen |
| Opintojakson toteutuksen tunnus. Otetaan siitä järjestelmästä, joka on toteutuksien lähdejärjestelmä. | ||||||||
FK | FK_Product_ProductID | Asiointituote tunnus | int | long | Pakollinen | Product-taulu - ProductID-kenttä |
| ||||||||
FK | FK_IntimeEducationProgram_EducationProgramID | Intime Koulutusohjelmatunnus | PersonID | Henkilötunniste | int | long | Pakollinen | IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä |
| ||||||
| StudyUnitName | Opintojakson nimi | varchar | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä | Uniikki, pakollinen, autoincrement |
| Henkilön juokseva tunniste. | ||||||
| CustomerID StudyUnitDescription | Asiakasnumero Opintojakson kuvaus | int varchar | short Pakollinen | Uniikki | Henkilölle | liitetty asiakasnumero. Sama kuin IntimePlussaan siirrettävä asiakasnumero Tiedot edellä mainitusta lähdejärjestelmästä. | ||||||||
| ID StudyUnitWWWInfoPage Henkilötunnus | Linkki ulkoisiin tietoihin | varchar | 11 | Uniikki, vain suomalaiset, vahvatunnistus | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä. Henkilötunnuksen määritelmä | |||||||
| StudentID ImplementationStartTime | Opiskelijanumero | int / varchar | Toteutuksen aloitus päivämäärä | date | Pakollinen ? |
| Winha | Opiskelijanumero ilmeisesti Winhasta. Tietotyyppi pitää tarkistaa! Tiedot edellä mainitusta lähdejärjestelmästä. | ||||||
| Surname ImplementationEndTime Sukunimi | Toteutuksen päättymis päivämäärä | varchar date | Tomilta tieto | Pakollinen | Henkilön | virallinen sukunimi. Tieto haetaan mieluiten virallisista tietolähteistä. Tiedot edellä mainitusta lähdejärjestelmästä. | ||||||||
| Firstnames MinimumSeats | Etunimet Paikkoja vähintään | varchar int | short Tomilta tieto | Pakollinen | Henkilön | viralliset etunimet. Tieto haetaan mieluiten virallisista tietolähteistä Tiedot edellä mainitusta lähdejärjestelmästä. | ||||||||
| IsStrongIdentified | Vahva tunnistus suoritettu | boolean |
| Oletus: false |
| Onko käyttäjä tunnistettu vahvalla tunnistus menetelmällä? | MaximumSeats | Paikkoja enintään | int | short |
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | |
| FreeSeats | Paikkoja vapaana | int | short |
|
| Laskennallinen tieto, joka päivittyy tehtyjen myyntien perusteella. |
| Winha_TK_koodi | Winha-järjestelmän TK-koodi | varchar | Pituus Winhasta! |
| Winha | Winhassa käytössä oleva koulutusohjelman koodi, jolla opiskelija on kohdistettu koulutusohjelmalle. Tieto haetaan Ammeesta. |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko henkilö käytössä? toteutus käytössä? Voimassa vain kun InternetPublish on voimassa, eli tietoa voidaan käyttää jonkun toteutuksen ilmoittautumisten väliaikaiseen keskeyttämiseen. | ||||||||
| InternetPublishStart | Internet julkaisu alkaa | datetime |
|
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | ||||||||
| InternetPublishEnd | Internet julkaisu päättyy | datetime |
|
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | ||||||||
|
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? | |||||||
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
Avoimet kysymykset: tarvitaanko kutsumanimi-kenttä?
Miten käsitellään Winha_TK_koodin koodisto?
Tarvitaanko joku toinen mekanismi toteutuksilla olevien vapaiden paikkojen hallintaan?
Mistä nämä tiedot tuotetaan? Verkkomaksu/Asiointi järjestelmään ei olla lisäämässä käyttöliittymiä näiden tietojen syöttämistä varten!
Tarkastettavat tiedot:
Intime avaintietojen tietotyypit.
4.2.5.
...
6 Assignment-taulu:
...
Toimeksianto-taulu
Maksun sisältävän asiointitapahtumien tiedot tallennetaan toimeksiantoina. Toimeksianto tiedot pitävät sisällään tarvittavat tiedot yhden asiointitapahtuman käsittelyyn. Toimeksianto voi sisältää useamman toimeksiantorivin, jotka tallennetaan omaan tauluunsa.
Henkilöön liittyvien osoitteiden tiedot tallennetaan omaan tauluunsa. Henkilölle voi olla liitettynä useampi kuin yksi osoite. Osoitteet eroitellaan toisistaan rooleina, esim. kotiosoite, työosoite, opiskelupaikan osoite jne.
Henkilön kotiosoite-tiedot pyritään täydentämään vahvan tunnistautumisen yhteydessä saatavan tiedon mukaiseksi.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |
---|---|---|---|---|---|---|---|---|
FK / PK | FK_Person_PersonID | AssignmentID | Toimeksiantotunnus Henkilön tunniste | int | long | Pakollinen, Uniikki, Autoincrement |
| Henkilön tunniste Person-taulusta |
PK | Address_Role | Osoitteen rooli | varchar | 25 |
| Määritelty rooliluokitus | Yllämainittu osoitteen rooliluokitus. | |
| PostalAddress | Postiosoite | varchar | 100 |
|
| Postiosoite | |
| PostCode | Postinumero | varchar | 10 |
|
| Postinumero | |
| Municipality | Postitoimipaikka | varchar | 50 |
|
| Postitoimipaikka | |
| Country | Maa | varchar | 50 |
|
| Maa | |
| CompanyID | Y-tunnus | varchar | 15 |
| YTJ-tietojärjestelmän y-tunnus | Rooliin liitettävä mahdollisen yrityksen y-tunnus. | |
| CompanyName | Yrityksen nimi | varchar | 50 |
|
| Rooliin liitettävän mahdollisen yrityksen virallinen nimi. | |
| IsBillingAddress | Onko laskutusosoite? | boolean |
| Oletus: false |
| Onko tämä ao. osoite henkilön oletuslaskutusosoite? | |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? | |
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
Avoimet kysymykset: Hajoitetaanko AddressRole - kentän roolilista omaksi taulukseen vai vedätäänkö tieto kovakoodattuna?
Mitkä ovat tuetut roolit?
...
4.2.5.4 Product-taulu: Tuote tiedot
...
Tämä taulu sisältää verkkomaksu-järjestelmän kautta myytävät tuotteet. Tuote tietojen taakse on myös liitetty tietoja talousautomaatiota varten. Tämän vuoksi osa taulun tiedoista kytkeytyy IntimePlus-järjestelmästä replikoituhin tietoihin.
OrderID | Tilausnumero | int | long | Pakollinen |
|
| |
| CreatedFromBasket | Luotu poimintakorista | int | long |
|
|
|
| AssignmentDate | Perustettu | date |
| Pakollinen |
|
|
| ValidTill | Voimassaoloajan päättyminen | datetime |
|
|
|
|
FK | FK_Person_CustomerID | Henkilö | int | long | Pakollinen | Person-taulu - CustomerID-kenttä |
|
| EServiceChannel | Asiontikanava | varchar | 25 | Pakollinen |
|
|
| Hashtag | Yksilöllinen tunniste | varchar | 32 | Pakollinen |
|
|
| State | Käsittelyn tila | varchar | 25 | Pakollinen |
|
|
| HandlingMethod | Käsittelytapa | int | short | Pakollinen |
| !!! Missä määritellään käsittelytapojen koodit? !!! |
| ReferenceID | Pankkiviite | varchar | 50 | Pakollinen |
| SEPA-standardin mukaan varataan tilaa, tosin aluksi tuetaan suomalaista. |
| TermOfPayment | Maksuehto | int | short | Pakollinen |
|
|
| TotalPayable | Loppusumma | double | 10,2 | Pakollinen |
|
|
| TransactionDate | Tapahtumapäivä | datetime |
|
|
|
|
| TransactionReturnStatus | Tapahtuman paluuvaste | varchar | 100 |
|
| !!! Tarkistetaan Vetuma-spekseistä. !!! |
| TransactionArchiveID | Tapahtuman arkistointitunnus | varchar | 50 |
|
| !!! Tarkistetaan Vetuma-spekseistä. !!! |
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | ProductID | Tuotetunnus | int | short |
|
| Tuotteen kuvaava tunnus |
| ProductName | Tuotteen nimi | varchar |
|
|
| Tuotteen käyttöliittymissä näytettävä nimi. |
FK | FK_IntimeProduct_IntimeProductID | Intime tuotetunnus | int | long |
| IntimeProduct-taulu - IntimeProductID-kenttä | IntimePlus tuotetunnus taulusta IntimeProduct. |
FK | FK_IntimeProject_IntimeProjectID | Intime projektitunnus | int | long |
| IntimeProject-taulu - IntimeProjectID-kenttä | IntimePlus projektitunnus taulusta IntimeProject. |
FK | FK_IntimeEducationProgram_IntimeEducationProgramID | Intime Koulutusohjelmatunnus | int | long |
| IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä | IntimePlus koulutusohjelmatunnus taulusta IntimeEducationProgram |
FK? | EServiceProductType | Asiointi tuotetyyppi | varchar | 20 | Pakollinen |
| Millainen asiointipalvelu tuote on kyseessä? Tällä luokitellaan tuote esim. käsittelymaksuksi. |
FK? | EServiceChannel | Asiointi palvelukanava | varchar | 20 | Pakollinen |
| Missä asiointipalvelu kanavassa tuotetta voi käyttää? Eli tällä voidaan erotella palveluväylän tuote johonkin tietyyn asiointisovellukseen. |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko tuote toimeksianto käytössä? Voidaan käyttää toimeksiannon pakkosulkuun. |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? |
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
...
viimeksi päivittänyt tietuetta? | |||||||
| IntimeTransferStatus | Intime siirron tila | varchar | 25 | Pakollinen |
| !!! Siirron tilojen koodit? !!! Kesken, Valmis, Odottaa siirtoa, Siirretty, Ei siirretä |
Tarkastettavaa:
- vetuma-speksista tietuekuvauksia
- siirron tilakoodit, että vastaa tarvittavia siirtotiloja
4.2.5.
...
7 AssignmentRow-taulu:
...
Toimeksiantorivi-taulu
Toimeksiannot sisältävät useamman rivin, jotta yhdellä toimeksiannolla voidaan käsitellä useampaa kuin vain yhtä tuotetta kerrallaan (esim. avoimen opintojakso toteutuksia). Tietojen tulee olla aina tosiaikaista tilannetta vastaavia siihen saakka kunnes toimeksianto siirtyy maksuvaiheeseen, jolloin rivien tilanne jäädytetään, eli rivejä ei voi enää lisätä, poistaa tai muuttaa
Huom! Tätä taulua ei toteuteta tuotantoon projektin ensimmäisessä vaiheessa. Taulun tietosisältö on tällä hetkellä jatkokehityksen alla.
Taulu sisältää avoimen ammattikorkeakoulun asiointipalvelussa myytävien opintojaksototeutusten tiedot.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | ImplementationID | Opintojaksototeutuksen tunnus | varchar | Tieto Pepistä? | Pakollinen |
| Opintojakson toteutuksen tunnus. Otetaan siitä järjestelmästä, joka on toteutuksien lähdejärjestelmä. | |||||||||||||||||||||||||||||||||||
Huomautukset | ||||||||||||||||||||||||||||||||||||||||||
PK | AssignmentRowID | Toimeksiantorivin | FK | FK_Product_ProductID | Asiointituote tunnus | int | long | Pakollinen, Uniikki, Autoincrement | Product-taulu - ProductID-kenttä |
| ||||||||||||||||||||||||||||||||
FK | FK_IntimeEducationProgramAssignment_EducationProgramID AssignmentID | Toimeksiantotunnus Intime Koulutusohjelmatunnus | int | long | Pakollinen | IntimeEducationProgram Assignment-taulu - IntimeEducationProgramIDAssingmentID-kenttä |
|
| StudyUnitName | Opintojakson nimi | varchar | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä. |
| StudyUnitDescription | Opintojakson kuvaus | varchar | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä. |
| StudyUnitWWWInfoPage | Linkki ulkoisiin tietoihin | varchar | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä. |
| ImplementationStartTime | Toteutuksen aloitus päivämäärä | date | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä. |
| ImplementationEndTime | Toteutuksen päättymis päivämäärä | date | Pakollinen |
| Tiedot edellä mainitusta lähdejärjestelmästä. |
| MinimumSeats | Paikkoja vähintään | int | short |
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | |||||||||||||||||||||||||||||||||||
| MaximumSeats | Paikkoja enintään | int | short |
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | |||||||||||||||||||||||||||||||||||
| FreeSeats | Paikkoja vapaana | int | short |
|
| Laskennallinen tieto, joka päivittyy tehtyjen myyntien perusteella. | |||||||||||||||||||||||||||||||||||
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko toteutus käytössä? Voimassa vain kun InternetPublish on voimassa, eli tietoa voidaan käyttää jonkun toteutuksen ilmoittautumisten väliaikaiseen keskeyttämiseen. | |||||||||||||||||||||||||||||||||||
| InternetPublishStart | Internet julkaisu alkaa | datetime |
|
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | |||||||||||||||||||||||||||||||||||
| InternetPublishEnd | Internet julkaisu päättyy | datetime |
|
|
| Tiedot edellä mainitusta lähdejärjestelmästä. | |||||||||||||||||||||||||||||||||||
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? | |||||||||||||||||||||||||||||||||||
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? |
Avoimet kysymykset: Tarvitaanko joku toinen mekanismi toteutuksilla olevien vapaiden paikkojen hallintaan?
Mistä nämä tiedot tuotetaan? Verkkomaksu/Asiointi järjestelmään ei olla lisäämässä käyttöliittymiä näiden tietojen syöttämistä varten!
Tarkastettavat tiedot:
Intime avaintietojen tietotyypit.
...
4.2.5.6 Assignment-taulu: Toimeksianto-taulu
...
FK | FK_Product_ProductID | Tuotetunnus | int | long | Pakollinen | Product-taulu - ProductID-kenttä |
|
FK | FK_StudyImplementation_StudyImplementationID | Opintojaksotunnus | varchar | Tieto Pepistä? |
| StudyImplementation-taulu - StudyImplementation-kenttä |
|
FK | FK_IntimeEducationProgram_IntimeEducationProgramID | Intime Koulutusohjelma | int | long | IntimeEducationProgram-taulu - IntimeEducationProgramID-kenttä |
| |
| Amount | Määrä | double | 6,2 | Pakollinen |
| Myyty määrä. |
| RowPrice | Rivihinta | double | 6,2 (intime määritys) | Pakollinen |
| Myyntihetken rivihinta. |
| RowTotal | Rivi yhteensä | double | 10,2 | Pakollinen |
| RowTotal = Amount * RowPrice, Myyntihetken arvoilla laskettuna! |
| IntimeProjectID | Intime projektinumero | int | short | Pakollinen |
| Pitäisikö tämä olla FK_IntimeProject_IntimeProjectID |
| ProductName | Tuotenimi | varchar | 200 | Pakollinen |
| Myydyn tuotteen nimi. Voidaan yhdistellä eri tiedoista, sillä tuotteen nimi voi muuttua, mutta myydyn tuotteen nimi tulee tallentaa tietokantaan. Eli esim.: haetaan nimitieto ensin tuotetaulusta ja lisäksi jos on määritelty opintojaksototeutustieto, niin täydennetään tietoa myös opintojakson toteutuksen nimellä. |
Avoimet kysymykset:
- Intime projektitunnuksen käyttö
...
4.2.5.8 Log-taulu: Loki-taulu
...
Järjestelmä tallentaa suorituista tapahtumista tietoa lokiin. Lokiin tallennettua tietoa näytetään pää- ja ylläpitokäyttäjille Lokin katselu käyttöliittymällä.
Huom! Tämä taulu on olemassa niin asiointijärjestelmässä kuin palveluväylässä. Molemmat järjestelmät käyttävät kuitenkin omaa lokiaan. Palveluväylä tarjoaa asiointisovellukselle oman lokinsa käyttöön tietojen näyttämistä vartenMaksun sisältävän asiointitapahtumien tiedot tallennetaan toimeksiantoina. Toimeksianto tiedot pitävät sisällään tarvittavat tiedot yhden asiointitapahtuman käsittelyyn. Toimeksianto voi sisältää useamman toimeksiantorivin, jotka tallennetaan omaan tauluunsa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
PK | LogID AssignmentID | Tapahtumatunnus Toimeksiantotunnus | int | long | Pakollinen, Uniikki, Autoincrement |
|
| ||||
PK | Time OrderID | Tapahtuma-aika | datetime int | long | Pakollinen, |
|
|
| CreatedFromBasket | Luotu poimintakorista | Aikaleima joka generoidaan automaattisesti kun tietue lisätään. |
FK | FK_User_ID | Käyttäjätunnus | integer int | long |
|
|
| ||||
| AssignmentDate | Perustettu | date |
| Pakollinen |
|
| ||||
| ValidTill | Voimassaoloajan päättyminen | datetime |
|
|
|
| ||||
FK | FK_Person_CustomerID | Henkilö | int | long | Pakollinen | Person-taulu - CustomerID-kenttä |
| ||||
User-taulu - ID-kenttä | Jos on tiedossa käyttäjä, jolla virhe tapahtuu, niin kirjataan tieto. Huom! Myös kirjautumatomalla käyttäjällä voi tapahtua virheitä. | ||||||||||
| Module | Ohjelmamoduli | varchar | 100 | Pakollinen |
| Virheen havainnut ohjelmamoduli tallettaa | ||||
| ErrorLevel | Virhetaso |
| EServiceChannel | Asiontikanava | varchar | 25 | Pakollinen |
| Tasot: Debug, Info, Warning, Security, Fatal. | |
| ErrorDescription Hashtag | Virhekuvaus Yksilöllinen tunniste | varchar | 1000 32 | Pakollinen |
|
| ||||
| State | Käsittelyn tila | varchar | 25 | Pakollinen |
|
| ||||
| HandlingMethod | Käsittelytapa | int | short | Pakollinen |
| !!! Missä määritellään käsittelytapojen koodit? !!! | ||||
| ReferenceID | Pankkiviite | varchar | 50 | Pakollinen |
| SEPA-standardin mukaan varataan tilaa, tosin aluksi tuetaan suomalaista. | ||||
...
4.2.5.9 UserProfiles-taulu: Käyttäjäprofiilitaulu
...
Asiointipalveluiden käyttäjälle tulee asettaa asiontijärjestelmän käyttäjäprofiili, joka määritellään tähän tauluun.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | ProfileName | Käyttäjäprofiili | string | 20 | Uniikki, pakollinen |
|
| ||||||
| IsNormalUser | On normaalikäyttäjä | boolean |
|
|
|
| ||||||
| IsAdmissionOfficeUser | On hakutoimistokäyttäjä | boolean |
|
|
| TermOfPayment | Maksuehto | int | short | Pakollinen |
|
|
| IsStudentServicesUser TotalPayable | On opintotoimistokäyttäjä Loppusumma | boolean double | 10,2 | Pakollinen |
|
| ||||||
| IsFinancialUser TransactionDate | On taloushallintokäyttäjä Tapahtumapäivä | boolean datetime |
|
|
|
| ||||||
| IsAdminUser TransactionReturnStatus | On pääkäyttäjä Tapahtuman paluuvaste | boolean varchar | 100 |
|
| !!! Tarkistetaan Vetuma-spekseistä. !!! | ||||||
| IsSysAdminUser TransactionArchiveID | On ylläpitokäyttäjä Tapahtuman arkistointitunnus | boolean varchar | 50 |
|
| !!! Tarkistetaan Vetuma-spekseistä. !!! | ||||||
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko toimeksianto profiili käytössä? Voidaan käyttää toimeksiannon pakkosulkuun. | ||||||
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Milloin tietuetta on viimeksi päivitetty? | ||||||
| UpdateBy | Viimeisin päivittäjä | varchar | Tomilta tieto | Pakollinen | User-taulu - ID-kenttä | Kuka käyttäjä on viimeksi päivittänyt tietuetta? | ||||||
| IntimeTransferStatus | Intime siirron tila | varchar | 25 | Pakollinen |
| !!! Siirron tilojen koodit? !!! Kesken, Valmis, Odottaa siirtoa, Siirretty, Ei siirretä |
Tarkastettavaa:
...
...
4.2.5.
...
Basket-taulu:
...
Poimintakori-taulu
Poimintakoriin kerätään käyttäjän tekemät poiminnat ennen maksutapahtumaa. Kun käyttäjä on valmis siirtymään varsnaiseen ostostapahtumaan, siirretään tiedot toimeksiantoon käsiteltäväksi. Poimintakori voi sisältää usemman kuin yhden rivin.
Joissakin asiontitapauksissa ei ole pakko käyttää poimintakoria, kuten käsittelymaksun suorittamisessaToimeksiannot sisältävät useamman rivin, jotta yhdellä toimeksiannolla voidaan käsitellä useampaa kuin vain yhtä tuotetta kerrallaan (esim. avoimen opintojakso toteutuksia). Tietojen tulee olla aina tosiaikaista tilannetta vastaavia siihen saakka kunnes toimeksianto siirtyy maksuvaiheeseen, jolloin rivien tilanne jäädytetään, eli rivejä ei voi enää lisätä, poistaa tai muuttaa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | BasketID AssignmentRowID | Korintunnus Toimeksiantorivin tunnus | int | long | Pakollinen, Uniikki, Autoincrement |
|
| FK | FK_Assignment_AssignmentID | Toimeksiantotunnus | int | long | Pakollinen | Assignment-taulu - AssingmentID-kenttä |
| ||||||||||||||
FK | FK_Product_ProductID | Tuotetunnus | int | long | Pakollinen | Product-taulu - ProductID-kenttä |
| |||||||
SessionID | Istunnontunnus | varchar | 100 | Pakollinen |
| Käyttäjän käynnistämän www-palvelin istunnon yksilöllinen tunniste. | FK | FK_StudyImplementation_StudyImplementationID | Opintojaksotunnus | varchar | Tieto Pepistä? |
| StudyImplementation-taulu - StudyImplementation-kenttä | |
FK | FK_IntimeEducationProgramPerson_IntimeEducationProgramID PersonID | Henkilön ID Intime Koulutusohjelma | int |
| long | IntimeEducationProgram Person-taulu - IntimeEducationProgramIDPersonID-kenttä |
| |||||||
| Expires Amount | Korin vanhenemis hetki | datetime double | 6,2 | Pakollinen | Myyty | määrä Ajan hetki, jonka jälkeen koria ei voi enää käyttää. | |||||||
| RowPrice | Rivihinta | double | 6,2 (intime määritys) | Pakollinen |
| Myyntihetken rivihinta. | |||||||
| RowTotal | Rivi yhteensä | double | 10,2 | Pakollinen |
| RowTotal = Amount * RowPrice, Myyntihetken arvoilla laskettuna! | |||||||
| IntimeProjectID | Intime projektinumero | int | short | Pakollinen |
| Pitäisikö tämä olla FK_IntimeProject_IntimeProjectID | |||||||
| ProductName | Tuotenimi | varchar | 200 | Pakollinen |
| Myydyn tuotteen nimi. Voidaan yhdistellä eri tiedoista, sillä tuotteen nimi voi muuttua, mutta myydyn tuotteen nimi tulee tallentaa tietokantaan. Eli esim.: haetaan nimitieto ensin tuotetaulusta ja lisäksi jos on määritelty opintojaksototeutustieto, niin täydennetään tietoa myös opintojakson toteutuksen nimellä. |
Avoimet kysymykset:
- Intime projektitunnuksen käyttö
...
4.2.5.8 Basket-taulu: Poimintakori-taulu
...
Poimintakoriin kerätään käyttäjän tekemät poiminnat ennen maksutapahtumaa. Kun käyttäjä on valmis siirtymään varsnaiseen ostostapahtumaan, siirretään tiedot toimeksiantoon käsiteltäväksi. Poimintakori voi sisältää usemman kuin yhden rivin.
LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Ajan hetki, jolloin tietuetta on viimeksi päivitetty. |
...
4.2.5. BasketRow-taulu: Poimintakoririvi-taulu
...
Poimintakorin rivit tallennetaan tähän tauluun.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | RowID | Rivi tunniste | int | long | Pakollinen |
|
|
FK | FK_Basket_BasketID | Korin tunniste | int | long | Pakollinen | Basket-taulu - BasketID-kenttä |
|
FK | FK_Product_ProductID | Poimitun tuotteen tunniste | int | long | Pakollinen | Product-taulu - ProductID-kenttä |
|
FK | FK_StudyImplementation_StudyImplementationID | Poimitun opintojaksototeutuksen tunniste | int | long |
| StudyImplementation-taulu - StudyImplementationID-kenttä |
|
| Amount | Poimittu määrä | double | 6,2 | Pakollinen |
|
|
...
4.2.5.10 IntimeProduct-taulu: IntimePlus-järjestelmästä replikoidut tuotteet
...
IntimePlus järjestelmästä replikoitua tietoaJoissakin asiontitapauksissa ei ole pakko käyttää poimintakoria, kuten käsittelymaksun suorittamisessa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||
---|---|---|---|---|---|---|---|---|---|
PK | IntimeProductID BasketID | Intimen tuotenumero Korintunnus | Tarkistetaan int | Tarkistetaan long | Pakollinen, Uniikki, Autoincrement |
| Pakollinen | IntimePlus - järjestelmä, tuotenumero | Tieto replikoidaan Intimestä! |
| ProductName SessionID | Intime tuotenimi Istunnontunnus | varchar | Tarkistetaan 100 | Pakollinen |
| Käyttäjän käynnistämän www-palvelin istunnon yksilöllinen tunniste. | ||
FK | FK_Person_PersonID | Henkilön ID | int |
|
| Person-taulu - PersonID-kenttä |
| ||
| Expires | Korin vanhenemis hetki | datetime |
| Pakollinen |
| Ajan hetki, jonka jälkeen koria ei voi enää käyttää. |
| LastUpdate | Viimeisin päivitys | datetime |
| Pakollinen |
| Ajan hetki, jolloin tietuetta on viimeksi päivitetty.
IntimePlus - järjestelmä, tuotenimi | Tieto replikoidaan Intimestä! | ||||||||
| SalePrice | Intime myyntihinta | double | 6,2 | Pakollinen | IntimePlus - järjestelmä, tuotehinta | Tieto replikoidaan Intimestä! | ||
| SaleUnit | Intime myyntiyksikkö | varchar | 10 | Pakollinen | IntimePlus - järjestelmä, tuotteen myyntiyksikkö | Tieto replikoidaan Intimestä! | ||
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko tuote käytössä? |
Avoimet kysymykset:
- intimeplussan tietotyypit ja tietuepituudet
4.2.5.
...
11 IntimeProject-taulu:
...
IntimePlus-
...
järjestelmästä replikoidut projektit
IntimePlus järjestelmästä replikoitua tietoaPoimintakorin rivit tallennetaan tähän tauluun.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | RowID | Rivi tunniste | int | long | Pakollinen |
|
|
FK | FK_Basket_BasketID | Korin tunniste | int | long | Pakollinen | Basket-taulu - BasketID-kenttä |
|
FK | FK_Product_ProductID | Poimitun tuotteen tunniste | int | long | Pakollinen | Product-taulu - ProductID-kenttä |
|
FK | FK_StudyImplementation_StudyImplementationID | Poimitun opintojaksototeutuksen tunniste | int | long |
| StudyImplementation-taulu - StudyImplementationID-kenttä |
|
| Amount | Poimittu määrä | double | 6,2 | Pakollinen |
|
IntimeProjectID | Intime projektinumero | Tarkistetaan | Tarkistetaan | Uniikki, Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! | |
| ProjectName | Intime projektinimi | varchar | 100 | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko projekti käytössä? |
Avoimet kysymykset:
- intimeplussan tietotyypit ja tietuepituudet
...
4.2.5.12 IntimeEducationProgram-taulu: IntimePlus-järjestelmästä replikoidut koulutusohjelmat
...
IntimePlus järjestelmästä replikoitua tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | IntimeEducationProgramID | Intime koulutusohjelma | Tarkistetaan | Tarkistetaan | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| EducationProgramName | Intime koulutusohjelman nimi | varchar | 100 | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko koulutusohjelma käytössä? |
Avoimet kysymykset:
- intimeplussan tietotyypit ja tietuepituudet
4.2.5.
...
13 Vetuma-asetukset
Huom! Vaikka tämä taulu on kuvattu tietokantatauluna, niin tieto tallennetaan todennäköisesti xml-tiedostona.
Järjestelmissä ei ole käyttöliittymää näiden tietojen muokkaukseen!
IntimePlus järjestelmästä replikoitua tietoa.
...
Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Root | VetumaProfiles | VetumaProfiilit |
|
|
|
|
| |||||
Taso + | Profile | Profiili taso | taso |
|
|
| Profiilit | |||||
+ | ProfileName | Profiili nimi | string |
| PK | IntimeProductID | Intimen tuotenumero | Tarkistetaan | Tarkistetaan | Uniikki, Pakollinen | IntimePlus - järjestelmä, tuotenumero | Tieto replikoidaan Intimestä! |
| ProductName | Intime tuotenimi | varchar | Tarkistetaan | Pakollinen | IntimePlus - järjestelmä, tuotenimi | Tieto replikoidaan Intimestä! | |||||
| SalePrice | Intime myyntihinta | double | 6,2 | Pakollinen | IntimePlus - järjestelmä, tuotehinta | Tieto replikoidaan Intimestä! | |||||
| SaleUnit | Intime myyntiyksikkö | varchar | 10 | Pakollinen | IntimePlus - järjestelmä, tuotteen myyntiyksikkö | Tieto replikoidaan Intimestä! | |||||
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko tuote käytössä? |
Avoimet kysymykset:
...
|
| ||||||
+ | RCVID | Salaisuuden tunnus | string | 5 - 15 |
|
| Vetuma: Kutsun suojauksessa käytetyn jaetun salaisuuden tunnus |
+ | APPID | Asiointisovelluksen tunnus | string | 5 - 15 |
|
| Vetuma: VETUMA-palvelua kutsuvan asiontisovelluksen tunnus |
+ | APPNAME | Sovelluksen nimi | string | 40 |
|
| Vetuma: Kutsuvan sovelluksen nimi käyttöliittymää varten |
Taso ++ | Apconf | Apconf-taso | taso |
|
|
| Asiakaskonfiguraatiot |
++ | ConfId | Apconf-tunnus | string |
|
|
| Asiakaskonfiguraatiolle määritelty tunnus palveluväylää varten. |
++ | +AP | Konfiguraatiotunnus | string | 5 - 15 |
|
| Vetuma: Kutsun palvelemisessa käytettävän VETUMA-asiakaskonfiguraation tunnus. |
4.2.5.
...
14 Asiointikanavat
Huom! Vaikka tämä taulu on kuvattu tietokantatauluna, niin tieto tallennetaan todennäköisesti xml-tiedostona.
Järjestelmissä ei ole käyttöliittymää näiden tietojen muokkaukseen!
IntimePlus järjestelmästä replikoitua tietoa.
...
Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |
---|---|---|---|---|---|---|---|
Root PK | IntimeProjectID | Intime projektinumero | Tarkistetaan | Tarkistetaan | Uniikki, Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| ProjectName | Intime projektinimi | varchar | 100 | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko projekti käytössä? |
Avoimet kysymykset:
- intimeplussan tietotyypit ja tietuepituudet
...
4.2.5.12 IntimeEducationProgram-taulu: IntimePlus-järjestelmästä replikoidut koulutusohjelmat
...
IntimePlus järjestelmästä replikoitua tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
PK | IntimeEducationProgramID | Intime koulutusohjelma | Tarkistetaan | Tarkistetaan | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| EducationProgramName | Intime koulutusohjelman nimi | varchar | 100 | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko koulutusohjelma käytössä? |
Avoimet kysymykset:
- intimeplussan tietotyypit ja tietuepituudet
...
Puuttuvat taulut:
...
EServiceChannel | Asiointikanavat |
|
|
|
|
| |
Taso + | Channel | Kanava taso | taso |
|
|
|
|
+ | ChannelName | Kanavan nimi | string |
| Uniikki, Pakollinen |
|
|
+ | ChannelAppId | Kanavan liikennöintitunnus | string | 32 |
|
| Metropolia määritysten mukainen sovellustunnus. |
Taso ++ | ChannelRights | Kanavan oikeudet | taso |
|
|
|
|
++ | SOAApp | Palveluväylä sovellus | string |
| Pakollinen |
|
|
++ | Right | Käyttöoikeus | string | Pakollinen |
| Määritelty käyttöoikeus palveluväyläsovellukseen. |
...
4.2.5.15 Järjestelmäparametrit
...
Asiointipalvelun järjestelmäparametrit tallennetaan CodeIgniterin määritystiedostoihin. Muunneltavat parametrit määritellän kehitysvaiheessa.
Palveluväylän järjestelmäparametrit tallennetaan beans-parametreina. Muunneltavat parametrit määritellään kehitysvaiheessa.
...
Tietokanta - taulut
...
Tietokannan eri taulujen väliset relaatiot on kuvattu seuraavassa kaaviossa:
...
Tietokanta - taulut
...
Puuttuvat kentät:
Määriteltävää:
- opiskelijan lajittelutekijät hakukäyttöliittymissä: koulutusohjelma (kysytään kun opiskelija suorittaa maksua) / kustannuspaikka / projekti
Muuta:
- StudyImplementation.FK_IntimeEducationProgram_IntimeEducationProgramID ei pitäisi viitanta Product-tauluun.
- Miksi StudyImplementation.StudyUnitDescription ei asu Product-taulussa? Senhän ei pitäisi muuttua toteutusten välillä?
- Assignment.CreatedFromBasket?
4.2.6 Tekniset vaatimukset
...
Järjestelmän palveluväyläosion palveluväylä toteutukseksi on valittu Apache ServiceMix. Tuotteesta valitaan käyttöönotettavaksi käyttöönottohetkellä kehitystyössä vakaaksi todettu versio. Versio voi olla myös jonkin muun toimittajan jakeluun perustuva ServiceMix versio. ServiceMixistä voidaan kehitystyössä käyttää tarpeelliseksi katsottuja tekniikoita.
Palveluväylä rajapinnat toteutetaan xml-rajapinnoilla, joita voi käyttää myös restful-tekniikoilla (Apache CXF). Joissakin käyttöliittymä kysymyksissä kannattanee tutkia myös JSON-rajapintojen käyttöä.
Palveluväylän takana olevat tietokannat toteutetaan MySQL-tietokantoina.
Teknisiä määrittelyjä voidaan tarkentaa, mikäli kehitystyössä kohdataan tarkentamista vaativia kohtia.
...
4.2.7 OPI-Maksut projektin vaatimuksien huomioon ottaminen
...
OPI-maksut projektin vaatimukset on pyritty ottamaan huomioon, kun järjestelmän teknistä rakennetta on suunniteltu. Toiminnot ja rajapinnat on pyritty yleistämään ja yksinkertaistamaan, kuitenkin luopumatta järjestelmälle ennen määrittelyä asetetuista tavoitteista.
Suurimpana ongelmana yleisen toteutuksen kehittämisessä tulee olemaan eri korkeakoulujen talouden ohjaus menetelmät ja prosessit, talousjärjestelmä sekä talousautomaation toteutus. Todennäköisesti näiden kohdalla toteutuksia on lähes yhtä monta kuin korkeakouluja. Tämän vuoksi talousautomaation toteutus tullee vaatimaan työtä myös jatkossa.
5. Toteutussuunnitelma
Järjestelmän toteutus tehdään normaalien kehitysmenetelmien avulla. Kehityssykliin kuuluu siis määrittely, toteutus, testaus ja käyttöönotto.
...
Lisäksi, koska asiointisovellus on selainkäyttöinen sovellus, tulee asiointisovelluksen toiminnallisuus varmistaa yleisimmillä käytössä olevilla selainohjelmistoilla Windows 7 ja Mac-alustoilla. (Entä Linux?)
6.4
...
Käyttöönottovaiheen testaukset
Käyttöönottovaiheessa tehtävien ongelmien korjaamiseksi tehtävä korjaukset voidaan viedä tuotantoon nopeammalla testaussyklillä, mutta vähimmäistason testauksesta ei saa tinkiä. Yhtään testaamatonta komponenttia ei saa viedä käyttöönottovaiheessa olevaan järjestelmään.
...
- varmistukset: järjestelmän tuottamista tiedoista pitää ottaa säännöllisesti varmistukset. Tietokannoista pitää tämän vuoksi ottaa päivitykset mieluiten päivittäin (koko tietokanta).
- palvelutaso: järjestelmän asiointisovelluksen käytön pitää olla lähes katkeamatonta. Järjestelmä saa olla pois käytöstä suunniteltuina käyttökatkosaikoina, jolloin käyttäjälle ilmoitetaan palvelun etusivulla käyttökatkosta (nk. huoltotila).
- skaalautuvuus: kun järjestelmään lisätään avoimen ammattikorkeakoulun toiminnot, tulee käytössä olemaan selviä korkeamman käytön jaksoja. Näihin tulee varautua.
- muutoksen hallinta: järjestelmään ei lisätä uusia ominaisuuksia ilman suunnitelmallista toimintaa. Järjestelmän omistajalla Metropoliassa on velvollisuus ja vastuu koordinoida järjestelmässä tapahtuvia muutoksia.
...
Syöttöpohjat
...
Tyhjäpohja: Prosessikuvaus
...