TEKNINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 2)

Samankaltaiset tiedostot
TOIMINNALLINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 4)

VAATIMUSMÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.2

TEKNINEN MÄÄRITTELY Virtuaaliyhteisöiden muodostaminen Versio 1.2

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

TEKNINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.1

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - JÄRJESTELMÄ, PORTAL Virtuaaliyhteisöjen muodostaminen Versio 1.0

TOIMINNALLINEN MÄÄRITTELY MS

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0

EDISTYMISRAPORTTI - T4 Virtuaaliyhteisöjen muodostaminen Versio 1.0

PILETTI. Tekninen vaatimusmäärittely. v. 0.2

EDISTYMISRAPORTTI - T2 Virtuaaliyhteisöjen muodostaminen Versio 1.2

DOKUMETTIENHALLINTASUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 1)

Suunnitteluvaihe prosessissa

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

PROJEKTISUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 5)

Ohjelmiston toteutussuunnitelma

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

LAATUKATSELMUS LU Virtuaaliyhteisöjen muodostamien Saved

EDISTYMISRAPORTTI - T1 Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 1)

SAP. Lasse Metso

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Valppaan asennus- ja käyttöohje

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

L models. Tekninen määrittely. Ryhmä Rajoitteiset

Avoimen ja yhteisen rajapinnan hallintamalli

Järjestelmäarkkitehtuuri (TK081702)

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Ohjelmistojen suunnittelu

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

DOKUMENTTIENHALLINTASUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.1

Sähköpostitilin luonti

Keskustelusivusto. Suunnitteludokumentti

