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. |
...
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ä!
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 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.
...
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? |
...
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? |
...
- Intime projektitunnuksen käyttö
4.2.5.8
...
Log-taulu:
...
Loki-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 suorittamisessaJä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ä varten.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | LogID BasketID | Tapahtumatunnus Korintunnus | int | long | Pakollinen, Uniikki, Autoincrement |
|
| |||||
| Time SessionID | Tapahtuma-aika | datetime varchar | 100 | Pakollinen, | Käyttäjän käynnistämän www-palvelin istunnon yksilöllinen tunniste | Aikaleima joka generoidaan automaattisesti kun tietue lisätään. | |||||
FK | FK_PersonUser_PersonID ID | Käyttäjätunnus | integer int | long |
| Person User-taulu - PersonIDID-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 | varchar | 25 |
| Expires | Korin vanhenemis hetki | datetime | | Pakollinen | Ajan | hetki, jonka jälkeen koria ei voi enää käyttää Tasot: Debug, Info, Warning, Security, Fatal. |
| ErrorDescription LastUpdate | Virhekuvaus Viimeisin päivitys | varchar datetime | 1000 | Pakollinen |
| Ajan hetki, jolloin tietuetta on viimeksi päivitetty. |
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 Poimintakorin rivit tallennetaan tähän tauluun.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
PK | RowID | Rivi tunniste | int | long | ProfileName | Käyttäjäprofiili | string | 20 | Uniikki, pakollinen | 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 tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
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:
- intimeplussan tietotyypit ja tietuepituudet
...
4.2.5.11 IntimeProject-taulu: IntimePlus-järjestelmästä replikoidut projektit
...
IsNormalUser | On normaalikäyttäjä | boolean |
|
|
|
| |
| IsAdmissionOfficeUser | On hakutoimistokäyttäjä | boolean |
|
|
|
|
| IsStudentServicesUser | On opintotoimistokäyttäjä | boolean |
|
|
|
|
| IsFinancialUser | On taloushallintokäyttäjä | boolean |
|
|
|
|
| IsAdminUser | On pääkäyttäjä | boolean |
|
|
|
|
| IsSysAdminUser | On ylläpitokäyttäjä | boolean |
|
|
|
|
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko profiili 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? |
...
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 suorittamisessaIntimePlus järjestelmästä replikoitua tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||
---|---|---|---|---|---|---|---|---|---|
PK | BasketID IntimeProjectID | Korintunnus Intime projektinumero | int Tarkistetaan | long | Pakollinen, Uniikki, Pakollinen | IntimePlus - järjestelmä, | Autoincrement |
| Tieto replikoidaan Intimestä! |
| SessionID ProjectName | Istunnontunnus 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:
...
| 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. |
4.2.5.
...
BasketRow-taulu:
...
Poimintakoririvi-
...
taulu
Poimintakorin rivit tallennetaan tähän tauluunIntimePlus järjestelmästä replikoitua tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | ||
---|---|---|---|---|---|---|---|---|---|
PK | RowID IntimeEducationProgramID | Rivi tunniste Intime koulutusohjelma | int Tarkistetaan | long | Pakollinen | IntimePlus - järjestelmä, | Tieto replikoidaan Intimestä! |
|
|
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 tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
PK | IntimeProductID | Intimen tuotenumero | Tarkistetaan | Tarkistetaan | Uniikki, | EducationProgramName | Intime koulutusohjelman nimi | varchar | 100 | Pakollinen | IntimePlus - järjestelmä, tuotenumero | Tieto replikoidaan Intimestä! |
| IsInUse | On käytössä | boolean |
| Oletus: false |
| Onko koulutusohjelma käytössä? |
Avoimet kysymykset:
- intimeplussan tietotyypit ja tietuepituudet
...
Puuttuvat taulut:
...
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:
- intimeplussan tietotyypit ja tietuepituudet
...
4.2.5.11 IntimeProject-taulu: IntimePlus-järjestelmästä replikoidut projektit
...
IntimePlus järjestelmästä replikoitua tietoa.
PK/FK | Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset |
---|---|---|---|---|---|---|---|
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
...
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!
Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |
---|---|---|---|---|---|---|---|
Root | VetumaProfiles | VetumaProfiilit |
|
|
|
|
|
Taso + | Profile | Profiili taso | taso |
|
|
| Profiilit |
+ | ProfileName | Profiili nimi | string |
| Uniikki, Pakollinen |
|
|
+ | 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!
Kenttänimi | Kuvaus | Tyyppi | Pituus | Rajoitukset | Viittaukset | Huomautukset | |
---|---|---|---|---|---|---|---|
Root | 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
...