...
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ä pyritään standardien noudattamiseenmukaisesti.
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.
...
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.9 UserProfiles-taulu: Käyttäjäprofiilitaulu
Tietokantataulu pohjaAsiointipalveluiden 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 |
|
|
|
|
| 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 henkilö 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
...
- intimeplussan tietotyypit ja tietuepituudet
Panel |
---|
Puuttuvat 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
4.2.6 Tekniset vaatimukset
...
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:
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.
...
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
...