Rutiinin muodostaminen. 2. Rutiinin muodostaminen. specification) Määrittely (specification( Määrittelyn osapuolet. Hyvän ohjelman tunnusmerkit

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Ohjelmoinnin jatkokurssi, kurssikoe

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

T Testiraportti - järjestelmätestaus

Aineistosiirron testauksen aloituksen ohje Trafin sopimuskumppaneille

Web -myyntilaskutus Käyttöönotto v Toukokuu (16) Versio Web -myyntilaskutus. Copyright Aditro. All rights reserved.

Rajapinta (interface)

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Suunnitteludokumentti: Kansallinen palveluväylä - integraatio

ZENworks Application Virtualization 11

PerustA - Perustietovarantojen viitearkkitehtuuri. Liite 3: Tietojärjestelmäarkkitehtuurin. integraatioarkkitehtuuri

TESTAUSSUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.1

T Testiraportti - integraatiotestaus

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Itseasennusohje. Elisa ADSL. M1122-verkkopääte ADSL

Uudelleenkäytön jako kahteen

BaseMidlet. KÄYTTÖOHJE v. 1.00

PROJEKTISUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.1

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Convergence of messaging

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla

Sanomme, että kuvaus f : X Y on injektio, jos. x 1 x 2 f (x 1 ) f (x 2 ) eli f (x 1 ) = f (x 2 ) x 1 = x 2.

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SMT / SUOMEN MATKATOIMISTO OY Y-TUNNUS / FO-NUMMER / BUSINESS ID

Sähkönmyyjäportaali- käyttäjälle

Tietojärjestelmän osat

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

TESTAUSSUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Visma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Visma asiakaspalvelu Tukipyyntöjen lähettäminen

Maksuturva-palvelun rajapintakuvaus verkkokaupalle / MAKSUN PERUUTUS

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Tekninen suunnitelma - StatbeatMOBILE

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

JOVISION IP-KAMERA Käyttöohje

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Pika-aloitusopas. Langaton IP-kamera. Tekninen tuki QG4_B

Internet-pohjainen ryhmätyöympäristö

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Transkriptio:

TEKNINEN MÄÄRITTELY Edited by Checked by Approved by Tuomo Marttila Luonnos 1

Tekninenmäärittely i Sisällysluettelo 1. JOHDANTO 2 1.1. Tarkoitus ja kattavuus 2 1.2. Tuote ja ympäristö 2 1.3. Määritelmät, merkintätavat ja lyhenteet 2 1.4. Viitteet 3 1.5. Yleiskatsaus dokumenttiin 3 2. JÄRJESTELMÄN YLEISKUVAUS 4 2.1. Sovellusalueen kuvaus 4 2.2. Järjestelmän liittyminen ympäristöönsä 4 2.3. Laitteistoympäristö(n kuvaus) 4 2.4. Ohjelmistoympäristö(n kuvaus) 4 3. ARKKITEHTUURIN KUVAUS 5 3.1. Ratkaisun "filosofia" (suunnitteluperiaatteet) 5 3.2. Tietokanta-arkkitehtuuri 6 3.3. Ohjelmistoarkkitehtuuri, moduulit ja prosessit 6 4. MODUULI (JA PROSESSI) KUVAUKSET 7 4.1. AMOK-moduuli 7 4.1.1 amok_portal 7 4.1.2 amok_admin 7 4.1.3 amok_user 8 4.1.4 amok_service 8 4.1.5 amok_community 9 4.1.6 amok_db 9 4.1.7 amok_vym 9 4.2. VYM 10 4.2.1 vym_amok 10 4.2.2 vym_db 10 4.2.3 calc 10 4.3. Admin-sovellus 11 4.3.1 base_ui 11 4.3.2 user_ui 11 4.3.3 service_ui 11

Tekninenmäärittely ii Sisällysluettelo 4.3.4 community_ui 11 5. HYLÄTYT RATKAISVAIHTOEHDOT 12

1(2) Dokumentin versiot Vers Muuttaja Pvm Muutos Tarkastanut Hyväksynyt 1.0 Tuomo Marttila 3.11.2000 Ensimmäinen luonnos. Luonnos 1 1.0 Harri Kauhanen 7.11.2000 Kirjoitusvirheiden korjausta. Luonnos 2

2(3) 1. JOHDANTO 1.1. Tarkoitus ja kattavuus Tässä dokumentissa määritetään VYMin rakenne moduulitasolla. 1.2. Tuote ja ympäristö Tuotteen kuvaus on määritetty dokumentissa vaatimusmäärittely kohdassa 1.5. 1.3. Määritelmät, merkintätavat ja lyhenteet AMOK Käyttäjäprofiili Sääntö VYM VYMK Virtuaaliyhteisö Adapterikomponentti. AMOK on järjestelmän osa, joka tarjoaa rajapinnat ulkoisille liittymille järjestelmään ja ohjaa asiakkassovelluksen pyynnöt joko suoraan kantaan tai VYMille, riippuen pyynnön laadusta. Käyttäjäprofiili sisältää yhden käyttäjän tiedot. Profiili määritellään ensisijaissesti käyttäjän syöttämien tietojen mukaan, mutta se saattaa myös muuttua oppiessaan käyttäjän toimista. Käyttäjäprofiili on ohjelmiston kannalta ekvivalentti käyttäjän kanssa. Virtuaaliyhteisöjä muodostetaan sääntöjen avulla. Sääntöä ei tule ymmärtää välttämättä predikaattilogiikan avulla muodostettuna, vaan sääntö on mikä tahansa rajoite, jonka avulla voidaan tutkia käyttäjäprofiileja ja määrittää, kuuluuko henkilö profiilinsa perusteella ryhmään vai ei. Virtuaaliyhteisöjen muodostajakone. Keskeisin osa sovellusta, joka muodostaa virtuaaliyhteisöt käyttäjäprofiileista sääntöjen perusteella. VYMin osa, joka laskee varsinaiset yhteisöt. Virtuaaliyhteisö muodostuu joukosta käyttäjiä (käyttäjäprofiileja), joilla on samanlaisia harrastuksia ja kiinnostuksen kohteita. Virtuaaliyhteisön jäsenten tulee voida kommunikoida keskenään. Lisäksi jokaisen yhteisön jäsenen tulee voida ottaa selville, mihin yhteisöihin hän kuuluu. Sääntöjen avulla voidaan profiileista muodostaa virtuaaliyhteisöjä. Jotta virtuaaliyhteisö voisi kommunikoida, tulee virtuaaliyhteisön määrittää media ja protokolla, joiden avulla kommunikaatio voidaan suorittaa. Lisäksi tulee määrittää tapa, jolla henkilö voi ottaa selville, mihin yhteisöihin hän kuuluu. Määritelmä, joka toteuttaa edellä mainitut ehdot, on nelikko (A,B,C,D), jossa A on osajoukko kaikista käyttäjäprofiileista. A:n alkiot toteuttavat säännöstön B, joka on määritelty kullekin virtuaaliyhteisölle erikseen. C on joukko, joka koostuu kommunikaatiotavoista. C siis toisin sanoen määrittelee, millä tavoilla yhteisön sisällä kommunikoidaan. D on toiminto, jonka avulla käyttäjä voi ottaa selville, mihin yhteisöihin hän kuuluu.

3(4) 1.4. Viitteet Viittaukset muihin lähteisiin (dokumentit, standardit, käsikirjat). Viitteen mukaan aakkosjärjestyksessä Ne dokumentit joihin on viitattu tai jotka liittyvät systeemiin tai sen rakentamiseen, mikäli tarpeen (nimi, versio, päiväys, mistä löydettävissä). Lisätietoja. Koodaustyyliohje merkittäisiin tähän. Se tämän järjestelmän määrittelydokumenttihan on tärkein lisätietojen ja selvennysten lähde. Mikäli suunnittelu ei kata koko määrittelyä tulee se mainita tässä (eli mitä muita suunnitteluvaiheen dokumentteja on olemassa, jos on; esim. jos käyttöliittymän tai tietokannan suunnittelu on irrotettu omiksi dokumenteikseen). Luettelo aakkosjärjestyksessä. 1.5. Yleiskatsaus dokumenttiin Rakenteen kuvaus; sisältö ja organisointi; mitä missäkin luvussa käsitellään, tärkeää varsinkin mikäli lukija ei ole tottunut lukemaan em. sisällysluettelon mukaisia määrittelyjä. Mikäli ensimmäinen luku on kokonaisuudessaan samalla sivulla kuin tämä kohta (1.6 yleiskatsaus) tai jos 1. luku on muutoin kovin lyhyt, ei sitä tarvitse tässä kohdassa (1.6 yleiskatsaus) mainita vaan voidaan aloittaa 2. luvun asioista. Tässä mainitaan kustakin luvusta hieman enemmän kuin mitä pelkkä sisällysluettelon selaaminen kertoo.

4(5) 2. JÄRJESTELMÄN YLEISKUVAUS 2.1. Sovellusalueen kuvaus VYM on virtuaaliyhteisöjä muodostava kone, joka liittyy johonkin sitä tarvitsevaan palveluun. 2.2. Järjestelmän liittyminen ympäristöönsä VYM liittyy portaaliin AMOKin rajapinnan kautta. Käytännössä ensivaiheessa on kyseessä Java luokkarajapinta. 2.3. Laitteistoympäristö(n kuvaus) VYM on täysin palvelinsovellus ja vaatii toiminnallisessa määrittelyssä kuvatun laitteiston. 2.4. Ohjelmistoympäristö(n kuvaus) VYM kirjoitetaan Javalla, ja sen tulisi toimia missä tahansa käyttöjärjestelmässä, jossa on JDK 1.2.2

5(6) 3. ARKKITEHTUURIN KUVAUS Arkkitehtuuriksi on valittu modulaarinen rakenne, jotta VYM voidaan helposti vaihtaa sopivampaan mahdolliseen. Eri osat toteutetaan Javaluokkina. Seuraavat moduulit ovat välttämättömiä VYMin toiminnalle. AMOK hoitaa Admin-sovelluksen ja portaalin yhteydet varsinaiseen VYMiin ja tietokantaan. AMOKin rajapinnat: 1. Rajapinta portaaliin 2. Rajapinta Admin-sovellukseen 3. Rajapinta VYM-koneeseen 4. Rajapinta tietokantaan VYM-kone sisältää kaiken älykkyyden mitä tarvitaan virtuaaliyhteisöjen muodostamiseen. Tietokanta sisältää käyttäjäprofiilit, palveluprofiilit ja yhteisöprofiilit, sekä näiden väliset suhteet. Admin-sovelluksessa on käyttöliittymä jolla voidaan lisätä ja päivittää käyttäjä-, palvelu- ja yhteisöprofiileja. 3.1. Ratkaisun "filosofia" (suunnitteluperiaatteet) VYM tehdään oliopohjaisena. Eri komponentit ovat Java-luokkia. Vaikka AMOK ja VYMK esitetään eri osina, ne toimivat käytännössä samassa koneessa, ja keskustelevat keskenään Java-luokkarajapinnan yli. Javan käyttö on asiakkaan vaatimus ja toteutuksen kannalta on helpompaa tehdä AMOKista ja VYMKista yhtenäinen. VYM on palvelinsovellus, eikä sillä ole varsinaista käyttöliittymää. Adminsovellus tulee palvelemaan VYMin käyttöliittymänä ylläpidolle, ja ulkoinen portaali tarjoaa käyttöliittymän käyttäjälle. Kaikki tieto moduulien välillä välitetään parametreina. Globaaleja muuttujia ei tulla käyttämään. Myös AMOKin ja VYMKin välillä tieto siirretään parametreina. Tietokantana on Oraclen relaatiokanta. Se on kuvattu toiminnallisen määrittelyn luvussa 3.

6(7) 3.2. Tietokanta-arkkitehtuuri Tietokannan rakenne on kuvattu toiminnallisen määrittelyn luvussa 3. Koska kyseessä on tutkimusprojekti emme tässä projektissa tee suojattua ja varmistettua kantaa. Tuotantoympäristössä VYM-palvelun tarjoaja määrittää muunmuassa käytettävyystason. Käytännössä VYMin tulee toimia 24h/vrk, mikä tarkoittaa kahdennettua palvelinta. Koska kanta tulee käytännössä kasvamaan melko nopeasti, on kannan tilaa tarkkailtava, ja tarpeen vaatiessa on kanta järjestettävä uudelleen, jotta kannan rakenne pysyisi tehokkaana. 3.3. Ohjelmistoarkkitehtuuri, moduulit ja prosessit HUOM! Luokkien nimeäminen muuttunee jatkossa, kunhan sovimme nimeämiskäytännöistä. VYM jakaantuu kahteen varsinaaiseen osaan AMOK ja VYMK sekä Adminsovellukseen, joka on ylläpitäjän graafinen käyttöliittymä järjestelmään. Portaali on ulkoinen VYMin asiakas. AMOK-moduuli vastaa kaikista ulkoisista rajapinnoista portaaliin ja Adminsovellukseen, ja välittää näiden lähettämän tiedon joko suoraan kantaan, tai VYMKille. AMOK koostuu rajapintaluokista joita ovat amok_portal, amok_admin, amok_db ja amok_vym, sekä käsittely luokista amok_user, amok_service ja amok_community. VYMK-moduuli vastaa virtuaaliyhteisöjen muodostamisesta. Käyttäjien, palveluiden ja yhteisöjen tiedot kierrätetään syöttö- ja muutosvaiheissa VYMKin kautta, jotta VYMK voidaan myöhemmin muuttaa oppivaksi. VYMK koostuu rajapinta luokista vym_amok ja vym_db sekä varsinaisen laskennan suorittavasta luokasta vym_calc. Admin-sovellus on ylläpitäjän käyttöliittymä. Se koostuu luokista base_ui, user_ui, service_ui, community_ui.

7(8) 4. MODUULI (JA PROSESSI) KUVAUKSET amok_portaali login() new_user() amok_user new_user() get_userdata() change_userdata() vym_amok new_user() change_ user() new_commu nity() change_ community() new_service() change_ service() vym_amok new_user() change_user() new_community() change_community() new_service() change_service() amok_admin get_userdata() change_user() get_community() change_community() get_service() change_service() amok_service get_service() new_service() change_service() amok_community new_community() get_community() cha nge_community() amok_db login() get_userdata() get_communitydata() get_servicedata() vym_db new_user() change_user() new_community() change_community() new_service() change_service() user_community() service_community() name calc calc_all() calc_user() calc_community() calc_service() 4.1. AMOK-moduuli 4.1.1 amok_portal Tarjoaa rajapinnan portaalille, ja välittää tiedot eteenpäin amok_user moduliin. userdata login(username, password) tarkistaa onko käyttäjätunnussalasanapari kunnossa ja palauttaa käyttäjän profiilin, tai tyhjän profiilin jos kirjautuminen epäonnistui. Kutsuu amok_db.login() funktiota. boolean new_user(userdata) lisää uuden käyttäjän kantaan. Palauttaa true jos operaatio onnistui. Kutsuu amok_user.new_user() funktiota. 4.1.2 amok_admin Tarjoaa rajapinnan Admin-sovellukselle, ja välittää tiedot eteenpäin amok_user, amok_service tai amok_community moduliin. userdata userdata get_userdata(username) hakee käyttäjän tiedot. Kutsuu funktiota amok_user.get_userdata(). boolean change_userdata(userdata) muuttaa käyttäjän tietoja. Kutsuu funktiota amok_user.change_userdata().

8(9) communitydata get_community(communityname) hakee yhteisön tiedot. Kutsuu funktiota amok_community.get_community(). boolean change_community(communitydata) muuttaa yhteisönn tietoja. Kutsuu funktiota amok_community.change_community(). servicedata get_service(servicename) hakee palvelun tiedot. Kutsuu funktiota amok_service.get_service(). boolean change_service(servicedata) muuttaa palvelun tietoja. Kutsuu funktiota amok_service.change_service(). 4.1.3 amok_user Vastaa käyttäjätietojen käsittelystä ja ohjaa pyynnöt joko VYMKiin amok_vym moduulin kautta tai suoraan tietokantaan amok_db modulin kautta. boolean new_user(userdata) lisää uuden käyttäjän kantaan. Palauttaa true jos operaatio onnistui. Kutsuu amok_vym.new_user() funktiota. userdata get_userdata(username) hakee käyttäjän tiedot. Kutsuu funktiota amok_db.get_userdata(). boolean change_userdata(userdata) muuttaa käyttäjän tietoja. Kutsuu funktiota amok_vym.change_userdata(). 4.1.4 amok_service Vastaa palvelutietojen käsittelystä ja ohjaa pyynnöt joko VYMKiin amok_vym moduulin kautta tai suoraan tietokantaan amok_db modulin kautta. boolean new_service(servicedata) luo uuden palvelun. Kutsuu funktiota amok_vym.new_service(). servicedata get_service(servicename) hakee palvelun tiedot. Kutsuu funktiota amok_db.get_servicedata(). boolean change_service(servicedata) muuttaa palvelun tietoja. Kutsuu funktiota amok_vym.change_service().

9(10) 4.1.5 amok_community Vastaa yhteisötietojen käsittelystä ja ohjaa pyynnöt joko VYMKiin amok_vym moduulin kautta tai suoraan tietokantaan amok_db modulin kautta. new_community(communitydata) luo uuden palvelun. Kutsuu funktiota amok_vym.new_community(). get_community(communityname) hakee palvelun tiedot. Kutsuu funktiota amok_db.get_communitydata(). change_community(communitydata) muuttaa palvelun tietoja. Kutsuu funktiota amok_vym.change_community(). 4.1.6 amok_db boolean login(username, password) palauttaa true jos tietokannasta löytyy vastaava käyttäjätunnus-salasana pari. get_userdata(username) hakee kannasta käyttäjän profiilin. get_communitydata(communityname) hakee kannasta yhteisön profiilin. get_servicedata(servicename) hakee kannasta palvelun profiilin. 4.1.7 amok_vym new_user(userdata) lisää käyttäjän järjestelmän. Kutsuu funktiota vym_amok.new_user(). change_user(userdata) muuttaa käyttäjän tietoja. Kutsuu funktiota vym_amok.change_user(). new_community(communitydata) lisää yhteisön järjestelmään. Kutsuu funktiota vym_amok.new_community(). change_community(communitydata) muuttaa yhteisön tietoja. Kutsuu funktiota vym_amok.change_community(). new_service(servicedata) lisää palvelun järjestelmään. Kutsuu funktiota vym_amok.get_service(). change_service(servicedata) muuttaa palvelun tietoja. Kutsuu funktiota vym_amok.change_service().

10(11) 4.2. VYM 4.2.1 vym_amok new_user(userdata) lisää käyttäjän järjestelmän. Kutsuu funktiota vym_db.new_user() ja calc.calc_user(). change_user(userdata) muuttaa käyttäjän tietoja. Kutsuu funktiota vym_db.change_user() ja ja calc.calc_user(). new_community(communitydata) lisää yhteisön järjestelmään. Kutsuu funktiota vym_db.new_community()ja calc.calc_community(). change_community(communitydata) muuttaa yhteisön tietoja. Kutsuu funktiota vym_db.change_community() ja calc.calc_community(). new_service(servicedata) lisää palvelun järjestelmään. Kutsuu funktiota vym_db.get_service() ja calc.calc_service(). change_service(servicedata) muuttaa palvelun tietoja. Kutsuu funktiota vym_db.change_service() ja calc.calc_service(). 4.2.2 vym_db 4.2.3 calc new_user(userdata) lisää käyttäjän järjestelmän. change_user(userdata) muuttaa käyttäjän tietoja. new_community(communitydata) lisää yhteisön järjestelmään. change_community(communitydata) muuttaa yhteisön tietoja. new_service(servicedata) lisää palvelun järjestelmään. change_service(servicedata) muuttaa palvelun tietoja. user_community(user, community) lisää käyttäjä-yhteisö relaation kantaan service_community(service, community) lisää palvelu-yhteisö relaation kantaan calc_all() laskee kaikkien käyttäjien, palveluiden, ja yhteisöjen suhteet. calc_user() laskee käyttäjälle yhteisöt ja lisää ne kantaan kutsumalla funktiota vym_db.user_community()

11(12) calc_service() laskee palvelulle yhteisöt ja lisää ne kantaan kutsumalla funktiota vym_db.service_community() calc_community() laskee yhteisölle käyttäjät ja palvelut ja lisää ne kantaan kutsumalla funktiota vym_db.user_community() ja vym_db.service_community() 4.3. Admin-sovellus 4.3.1 base_ui Piirtää perus käyttöliittymän ja kutsuu sitten muita käyttöliittymä komponentteja. 4.3.2 user_ui Käyttäjätietojen muokkaamiseen tarkoitettu käyttöliittymä. Kutsuu vym_admin luokan funktioita. 4.3.3 service_ui Palvelutietojen muokkaamiseen tarkoitettu käyttöliittymä. Kutsuu vym_admin luokan funktioita. 4.3.4 community_ui Yhteisötietojen muokkaamiseen tarkoitettu käyttöliittymä. Kutsuu vym_admin luokan funktioita.

12(13) 5. HYLÄTYT RATKAISVAIHTOEHDOT VYMKiä ei tehdä ainakaan tässä vaiheessa neuroverkkona, sillä ei olla varmoja tulisiko se toimimaan.