Aihe hyväksytty osastoneuvoston kokouksessa Tarkastajat: Erikoistutkija Ossi Nykänen (TTY) Professori Seppo Pohjolainen (TTY)

Koko: px
Aloita esitys sivulta:

Download "Aihe hyväksytty osastoneuvoston kokouksessa 12.10.2005 Tarkastajat: Erikoistutkija Ossi Nykänen (TTY) Professori Seppo Pohjolainen (TTY)"

Transkriptio

1 Tietotekniikan osasto ANTTI EVERI LOKITIETOANALYYSI VERKKOPALVELUN MALLINTAMISEN JA ANALYSOINNIN VÄLINEENÄ Diplomityö Aihe hyväksytty osastoneuvoston kokouksessa Tarkastajat: Erikoistutkija Ossi Nykänen (TTY) Professori Seppo Pohjolainen (TTY)

2 Alkulause Tämä työ on tehty Tampereen teknillisen yliopiston Hypermedialaboratoriossa osana laajempaa einsurance Uuden ajan sähköiset vakuutuspalvelut -tutkimushanketta. Kiitokset tasapuolisesti kaikille hankkeessa mukana olleille osapuolille. Haluan erityisesti kiittää työn ohjaajana ja tarkastajana toiminutta erikoistutkija Ossi Nykästä. Lisäksi haluan esittää kiitokseni työn toiselle tarkastajalle professori Seppo Pohjolaiselle. Lämmin kiitos myös koko Hypermedialaboratorion muulle henkilökunnalle motivoivasta ja monitieteisestä työilmapiiristä. Vanhempiani Ullaa ja Mattia sekä siskoani Annaa haluan kiittää koko opiskeluideni ajan jatkuneesta tuesta ja kannustuksesta. Tampereella Antti Everi Tumppi 3 E Tampere antti.everi@tut.fi i

3 Sisällysluettelo Alkulause Sisällysluettelo Tiivistelmä Abstract Lyhenteet i ii iv vi viii 1. Johdanto 1 2. Reaali- ja verkkopalvelun rakentaminen Mallit ja mallintaminen UML-standardin mukainen mallinnus UML-standardi yleisesti Luokkakaavio Aktiviteettikaavio Hypermediasovellusten mallinnus UML:n avulla pelkistetysti Hypermediasovellusten mallinnus UML:n avulla perusteellisemmin Motivaatio reaalipalvelun mallintamiseen UML-standardin välineillä Reaalipalvelun mallinnus UML-standardin välineillä UML-malleista semanttisen webin välineisiin Semanttinen web lyhyesti XML UML-standardista XML-skeemoihin Mallinnuskieliä erityisesti hypermediasovelluksille RMM WebML OOHDM Lokitietoanalyysi Lokitieto Web-tiedonlouhinta Web-tiedonlouhinta yleisesti Personointi Uudelleenjärjestely Liiketiedustelu Web-tiedonlouhintaprosessin vaiheet Datan keräys Datan esiprosessointi Käyttäjien tunnistus Istuntojen muodostus Episodien muodostus Hahmontunnistus Tietämyksen hyväksikäyttö Hahmontunnistusmenetelmiä 33 ii

4 3.4.1 Tilastollinen analyysi Luokittelu Klusterointi Segmentointi Assosiaatio Sekvensointi Liiketoiminnan yhteys verkkopalvelun käyttöön Yhteyden eri tasot Reaalipalvelun prosessien ja lokitietojen kytkös Käytännön välineitä Olemassa olevat välineet Oman tiedonlouhinta-alustan suunnittelu Case: einsurance einsurance-hanke lyhyesti Vakuutusaiheinen verkkopalvelu Vahinkoilmoituslomake Vakuutuspalvelun prosessien mallinnus Analysoitava data Lokitietojen analysointi päätöspuun avulla Perustelut menetelmän valintaan Tietojen muuttaminen Analysointi prosessi AnswerTree-ohjelmalla Tulokset ja johtopäätökset Lomakkeen muu analysointi Analyysi tuloksista ja johtopäätökset Yhteenveto 67 Lähdeluettelo 70 Liite 1 Liite 2 Liite 3 iii

5 Tiivistelmä TAMPEREEN TEKNILLINEN YLIOPISTO Tietotekniikan osasto Hypermedia EVERI, ANTTI: Lokitietoanalyysi verkkopalvelun mallintamisen ja analysoinnin välineenä Diplomityö, 76 sivua, 6 liitesivua Tarkastajat: Erikoistutkija Ossi Nykänen Professori Seppo Pohjolainen Rahoittaja: Tampereen teknillinen yliopisto, Hypermedialaboratorio, yhteisrahoitteinen Tekes-hanke einsurance Uuden ajan sähköiset vakuutuspalvelut Maaliskuu 2006 Avainsanat: lokitieto, lokitietoanalyysi, mallintaminen, vakuutuspalvelu, verkkopalvelu, web-tiedonlouhinta Toimiva verkkopalvelu edellyttää, että se jäsentyy kiinteäksi osaksi yrityksen koko palvelukonseptia. Jäsentymistä voidaan tutkia vertaamalla yrityksen käsitemallia ja liiketoimintaprosesseja verkkopalvelun rakenteeseen ja käytöstä aiheutuviin lokitietoihin. Yrityksen käsitemalli ja verkkopalvelun rakenne ovat mallinnettavissa UML-luokkakaavion avulla ja vastaavasti liiketoimintaprosessit ja verkkopalvelun käyttäjien navigointipolut UML-aktiviteettikaavion avulla. Verkkopalvelujen käytöstä kirjautuu valtava määrä tietoa verkkopalvelimien lokitietoihin. Tiedonlouhinta on hahmojen etsimistä yleensä suurista tietovarastoista ja Web-tiedonlouhinta vastaavaa etsimistä www-maailmassa. Verkkopalvelimien lokitiedoista on louhittavissa käyttötietoa, jota voidaan käyttää verkkopalvelun personointiin ja uudelleenjärjestelyyn tai tukena yrityksen liiketiedustelussa. Webtiedonlouhintaprosessi alkaa datan keräyksellä ja esikäsittelyllä. Seuraavaksi datasta tunnistetaan käyttäjät, istunnot ja episodit, jonka jälkeen alkaa varsinainen hahmojen tunnistus ja sitä seuraava tietämyksen hyväksikäyttö. Ottamalla huomioon web-tiedonlouhinnassa yrityksen reaali- ja verkkopalveluiden erilaiset mallit, saadaan tutkittua verkkopalvelun käytön suhdetta reaalipalveluun. Tutkimista voidaan helpottaa jakamalla reaali- ja verkkopalvelun rakenteet käsite- tai palvelupohjaiseen hierarkiaan. Käsitepohjaisessa hierarkiassa palveluiden eri käsitteet on jaettu yleisemmiksi luokiksi niiden merkityksen perusteella. Palvelupohjaisessa iv

6 hierarkiassa palveluiden eri osat on jaettu niiden toiminnallisuuksien mukaan. Webtiedonlouhinnalla saatuja tuloksia voidaan manuaalisesti käyttää hyväksi päätöksenteon tukena tai käytön seurannassa. On olemassa myös järjestelmiä, jotka esimerkiksi personoivat verkkopalvelua automaattisesti palvelun käytön perusteella. Web-tiedonlouhintaa kokeiltiin käytännössä vakuutusaiheisessa case-tutkimuksessa. Tutkimuskohteena oli Pohjola-Yhtymän ajoneuvovahinkoihin liittyvä ilmoituslomake. Raporttina tämä diplomityö ei sisällä luottamukselliseksi katsottavaa aineistoa. Erityisesti, Pohjola-Yhtymän vahinkoilmoituslomaketta käsittelevä osio rajoittuu lähinnä tilastollisten tunnuslukujen ja loppukäyttäjälle julkisessa verkossa näkyvän käyttöliittymän osalle. Vahinkoilmoituslomaketta tutkittaessa pyrittiin segmentoinnin avulla saamaan selville asioita, jotka vaikuttavat lomakkeen täytön ja lähetyksen onnistumiseen. Segmentointimenetelmäksi valittiin päätöspuut, mutta mielenkiintoisten ominaisuuksien puutteesta johtuen segmentoinnin tulokset jäivät osin laihoiksi. Parempia tuloksia saatiin tutkimalla vahinkoilmoituslomaketta tilastollisesti ja käytettävyyden näkökulmasta. Merkittävä syy lomakkeen täytön epäonnistumiseen saattavat olla lomaketta käsittelevän palvelimen ongelmat vastata lähetysyrityksiin. Käytettävyydeltään lomaketta ei arvioitu parhaaksi mahdolliseksi, vaan todettiin, että lomakkeentäyttöprosessi tulisi muuttaa enemmän sovellusmaiseksi. Vaikka webtiedonlouhinta ei case-tutkimuksessa tuottanutkaan kovin mielenkiintoisia tuloksia, on se tehokas menetelmä, kun sovellusalueen käsitteistö on rikkaampaa ja testidataa on saatavilla enemmän tai koko sovellusalue on laajempi. v

7 Abstract TAMPERE UNIVERSITY OF TECHNOLOGY Department of Information Technology Hypermedia EVERI, ANTTI: Log analysis as a tool for modeling and analysis of web service Master of Science Thesis, 76 pages, 6 appendix pages Examiners: Senior Researcher Ossi Nykänen Professor Seppo Pohjolainen Funding: Tampere University of Technology, Hypermedia Laboratory, Tekes funded shared-cost action project einsurance Novel Electronic Insurance Services March 2006 Keywords: insurance service, log analysis, log data, modeling, web mining, web service Prerequisite for a good web service is that it is build as a part of corporation s service concept. This can be researched by comparing corporation s entity model and business processes to its web service structure model and navigation paths. Corporation s entity model and web service structure model can be modeled with UML class diagram. Business processes and navigation paths can be modeled with UML activity diagram. A huge amount of usage data is saved every day to web servers. Data mining is searching large amounts of data for patterns. Web mining is data mining in the World Wide Web. Web usage data can be mined from web server s logs and it can be used to personalize and modify sites or to obtain business intelligence information. Web mining project starts with collecting and preprocessing data, followed by user, session and episode identifications. After the data is identified, final process phases are pattern recognition and analysis. When observing corporation s different real and web service structures in web mining, it is possible to research how the usage of web service is connected to the real service. Dividing real and web service structures into concept or service-based hierarchy, this research can be made easier. In concept-based hierarchy different concepts have been divided into more general classes by their meaning. In servicebased hierarchy different concepts have been divided by their action types. Results from web-usage mining can be used manually as a support when for example making vi

8 decisions or monitoring usage. There are also systems that can personalize web service automatically by the usage of the web service. Web mining was tested in practice in insurance related case study. Target of the research was the specific damage report form used by the Pohjola insurance group. This Master of Science thesis doesn't contain any confidential information as a report. Particularly chapter that reports on Pohjola insurance groups damage report form is restricted to statistical key figures and information that is shown to the end-user via the public network. Segmenting was used in this research to reveal the facts affecting the success of filling out and sending the form. Decision trees were selected as a tool for segmenting, but because the lack of interesting form properties, results were not satisfactory. Better results were obtained when the form was researched statistically and from the usability viewpoint. Remarkable reason for a web service operation failure of the research target can be the web server s problems to respond to the user, when the user is trying to send the form. Usability of the form was not good and as a conclusion it was discovered that the form should be changed to operate more like an application. Even though web mining did not bring very good results in this case study, it still is very effective method, when research objects entity model is richer and there is more test data available or when the whole research object is larger as a whole. vii

9 Lyhenteet CLF Common Log Format CoLF Combined Log Format DTD Document Type Definition ER Entity-Relationship HDM A Model for the Design of Hypertext applications HTML Hypertext Markup Language IIS Internet Information Services IP Internet Protocol MOF Meta Object Facility OMG Object Management Group OOHDM Object-Oriented Hypermedia Design Model OWL Web Ontology Language PACT Profile Aggregations based on Clustering Transactions RDF Resource Description Framework RMM Relationship Management Methodology SPARQL SPARQL Protocol And Query Language UML Unified Modeling Language URI Uniform Resource Identifier URL Uniform Resource Locator W3C World Wide Web Consortium WebML Web Modeling Language WUM Web Utilization Miner WWW World Wide Web XMI XML Metadata Interchange XML Extensible Markup Language XSL Extensible Stylesheet Language viii

10 1. Johdanto Sähköinen liiketoiminta on arkipäivää jo kaikilla yrityselämän sektoreilla. Yritykset sekä tarjoavat tietoa omista tuotteistaan ja palveluistaan että myyvät niitä verkon välityksellä. Monet perinteisten toimialojen yritykset ovat pyrkineet siirtämään liiketoimintaansa verkkoon vaihtelevalla menestyksellä. Toimiva verkkopalvelu kuitenkin edellyttää, että se jäsentyy kiinteäksi osaksi yrityksen koko palvelukonseptia. Verkkopalvelun jäsentymistä on mahdollista seurata tutkimalla sen rakennetta ja käyttöä. Käytön liittäminen suoraan liiketoimintaprosesseihin on kuitenkin hankalaa. Yhteys on rakennettavissa mallintamalla palvelun eritasoiset osa-alueet. Ylemmällä tasolla on yrityksen sovellusalueen käsitemalli ja siihen liittyvät liiketoimintaprosessit. Alemman tason muodostavat yrityksen verkkopalvelu ja verkkopalvelun käytöstä kertovat lokitiedot. Sovellusalueen mallintamiseksi on olemassa erilaisia tekniikoita. UML (Unified Modeling Language) on perinteisesti ohjelmistotuotannossa käytetty mallinnuskieli, jota nykyisin käytetään yhä enemmän myös liiketoiminnan ja tietovarastojen mallinnuksessa. Mallinnettaessa sekä yrityksen palvelualueen käsitteistö liiketoimintaprosesseineen että verkkopalvelun rakenne ja lokitiedot samoilla välineillä voidaan helposti vertailla yhtäläisyyksiä sekä suhteuttaa eri osia ja tapahtumia toisiinsa. 1

11 Verkkopalvelun käytöstä muodostuu verkkopalvelimelle lokitietoja. Lokitiedot ovat palvelimen ylläpitäjille tarkoitettuja tietoja, jotka kirjaavat tarkasti asiakkaiden palvelimelta pyytämät tehtävät ja kuinka palvelin on kyseisistä tehtävistä suoriutunut. Näitä tietoja voidaan analysoida suoraviivaisesti laskemalla lokien yleisiä tilastotietoja, mutta niiden syvempi analysointi onnistuu vain tiedonlouhinnan välineillä. Web-tiedonlouhinta on tiedonlouhintaa webissä. Sitä voidaan kohdistaa verkkopalvelun sisältö-, rakenne- ja käyttötietoihin. Käyttötiedonlouhinnassa sovelletaan palvelimien lokitietoihin tyypillisiä tiedonlouhinnan menetelmiä. Web-tiedonlouhinnan avulla yrityksen on mahdollista saada arvokasta tietoa oman verkkopalvelunsa käytöstä. Tietojen avulla yritys voi muokata palveluaan entistä paremmaksi, jolloin siitä hyötyvät sekä asiakkaat että myös yritys itse. Tämän diplomityön tarkoituksena on tutkia, miten lokitietoja voidaan analysoida tiedonlouhinnan menetelmin. Tiedonlouhintaa ohjaavat reaalipalvelun käsitemalli ja liiketoimintaprosessit. Näin saavutetulla yhteydellä voidaan tutkia verkkopalvelun suhdetta reaalipalveluun ja verkkopalvelun käytön suhdetta tavoiteltuihin liiketoimintaprosesseihin. Seuraavaksi luvussa kaksi käsitellään reaali- ja verkkopalvelun mallinnusta. Siinä esitellään tämän työn kannalta keskeisimmät UML-kaaviotyypit ja kerrotaan, miten niillä voidaan mallintaa reaali- ja verkkopalvelua. Lisäksi luvussa esitellään myös muita verkkopalvelun mallintamiseen soveltuvia kieliä, joista useimmilla onkin selkeitä yhtäläisyyksiä UML:n kanssa. Kolmannessa luvussa kerrotaan perustiedot lokitiedoista ja perehdytään laajemmin webtiedonlouhintaan. Luvussa esitellään web-tiedonlouhinnalla tavoiteltavia hyötyjä, tyypillisen louhintaprosessin eri vaiheita ja niihin liittyviä toimenpiteitä sekä muutamia keskeisimpiä tiedonlouhintamenetelmiä. Neljäs luku yhdistää toisen ja kolmannen luvun tietoja. Siinä esitellään tarkemmin, miten reaalipalvelu on kytkettävissä verkkopalveluun ja edelleen, miten liiketoimintaprosessit ovat kytkettävissä lokitietoihin. Luvussa käsitellään myös käytännön välineitä analysoinnin tueksi. 2

12 Viides luku esittää vakuutusaiheisen case-tutkimuksen. Luku sisältää taustatietoa tutkimuksen ympärillä olevasta einsurance-hankkeesta ja tarkasteltavasta vahinkoilmoituslomakkeesta. Näiden tietojen pohjalta tutkitaan lomakkeen käytön onnistumiseen ja epäonnistumiseen liittyviä tekijöitä. Tutkimuksessa käytetään hyväksi mallinnuksen, tiedonlouhinnan ja käytettävyyden osa-alueita. Tulosten pohjalta annetaan jatkokehitysideoita käytön onnistumisen parantamiseksi. Viimeisenä oleva kuudes luku on varattu yhteenvedolle työn eri aihealueista. Siinä esitetään tutkimuksesta saatuja keskeisiä tuloksia ja samalla myös arvioidaan jatkokehitysmahdollisuuksia. 3

13 2. Reaali- ja verkkopalvelun mallintaminen 2.1 Mallit ja mallintaminen Mallit auttavat käyttäjää ymmärtämään monimutkaisiakin tosielämän ongelmia ja ilmiöitä. Ne tarjoavat yksinkertaistetun ja jäsennellyn kuvan kohteestaan, jotta käyttäjä voisi paremmin hahmottaa kokonaisuuden [1]. Mallintamisessa ei tavoitella sitä, että maailma olisi kyseisen mallin mukainen. Sen sijaan maailmaa vain kuvataan yksinkertaistetusti kyseisen mallin avulla analysoinnin helpottamiseksi. Takaisinmallinnuksen kohteena on valmis tuote. Tuotteen komponentit, niiden suhteet ja tuotteen toiminnallisuus pyritään analysoimaan ja johtamaan siitä ylemmän abstraktiotason malli. [2] Malleja käytetään suunnittelu- ja toteutusprosessin eri vaiheissa ja ne toimivat myös projektinhallinnan apuvälineinä [1]. Hyvän mallin ominaisuuksia ovat täydellisyys, tarkkuus, virheettömyys, ymmärrettävyys, testattavuus ja jäljitettävyys [3]. Harvoin kaikki mainitut ominaisuudet yhdistyvät täydellisesti hyvässäkään mallissa, mutta niitä voidaan pitää lähtökohtana mallia työstettäessä. Malli voidaan rakentaa 4

14 kuvaustekniikoiden eli notaatioiden avulla. Notaatiot ovat kieliä erilaisten asioiden ilmaisemiseksi. [3] 2.2 UML-standardin mukainen mallinnus UML-standardi yleisesti Tämä alakohta perustuu UML Superstructure 2.0 spesifikaatioon [4]. UML on OMG (Object Management Group) ryhmittymän vuonna 1997 hyväksymä notaatiostandardi. Sitä käytetään pääasiassa ohjelmistojen suunnittelussa, mutta nykyisin myös yhä enemmän liiketoiminnan ja tietovarastojen mallinnuksessa. UML koostuu joukosta erilaisia notaatioita. UML-standardin uusin versio 2.0 määrittelee 13 erilaista kaaviotyyppiä, jotka on jaettu kolmeen eri kategoriaan: rakenne-, käyttäytymis- ja keskustelukaaviot. Rakennekaavioihin kuuluvat luokka-, olio-, komponentti-, kooste-, paketti- ja sijoittelukaaviot. Käyttäytymiskaavioihin lukeutuvat käyttötapaus-, aktiviteetti- ja tilakaaviot. Keskustelukaavioita ovat sekvenssi-, kommunikaatio-, ajoitus- ja vuorovaikutuskaaviot. Laajennusmekanismien avulla UML:n perusosille voidaan määritellä lisäominaisuuksia. Seuraavissa alakohdissa tarkastellaan lähemmin tässä työssä tarpeellisia kaaviotyyppejä, luokkakaaviota ja aktiviteettikaaviota sekä tutustutaan hypermediasovellusten mallintamiseen UML:n avulla Luokkakaavio Tämä alakohta perustuu Haikalan ja Märijärven Ohjelmistotuotanto-kirjaan [3] ja UML Superstructure 2.0 spesifikaatioon [4]. Luokkakaaviolla esitetään luokkia, niiden välisiä yhteyksiä ja yhteyksiin liittyviä lukumääräsuhteita. Luokkakaavioita käytetään yleisesti hyväksi oliokeskeisien menetelmien suunnittelu- ja määrittelytehtävissä. Se kuvaa sovellusalueen käsitteet ja sillä voidaan määritellä tai rajata järjestelmän 5

15 tietosisältöä. Myös tietokantasuunnittelussa käytetään yleisesti luokkakaaviota, sillä luokkakaavion vastaavuus relaatiotietokantaan on selkeä. Luokat kuvaavat järjestelmän keskeisiä käsitteitä. Oliokeskeisissä menetelmissä luokkaan liitetään usein myös luokan attribuutit ja operaatiot. Kunkin luokan ilmentymä on olio. Luokkakaavioon luokka piirretään suorakulmiona, joka on jaettu kolmeen osaan. Ylimmäisessä osassa on luokan nimi, keskellä luokan attribuutit ja alimpana luokan operaatiot. Luokkien välillä on yhteyksiä eli assosiaatioita. Ne ovat oletusarvoisesti kaksisuuntaisia, mutta yksisuuntaisiakin yhteyksiä voi määritellä. Myös yhteyksiin voidaan liittää attribuutteja assosiaatioluokan avulla. Yhteyksiin voidaan liittää myös rajoitteita. Yhteydet luokkien väliin piirretään luokkakaavioon viivalla ja yhteyden nimi tulee kyseisen viivan päälle. Yhteyksien rajoitteet merkitään katkoviivalla yhteyksien välille. Yhteyksiin liittyvät lukumääräsuhteet kertovat montako oliota vähintään ja enintään voi liittyä tiettyyn olioon yhteyden toisessa päässä. Lukumääräsuhteet ovat muotoa N..M. Merkillä * voidaan kuvata monta, eli merkintä 1..* tarkoittaa yksi tai enemmän. Lukumääräsuhteet merkitään luokkakaavioon luokkien yhteyksien päihin. Luokkakaaviossa voi olla myös tavallisesta poikkeavia yhteyksiä luokkien välillä. Yleistäminen ja periytyminen ovat tapoja, joissa yksi luokka voi olla abstrakti yliluokka ja siitä voidaan periyttää alaluokkia. Alaluokat perivät yliluokan attribuutit ja operaatiot. Periytyminen kuvataan piirtämällä yhteyden yliluokan päähän nuoli. Jos alaluokkia on useita, voidaan nuolet yhdistää. Koostumisella ilmaistaan olion olevan toisen olion komponentti. Mikäli olio on kiinteästi riippuvainen toisesta oliosta, voidaan puhua muodosteesta. Koostuminen merkitään luokkakaavioon yhteyden päähän piirrettävällä vinoneliöllä. Muodosteen merkki on sama, paitsi nyt kyseinen neliö on väritetty mustakasi. Luokkakaavion komponenteille voidaan antaa lisäksi lisämääreitä stereotyyppien avulla. Ne merkitään kaksoisväkästen väliin ja esimerkiksi luokan tapauksessa luokan 6

16 nimen yläpuolelle. UML-standardi määrittelee joukon valmiita stereotyyppejä, mutta niitä saa keksiä myös vapaasti lisää. Kuva 2.1. Esimerkki asiakkaan ja vakuutuksen suhteesta. Yksinkertaistetussa esimerkissä luokkakaaviosta voitaisiin tarkastella vakuutuksen ja asiakkaan suhdetta (kuva 2.1). Asiakas ja vakuutus ovat luokkia ja niiden välillä on yhteys turvaa. Yhteyden lukumääräsuhteet ovat merkitty molempiin päihin tähdellä. Vakuutus voi siis liittyä moneen tai ei yhteenkään asiakkaaseen ja myös asiakkaalla voi olla monta tai ei yhtään vakuutusta. Vakuutuksella on tyyppi-attribuutti ja Asiakkaalla on nimi-attribuutti Aktiviteettikaavio Tämä alakohta perustuu UML Superstructure 2.0 spesifikaatioon [4]. Aktiviteettikaaviolla voidaan kuvata erilaisia algoritmeja ja prosesseja. Kaaviotyyppiä käytetään ohjelmistotuotannon lisäksi myös yleisissä liiketoimintaprosessien kuvauksissa. Aktiviteettikaaviolla kuvattavassa tapahtumassa voi yhtä aikaa toimia useita eri luokkia, jolloin jokaisella luokalla on oma ns. uimarata. Algoritmin alkua kuvataan täysin mustalla ympyrällä. Loppua kuvaa samanlainen ympyrä, jonka ympärille on vielä piirretty ohut rengas. Aktiviteetit on piirretty suorakulmioilla, joiden reunat on pyöristetty. Algoritmissa on usein mukana ehtoja, jotka kuvataan salmiakin muotoisilla merkeillä. Nuolet siirtävät toiminnan seuraavan aktiviteettiin tai ehtoon. Ehtojen valinnat ovat kuvattuna niitä seuraavien nuolien päälle hakasulkeiden sisään. Kahden aktiviteetin välillä voi lisäksi kulkea tietoa. Tietoa kuvataan suorakulmiolla ja sen kulkua katkoviivoitetuilla nuolilla. 7

17 Kuva 2.2. Esimerkki vakuutustiedon etsintä ja hyväksikäyttö -algoritmista. Esimerkkinä aktiviteettikaaviosta voidaan tarkastella yksinkertaista algoritmia, jonka tarkoituksena on ensin etsiä vakuutustietoa ja sen jälkeen tutustua siihen (kuva 2.2). Alkupisteen jälkeen vakuutustiedon etsiminen alkaa. Jos tietoa löytyi, tutustutaan siihen, jonka jälkeen algoritmi loppuu. Ellei tietoa taas löydy palataan uudelleen etsimään sitä Hypermediasovellusten mallinnus UML:n avulla pelkistetysti UML-standardi soveltuu hyvin hypermediasovellusten mallintamiseen. Standardia käyttävien menetelmien avulla voidaan suunnitella vaativiakin järjestelmiä. Luokkakaaviota voidaan soveltaa verkkopalvelun rakenteen mallintamiseen [5]. Tällöin kaavion luokka vastaa sivua/näkymää, luokan attribuutit vastaavat tietoja (yleisesti), luokan operaatiot vastaavat toiminnallisuuksia ja luokkien väliset yhteydet linkkejä. Myös laajempi verkkopalvelu voidaan mallintaa luokkakaavion avulla sopivasti yleistettynä. Kuva 2.3. UML-luokkakaavio sivustosta. Kuvassa 2.3 on mallinnettu yksinkertaiset verkkosivut UML-luokkakaavion avulla. Luokkina toimivat sivut ja niiden attribuutteina sivujen osat. Kotisivulta on yhteys linkit- ja vieraskirja-sivuille, jolloin kotisivulta voi käytännössä myös navigoida näille sivuille. Vieraskirja-sivulla on myös lisää viesti() toiminnallisuus, jolla voidaan lisätä uusi viesti vieraskirjaan. 8

18 Verkkopalvelun prosesseja voidaan kuvata aktiviteettikaavion avulla. Aktiviteetit vastaavat käyttäjän toimia verkkopalvelun sisällä ja ehdot luonnollisesti käyttäjän mahdollisia valintoja tai toteamuksia. Kuva 2.4. UML-aktiviteettikaavio verkkopalvelun prosessista yksinkertaistettuna. Kuvan 2.4 prosessissa verkkopalvelun käyttäjä selailee ensin sopivia tuotteita verkkopalvelun tuotetietoja. Toiminta jakaantuu siitä riippuen, löytyykö sopiva tuote vai ei. Mikäli sopiva tuote löytyy, lisätään tuote ostokoriin ja lisäostosten tarpeesta riippuen jatketaan ostoksia tai poistutaan kassan kautta. Mikäli sopivaa tuotetta ei toiminnan jakaantuessa löytynyt, toiminta jakaantuu uudelleen. Jos ostoskorissa oli tuotteita, maksetaan ne ja poistutaan, mutta jos korissa ei ollut tuotteita, poistutaan saman tien Hypermediasovellusten mallinnus UML:n avulla perusteellisemmin UML-standardin päälle on kehitetty myös monimutkaisempia ja erityisesti hypermediasovellusten (rakenteen) suunnitteluun tarkoitettuja suunnittelumenetelmiä [6] [7], joihin tämä alakohta perustuu. Niissä suunnitteluprosessi on jaettu neljään eri vaiheeseen: 1. Käsitteellinen mallinnus, 2. ja 3. Navigoinnin mallinnus ja 4. Ulkoasun mallinnus. Käsitteellisessä mallintamisessa mallinnetaan sovellusalueen käsitteet luokkakaavioksi. Käsitteitä mallinnettaessa käytetään aktiivisesti yleistämistä, periyttämistä, koostamista ja muodostamista. Käsitteiden lisäksi määritellään luokkien attribuutit, operaatiot ja suhteet toisiin luokkiin lukumäärineen. Vaikka suhteet tulevatkin määriteltyä, ei ensimmäisessä vaiheessa edes yritetä ottaa huomioon navigointiratkaisuja. 9

19 Navigoinnin mallinnus on jakaantunut kahteen osaan. Ensimmäisessä osassa (2. vaihe) määritellään, mitkä objektit ovat yhteydessä toisiinsa. Toisen vaiheen lähtökohtana on ensimmäisen vaiheen käsitemalli. Kaikki luokat ja yhteydet, jotka eivät ole välttämättömiä navigoinnin kannalta jätetään huomioimatta tai muutetaan toisten luokkien attribuuteiksi. Yleisesti pyritään välttämään yli yhden pituisia polkuja pääsivujen välillä, joten tämän seurauksena kaavioon myös lisätään yhteyksiä luokkien välille. Vaiheen tuloksena on luokkakaavio (kuva 2.5), johon perustuu myös navigoinnin mallinnuksen toinen vaihe. Kuva 2.5. Navigointimalli (1.vaihe) yrityksen verkkopalvelusta [6]. Navigoinnin mallinnuksen toisessa vaiheessa (3. vaihe) määritellään, miten objektit ovat yhteydessä toisiinsa. Vaihe on kaksijakoinen. Ensin laajennetaan edellisen vaiheen luokkakaaviota navigoinnin osalta tarpeen mukaan erilaisin elementein (hakemistot, opastetut kierrokset, kyselyt), jonka jälkeen johdetaan valikkoina toimivat elementit. Vaiheen lopputuloksena on luokkakaavio tyyppinen esitys verkkopalvelun rakenteesta ja navigointimahdollisuuksista Neljäntenä ja viimeisenä vaiheena on ulkoasun mallinnus. Nimestään huolimatta vaihe ei ota kantaa fyysiseen ulkoasuun (värit ym.), vaan ennemminkin eri elementtien sijoitteluun. Ulkoasun malli koostuu staattisesta ja dynaamisesta mallista. Staattinen malli kuvaa siis luokkakaavion avulla staattisen ulkoasun. Dynaaminen malli taas kertoo, miten eri elementit vastaavat käyttäjän toimintaan ja se on kuvattavissa tilakaavion avulla. 10

20 Suunnittelumenetelmät perustuvat kokonaan UML-standardin mukaisen luokkakaavion (ja tilakaavion). Suunnittelun vaiheiden eri osissa kaavioita laajennetaan moninkin eri stereotyypein, mutta yhtä kaikki, kokonaisuus pysyy standardin mukaisena. Tästä seuraa välittömänä hyötynä se, että voidaan käyttää olemassa olevia UML-standardin mukaisia mallinnusohjelmistoja Motivaatio reaalipalvelun mallintamiseen UML-standardin välineillä Reaalipalvelua ei ole tyypillisesti mallinnettu UML-standardiin nojautuen, eikä UMLstandardia myöskään ole alun perin tähän tarkoitukseen suunniteltu. UML on kuitenkin joustava standardi, joka taipuu monenlaisiin käyttötarkoituksiin. Lisäksi sen käyttöön on olemassa mm. taloudellisia ja käytännöllisiä perusteluja. Monilla tietotekniikka-alaa ainakin sivuavilla yrityksillä on jo valmiiksi hallussaan UML-standardin mukaisia mallinnusohjelmistoja. Usein samoilla yrityksillä on myös henkilökuntaa, joka osaa käyttää kyseisiä ohjelmistoja. Tällöin voidaan saavuttaa useiden tuhansien eurojen säästöjä, koska uusia ohjelmistoja ei tarvitse ostaa ja henkilökunnan koulutuksen tarvekin on vähäisempää. Käytännöllinen hyöty mallinnettaessa reaalipalvelu UML-standardin mukaisesti on mallin vastaavuus esimerkiksi ohjelmistotuotannon vastaaviin malleihin. Näin voidaan vertailla mallien vastaavuutta ja tarvittaessa tehdä muutoksia malleihin. Mikäli esimerkiksi verkkokaupan suunnitellun ostoprosessin kuvaavassa aktiviteettikaaviossa havaitaan oleellinen ristiriita reaalipalvelun vastaavaan ostoprosessiin, voidaan suunnittelua tarpeen vaatiessa muuttaa. Tästä vastaavuudesta puhutaan lisää tämän työn luvussa neljä Reaalipalvelun mallinnus UML-standardin välineillä Reaalipalvelu voidaan yksinkertaistaa koostuvaksi palvelualueen käsitteistä, niiden suhteista ja prosesseista. Tässä alikohdassa kerrotaan miten reaalipalvelu on mallinnettavissa luokka- ja aktiviteettikaavioiden avulla. 11

21 Palvelualueen käsitteen voidaan suoraan mallintaa luokkakaavion luokkina, jolloin luonnollisesti niiden väliset suhteet mallinnetaan luokkien välisinä yhteyksinä. Mikäli palveluun liittyy attribuutteja tai toimintoja, mallinnetaan ne suoraa luokkien attribuutteina ja toimintoina. Stereotyyppien käytöllä tässä yhteydessä on hyvä tarkentaa eri komponenttien ominaisuuksia. Kokonaisuutena käsitteiden mallinnus vastaa pitkälti tavallista luokkakaavion suunnitteluprosessia. Reaalipalveluiden tapauksessa luokkakaavioista tulee helposti huomattavan laajoja, jolloin on järkevää pohtia mallin yksinkertaistamista/rajoittamista käyttötarkoituksen perusteella. Esimerkiksi ei ole tarkoituksenmukaista mallintaa koko tavaratalon käsitteistöä, jos halutaan tutkia kassahenkilön toimenkuvaa. Reaalipalveluun liittyvien prosessien mallinnukseen luonteva kaaviotyyppi on aktiviteettikaavio [8]. Se on suunniteltu juuri algoritmien ja prosessien kuvaukseen, jolloin prosessien suunnittelu ainakin yksinkertaistetusti on jopa triviaali toimenpide mallinnuksen teknisen puolen näkökulmasta. 2.3 UML-malleista semanttisen webin välineisiin Semanttinen web lyhyesti Semanttinen Web on järjestelmä, jonka päämääränä on esittää dataa tietokoneohjelmien ymmärtämässä muodossa. Se ei ole nykyisen webin ulkopuolinen verkko, vaan ennemminkin laajennus, jossa data olisi kaikkien eri osapuolten ymmärtämässä muodossa.. Toteutuessaan Semanttinen Web voisi olla siis maailmanlaajuinen tietokanta, josta tietoa voitaisiin hakea monimutkaisillakin tavoilla. [9] Semanttisen webin kannalta kaksi tärkeää teknologiaa on jo standardisoitu: XML (Extensible Markup Language) [10] ja RDF (Resource Description Framework) [11]. XML-merkkauskielestä puhutaan enemmän seuraavassa aliluvussa RDF antaa tiedolle merkityksen eli sillä kuvataan metatietoa. Kuvaus tapahtuu kolmikkojen subjekti, predikaatti ja objekti avulla [11]. RDF-kuvailutietoa voidaan julkaista XML- 12

22 merkkauksen yhteydessä. RDF ei ole ainoa, eikä vahvin kuvailukieli Semanttisen Webin metatiedolle, mutta se on yleisimmin käytetty ja de facto standardi. RDF-kuvailutietoon voidaan tehdä hakuja kyselykielten avulla. Yhtään kyselykieltä ei ole vielä virallisesti standardoitu, mutta lähimpänä standardointia on SPARQL (SPARQL Protocol And Query Language, tätä dokumenttia kirjoittaessa SPARQL on jo ns. last call vaiheessa) [12]. SPARQL on melko yksinkertainen kyselykieli, joka nojautuu vahvasti RDF-graafin rakenteeseen. SPARQL-kyselyt eivät oletuksena tulkitse semanttista päättelyä, mutta kyselymekanismi sallii kuitenkin laajennukset. Ontologiat ovat teknisesti formaaleja, koneen tulkittavissa olevia kuvauksia niistä käsitteistä ja näiden välisistä suhteista, joita älykkäällä toimijalla ja toimijajoukolla on käytettävissään [13]. Semanttisen Webin ontologiat ovat sanastoja, joiden avulla tietoverkkojen sisällöt (metatiedot) voidaan ilmaista koneen ymmärtämällä tavalla. Koneymmärrettävät sisällöt mahdollistavat yhteentoimivuuden lisäksi entistä älykkäämpien järjestelmien kehittämisen [14]. Ontologiat ovat Semanttisen Webin kolmas keskeinen teknologia XML:n ja RDF:n lisäksi. Ontologioiden kieleksi on määritelty OWL (Web Ontology Language ja se on jo W3C:n (World Wide Web Consortium) standardoima [15]. OWL käyttää hyväkseen RDF:ää ja RDF-skeemaa (RDF Schema), lisäten niiden päälle vielä lisää mahdollisuuksia sanastojen määrittelyyn XML XML on yksinkertainen ja joustava kieli sähköiseen tiedonjulkaisuun ja -vaihtoon [10]. XML-kieli on tarkoitettu koneiden tuottamaksi ja luettavaksi, mutta sen suunnittelussa on otettu huomioon myös kielen luettavuus ihmisten näkökulmasta. Kieltä käytetään pääasiassa tekstimuotoisen tiedon esittämiseen, mutta sillä voidaan kuvata myös grafiikkaa ja sitä voidaan käyttää ohjelmistojen sisäisessä tiedonsiirrossa. XML-perhe ei ole yksi standardi, vaan laajempi joukko tekniikoita. Kaiken perusta on kuitenkin XML 1.0 merkkauskieli, johon edellisen kappaleen lauseetkin viittaavat. XML 1.0 määrittää miten rakenteisia dokumentteja tulisi merkata ja kuinka dokumentin 13

23 looginen rakenne voidaan osoittaa. Muita tärkeitä suosituksia ovat XML-nimiavaruudet, XSL (Extensible Stylesheet Language) muunnos, XML dokumenttien tyyppimääritykset ja XML-skeemat. Merkittäviä suosituksia olisi toki enemmänkin, mutta tämän työn kannalta ei ole järkevää esitellä niitä kaikkia. [16] Kuva 2.6. Esimerkki XML-dokumentista. Kuvassa 2.6 on esimerkki XML 1.0 standardin mukaisesta dokumentista. Dokumentti koostuu merkkauksesta ja merkkidatasta. Dokumentin elementit ja attribuutit ovat merkkausta ja niiden arvot vastaavasti merkkidataa. Elementit koostuvat standardin mukaan aina alku- ja lopputagista, poikkeuksena tyhjät elementit, joilla on vain alkutagi. Attribuutit liitetään elementin alkutagiin ja niillä on aina nimi ja arvo. XML-nimiavaruudet yksilöivät sanastoja URI (Uniform Resource Identifier) tunnisteiden avulla [17]. Sanastoilla tarkoitetaan XML-dokumenttien elementtejä ja attribuutteja. XML-nimiavaruuksien avulla dokumentti voi sisältää useita eri sanastoja ilman, että ne sekoittuvat toisiinsa. Elementeillä on aina oletusnimiavaruudet, joihin ne jälkeläisineen kuuluvat [17]. Elementin nimiavaruus on kuitenkin mahdollista muuttaa toiseksi etuliitteen avulla. XSL-muunnoksen avulla voidaan muuntaa XML-dokumentteja toisiksi XML- tai muiksi dokumenteiksi [18]. Muunnos määrittelee säännöt, joilla lähdedokumentin jäsennystä vastaava lähdepuu on kuvattavissa tulospuuksi. Muunnoksessa verrataan määriteltyjä hahmoja lähdepuuhun ja muodostetaan mallipohjien avulla tulospuu. XSLmuunnos on fyysisesti XML-merkkausta, mutta ulkonäöstään huolimatta se voidaan laskea ohjelmointikieleksi. XML-skeema (XML Schema) on W3C:n suositus XML 1.0 dokumenttien tyypin määrittelyyn [19]. Dokumentin tyypillä tarkoitetaan mallia dokumentin elementti- ja attribuuttirakenteelle [20]. Dokumentin tyypin täsmällinen määrittely on ensiarvoisen tärkeää, sillä ilman sitä XML-dokumentit ovat tietokoneille vain merkkidataa, vailla loogista merkitystä. XML-skeema ei kuitenkaan ole ainoa käytössä oleva 14

24 tyyppimäärityskieli, vaan mm. yksinkertaisempi XML DTD (Document Type Declaration) [10] on myös hyvin yleisesti käytössä. XML-skeeman edut XML DTD:hen nähden ovat datatyyppien monipuolisempi ja perusteellisempi määrittely sekä nimiavaruuksien huomattavasti parempi huomiointi. Kuva 2.7. Esimerkki XML-skeema-tyyppimäärityskielestä. Kuvassa 2.7 on esimerkki skeemasta, jolla voitaisiin määritellä kuvan 2.5 XMLdokumentin tyyppi. Ensin määritellään elementti työntekijä, joka on tyypiltään kompleksinen. Kompleksinen tyyppi voi sisältää muita elementtejä ja/tai sillä voi olla attribuutteja. Kompleksisen elementin sisällä on ensin sekvenssi, jonka sisällä edelleen on ainoana elementtinä merkkimuotoinen nimi. Sekvenssin lisäksi kompleksisen elementin sisällä on sen attribuutti id, joka on tyypiltään merkkimuotoinen UML-standardista XML-skeemoihin UML-standardin mukainen luokkakaavio voidaan suoraviivaisesti kuvata XMLskeeman avulla OMG-ryhmittymän määrittelemän MOF (Meta Object Facility) 2.0 XMI (XML Metadata Interchange) Mapping -spesifikaation perusteella [21]. Taulukossa 2.1 on lyhyesti esittely, miten yleisimmät luokkakaavion komponentit kuvataan XML-skeeman avulla. Taulukko 2.1. UML-komponenttien kuvaus XML-skeeman avulla [22]. UMLkomponentti Komponentin esitys XML-skeeman avulla Pakkaus Pakkauksesta generoidaan skeema (schema-elementti). Jos pakkaus sisältää luokkia toisesta pakkauksesta, jolla on annettu arvot targetnamespace ja targetnamespaceprefix, nämä 15

25 sisällytetään (include) skeeman attribuuteiksi. Luokka Attribuutti Yhteys Yleistäminen (Periytyminen) Kaikista viitatuista pakkauksista luodaan import- tai includeelementti. Include-elementtiä käytetään, kun ulkoinen pakkaus jakaa saman nimiavaruuden ja import-elementtiä, kun nimiavaruus ei ole sama. Luodaan juuritason elementti, joka on tyypiltään kompleksinen (complextype). Elementin nimi ja tyyppi ovat samoja kuin luokan nimi. Luokan sisältämiä attribuutteja varten luodaan sekvenssi. Jokaiselle luokan attribuutille luodaan oma elementti. Elementin nimeksi annetaan luokan nimi lisättynä attribuutin nimellä (esimerkiksi luokka.attribuutti). Asetetaan elementin lukumääräsuhteet (minoccurs ja maxoccurs) attribuutin kardinaliteetin mukaan (mikäli määritelty). Jos attribuutti viittaa toiseen luokkaan, elementtiä seuraa kompleksinen tyyppi (complextype) -määrittely, joka sisältää viittauksen vastaavaan kompleksiseen tyyppiin. Luodaan elementti jokaista luokasta lähtevää yhteyttä kohti. Elementin nimeksi annetaan luokan nimeen lisätty yhteyden nimi. Elementtiä seuraa kompleksinen tyyppimäärittely (complextype), joka sisältää elementin, jolla on viittaus (refattribuutti) yhteyden toisen pään elementtiin. Viittauksen lisäksi määritellään lukumääräsuhteet (minoccurs ja maxoccurs) yhteyden kardinaliteetin mukaan. Mikäli yhteyden suuntaa ei ole määritelty, voidaan se puoli, johon elementti luodaan, olettaa lähtöpisteeksi. Yliluokasta periytetylle alaluokalle luodaan aluksi tavallisen luokan tapaan juuritason elementti, joka on tyypiltään kompleksinen (complextype). Elementti laajentavat yliluokkaa, joten se merkataan laajennus-elementillä (extension), jonka kanta-attribuutin (base) arvoksi annetaan yliluokan nimi. 16

26 Kuvan 2.1 tilanne, jossa vakuutus turvaa asiakkaan, voitaisiin siis määritellä myös XML-skeeman avulla. Esimerkkikoodi tilanteesta kuvassa 2.8. Kuva 2.8. XML-skeeman koodi kuvan 2.1 luokkakaavion pohjalta. Prosessi onnistuu tietenkin myös käänteisesti, eli XML-skeema (kuten myös XML DTD) voidaan kuvata UML-luokkakaavion avulla. 2.4 Mallinnuskieliä erityisesti hypermediasovelluksille RMM Tämä alakohta perustuu artikkeleihin [23] ja [24]. RMM (Relationship Management Methodology) on suunnittelumenetelmä, joka mahdollistaa sekä koko sovelluksen että yksittäisten sivujen sisällön ja rakenteen suunnittelun. Lisäksi se ottaa suunnittelussa huomioon navigoinnin ja sovelluksen toiminnallisuuden. RMM-menetelmällä voidaan suunnitella pieniäkin sovelluksia, mutta sen hyödyt tulevat erityisesti esille suunniteltaessa laajoja kokonaisuuksia. RMM-menetelmän kivijalka on RMDM-tietomalli. Se on ER (Entity-Relationship) ja HDM (A Model for the Design of Hypertext applications ) malleista kehitetty tapa mallintaa hypermediasovelluksen käsitteitä, niiden välisiä yhteyksiä ja yhteyksien 17

27 lukumääräsuhteita. RMDM-mallissa on valmiina komponentit tietoalkioiden, näkymien ja mitä erilaisimpien navigointirakenteiden suunnitteluun. Menetelmässä suunnittelu on jaettu seitsemään eri välivaiheeseen, jotka toistuvat pääasiallisesti sarjassa. Vaikka menetelmässä edetäänkin vesiputousmallin tyyppisesti vaiheesta toiseen, voidaan suunnittelussa aina palata myös alkuun ja aloittaa uusi kierros. Erityisen huomion kohteena menetelmässä ovat kolme ensimmäistä vaihetta. Vaihe 1: Tietomallin suunnittelu. Mallinnetaan sovellusalueen käsitteet tietoalkioksi. Lisäksi määritellään tietoalkioiden väliset suhteet ja nimetään ne. Ensimmäisen vaiheen tuloksena saadaan tietomalli ER-kaaviona. Mallinnuksessa käytettävä ER-kaavio muistuttaa paljon aikaisemmin esitettyä UML-luokkakaaviota ja voisi olla esitettävissä myös sen avulla. Vaihe 2: Näkymien suunnittelu. Jakamalla tietoalkiot sopiviin pienempiin palasiin, saadaan muodostettua tietoalkion näkymät. Tietoalkiolla voi olla useita eri näkymiä, mutta sillä on oltava ainakin yksi oletusarvoinen näkymä head. Näkymien väliset yhteydet määritellään ja nimetään. Vaiheen tarkoitus on antaa suunnittelijalle mahdollisuus erityisesti keskittyä kerrallaan yhteen tietoalkioon ja suunnitella sen sisältöä. Tuloksena saadaan rikastettu ER-kaavio, eli ER+ -kaavio. Siinä on edellisen vaiheen ER-kaavion lisätty jokaiseen tietoalkioon sen näkymäsuunnittelu. Vaihe 3: Navigaation suunnittelu. Suunnitellaan menu-tyyppiset navigointirakenteet sovellukselle. Valitaan myös tietomallin tietoalkioiden välisistä yhteyksistä nyt ne, jotka ovat lopullisessa sovelluksessa navigoitavissa. Kolmas vaihe tuottaa sovelluksen RMDM-kaavion, jossa navigointiratkaisut on otettu huomioon. Vaihe 4: Muunnosprosessin suunnittelu. Määritellään säännöt joilla suunnitellut komponentit voidaan muuntaa kohdejärjestelmän mukaisiksi. Muunnos voidaan tehdä käsin (esim. html (Hypertext Markup Language [25])) tai automaattisesti (esim. ohjelmointikieli ja tietokanta). Vaiheen tuloksena ovat muunnossäännöt. 18

28 Vaihe 5: Käyttöliittymän suunnittelu. Luonnostellaan käyttöliittymän yleinen ilme ja sijoitetaan kaikki vaiheen kolme RMDM-kaavion komponentit (navigointi, sisältö ym.) sivupohjiin. Vaihe 6: Ajonaikaisen toiminnallisuuden suunnittelu. Suunnitellaan miten sovelluksen toiminnallisuus muuttuu käyttäjän toimien mukaan. Voidaan siis esimerkiksi jäsentää käyttöliittymää asiakkaan navigointihistorian tai hänen tekemien hakujen perusteella. Vaihe 7: Toteutus ja testaus. Käytännön ohjelmointi ja merkkaus vaihe, jossa rakennetaan sovellus. Testauksessa todetaan sovelluksen toimivuus, erityisesti navigoinnin osalta. Verkkopalveluiden laajetessa ja niiden määrän lisääntyessä, on tullut tarvetta vakinaisille suunnitteluprosesseille. Tällöin projektien henkilökunta ja johto pystyy paremmin seuraamaan edistymistä ja hoitamaan oman osansa oikea-aikaisesti. RMM on yksi hyvä ja melko suosittu tapa vastata tähän tarpeeseen WebML Tämä alakohta perustuu artikkeliin [26]. WebML (Web Modeling Language) on mallinnuskieli datakeskeisille hypermediasovelluksille. Sen avulla voidaan suunnitella sovelluksen ydintoiminnot ottamatta kantaa sovelluksen arkkitehtuuriin. WebML hyödyntää XML-kieltä, jolloin tehty suunnittelu voidaan suoraa kääntää ohjelmakoodiksi sopivilla työvälineillä. Suunnitteluprosessi koostuu karkeasti jaoteltuna neljästä vaiheesta. Prosessissa on eriytetty sovelluksen rakenne, rakenteen osien väliset yhteydet, ulkoasu ja personointi. Menetelmästä hyödytään, kun jokaista prosessin osaa voidaan valita suunnittelemaan sen osa-alueen ammattilaiset. Vaihe 1: Rakennemalli. Mallinnetaan sovellusalueen käsitteet tietoalkioiksi ja määritellään niiden väliset suhteet. Malli voidaan esittää graafisesti ER-kaavion tai 19

29 UML-luokkakaavion avulla, mutta yhtä hyvin se voidaan kuvata myös XMLdokumenttina. Vaihe 2: Hypertekstimalli. Hypertekstimallilla kuvataan yhtä tai useampaa hypertekstiä, jotka sivuilla julkaistaan. Hyperteksti määrittää mallissa näkymän. Näkymä koostuu ladonta- ja navigointimalleista, jotka ovat hypertekstimallin alimalleja. Vaihe 3: Esitysmalli. Esitysmalli määrittää taiton sovellukselle. Se on laite- ja ohjelmointiriippumaton tapa kuvata taittoa XML-kielen avulla. Kuvaukset voivat olla yleisiä koko sivustolle, mutta myös yksittäisten sivujen ulkoasu voidaan määritellä erikseen. Vaihe 4: Personointimalli. Vaiheessa mallinnetaan käyttäjien personointiin liittyviä ominaisuuksia. Voidaan siis luoda sääntöjä, joilla verkkopalvelua mukautuu käyttäjän antamien tietojen tai hänen tekemien toimien mukaan. Nämä säännöt voidaan mallintaa XML-kielellä. Esimerkki säännöistä voisi olla vaikka levykaupan suositus vastaavista levyistä, mitä käyttäjä juuri katsoo. Personointia voidaan liittää yksittäisten käyttäjien lisäksi myös tiettyihin käyttäjäryhmiin. WebML-mallinnuskieli kattaa koko verkkopalvelun rakenteellisen suunnitteluprosessin, lisäten siihen vielä tavan mallintaa ulkoasua, käyttäjiä ja personointia. Sitä on jo käytetty verkkopalvelun suunnittelualustoissa, jotka osaavat automaattisesti generoida koodia erilaisten mallien pohjalta. Tarkoitus on luoda alusta, joka osaa WebML-kielellä tehdyn mallin pohjalta tehdä multimodaalisia verkkopalveluita OOHDM Tämä alakohta perustuu artikkeliin [27]. OOHDM (Object-Oriented Hypermedia Design Model) on oliopohjainen suunnittelumalli laajojen hypermediasovellusten suunnitteluun. Siinä on erityisesti pyritty kiinnittämään huomiota sovellusten tietorakenteen ja navigoinnin kuvauksiin. 20

30 OOHDM-malli koostuu neljästä eri vaiheesta: vaatimusten määrittelystä, käsitteellisestä mallintamisesta, navigoinnin suunnittelusta ja käyttöliittymän suunnittelusta. Lisäksi loppuun voidaan vielä lisätä toteutusvaihe. Vaiheita voidaan käydä läpi myös ohjelmistotuotannosta tuttujen protoilu- tai inkrementaalisten mallien [3] tapaan. Jokaisessa vaiheessa muodostetaan oliopohjainen malli, jota sitten seuraavissa iteraatiokierroksissa voidaan rikastaa. Myös luokittelu, koostaminen ja yleistäminen/erikoistaminen ovat käytössä kaikissa suunnitteluprosessin vaiheissa. Vaihe 1: Vaatimusten määrittely. Vaiheessa määritellään toimijat, käyttöskenaariot ja näiden välinen yhteys. Käytännössä tämä tapahtuu esimerkiksi käyttötapauskaavion muodossa. Vaihe 2: Käsitteellinen mallintaminen. Mallinnetaan sovellusalueen käsitteet tietoalkioiksi. Määritellään lisäksi käsitteiden väliset yhteydet, niiden lukumääräsuhteet ja käsitteeseen liittyvät attribuutit. Yleisesti mallintamisen käytetään UMLluokkakaaviota. Vaiheen lopputuloksena saadaan sovellusalueen käsitekaavio eli UML:n tapauksessa luokkakaavio. Vaihe 3: Navigoinnin suunnittelu. Suunnitellaan ensimmäisen ja toisen vaiheen pohjalta sovelluksen navigointimalli. Suunnittelu voidaan tehdä vaikka käsitekaavioon, jolloin käsitteet toimivat näkyminä ja käsitteiden väliset yhteydet linkkeinä. Samalle sovellukselle voidaan tehdä useita navigoinnin suunnitteluja, jolloin eri suunnitelmat edustavat erilaisia navigointimahdollisuuksia erilaisissa tilanteissa. Vaihe 4: Käyttöliittymän suunnittelu. Mallinnetaan käyttöliittymän eri visuaaliset objektit käyttöliittymäluokiksi. Nämä luokat ovat koosteluokkia yleisemmistä luokista, kuten tekstikenttä- tai painike- ja rekursiivisesti toisista käyttöliittymäluokista. Visuaaliset objektit liittyvät edellisen vaiheen navigoinnin objekteihin. Vaiheessa voidaan myös määritellä, miten objektit reagoivat käyttäjän toimiin. Viimeisenä vuorossa olevassa toteutusvaiheessa toteutetaan ja otetaan käyttöön suunniteltu sovellus. OOHDM-mallia on onnistuneesti käytetty multimedia- ja websovellusten suunnittelu- ja toteutustyössä. 21

31 3. Lokitietoanalyysi 3.1 Lokitieto Lokitiedolla tarkoitetaan systemaattisesti pidettyä päiväkirjaa eli sellaista kirjanpitoa, johon on aikajärjestyksessä lisätty merkintöjä tietynlaisista tapahtumista [28]. Lokitietoja kerätään resurssien käytön seurannan ja optimoinnin vuoksi. Myös tietoturvallisuutta voidaan seurata lokitietojen avulla. Lokitietoja luovat monet ohjelmat aina käyttöjärjestelmistä yksinkertaisiin skriptiohjelmiin. Tässä luvussa keskitytään erityisesti http-palvelimiin ja niiden lokitietoihin. Käyttöjärjestelmät ja monet muut ohjelmat luovat lokeja. Ne ovat tärkeitä, kun halutaan tietää, miten johonkin outoon tilanteeseen päädyttiin, vaikka kyseessä ei olisikaan tahallinen tietoturvaloukkaus. Keskitytään nyt erityisesti http-palvelimiin ja niiden lokitietoihin. Saatavan lokitiedon tarkka syntaksi riippuu aina http-palvelinohjelmistosta. Ylivoimainen markkinajohtaja alalla on Apache HTTP Server -ohjelmisto lähes 70 % markkinaosuudella [29]. Toinen merkittävä tekijä on Microsoft IIS (Internet Information Services) ohjelmistollaan. Saatavasta datasta järjestelmän ylläpitäjä voi tarkkailla palvelimen kuormitusta ja ratkaista mahdollisia ongelmia ja virhetilanteita. Apachen palvelinohjelmisto sisältää Access- (eli tapahtuma-), Error-(eli virhe-), PID 22

32 File-, Script- ja Rewrite-lokit, joista kaksi ensin mainittua ovat merkittävimmät liittyen palvelimen tapahtumiin ja virhetilanteisiin [30]. Kuva 3.1. Esimerkki tapahtumalokin tapahtumasta. Tapahtumaloki kirjaa ylös kaikki palvelimelle tulevat http-pyynnöt. Ylläpitäjä voi itse määritellä lokitietojen muodon ja kirjattavat tiedot, mutta yleisesti käytössä kaksi formaattia: CLF (Common Log Format) ja CoLF (Combined Log Format) [30]. CLFrivi koostuu seuraavaista tiedoista: etäisäntä, etäkäyttäjä, tunnistettu käyttäjä RFC1413, pvm, URL (Uniform Resource Locator), pyynnön tila, siirretty tavumäärä. CoLF:ssa on lisäksi tiedot asiakkaan selaimesta (agentti) ja mistä selain linkittyi. Esimerkki CLF:n mukaisesta rivistä on kuvassa 3.1. Kuva 3.2. Esimerkki virhelokin tapahtumasta Virheloki on järjestelmän ylläpitäjän tärkein työväline. Se sisältää tiedot kaikista virhetilanteista, joita palvelimella tapahtuu http-pyyntöjen käsittelyssä. Virheloki kuvaa, mikä virhetilanteessa meni pieleen ja yleensä vielä, miten sen voi korjata. Lokin formaatti ei ole niin tarkka kuin tapahtumalokissa, mutta tietyt tiedot, kuten aika, virheen vakavuus, asiakkaan IP:n (Internet Protocol) ja virheen kuvaus, löytyvät yleensä lokitapahtumasta. Esimerkki virhelokista, jossa sivua ei löydy, on kuvassa Web-tiedonlouhinta Web-tiedonlouhinta yleisesti Tiedonlouhinta on ei-triviaalia implisiittisen ja aiemmin tuntemattoman tiedon keräämistä datasta. [31]. Se tulee avuksi silloin, kun tutkittavan datan määrä tai laatu on liian monimutkaista tutkittavaksi ihmiselle. Web-tiedonlouhinta on tiedonlouhintaa webissä [32]. Tietoa voidaan louhia webistä sisällön, rakenteen ja käytön perusteella 23

33 [33]. Käyttötiedonlouhintaa voidaan tehdä lokitietoja hyväksikäyttäen ja jatkossa keskitytäänkin erityisesti siihen osa-alueeseen. HTTP-palvelimet sisältävät valtavat määrät dataa, josta on jalostettavissa kiinnostavaa tietoa web-tiedonlouhinnan menetelmin. Keräämällä tietoa verkkopalvelun käyttäjistä ja miten he verkkopalvelua käyttäjät, voidaan kehittää verkkopalvelua suuntaan, joka on edullinen molemmille osapuolille. Seuraavissa alakohdissa tarkastellaan yleisimpiä web-tiedonlouhinnalla tavoiteltavia hyötyjä. Web-tiedonlouhintaprosessin eri vaiheita on esitelty kohdassa 3.3 ja siihen liittyviä erilaisia menetelmiä kohdassa Personointi Verkkopalvelun personoinnissa palvelua mukautetaan käyttäjän ominaisuuksia ja tarpeita vastaavaksi [33]. Personointi voidaan kohdistaa verkkopalvelun sisältöön, rakenteeseen ja ulkoasuun, ensin ja viimeksi mainitun ollessa kuitenkin yleisimmät tavat [33]. Hyvä esimerkki toimivasta sisällön personoinnista on verkkokauppa Amazon (kuva 3.3). Amazon personoi sisältöä verkkosivuillaan käyttäjän oman, muiden käyttäjien ja ulkopuolisten sponsorien välittämän tiedon perusteella. Toimivalla personoinnilla yritysten on mahdollista kasvattaa tulostaan, mutta se tuo lisäarvoa myös tavalliselle käyttäjälle. Kuva 3.3. Amazon verkkokauppa suosittelee dynaamisesti kirjoja Personointia voidaan tehdä verkkopalveluissa manuaalisesti tai automaattisesti. Manuaalisessa personoinnissa käyttäjältä kysytään suoraan esimerkiksi lomakkeiden avulla, mistä hän on kiinnostunut. Manuaalinen personointi vaatii myös käyttäjien 24

W3C-teknologiat ja yhteensopivuus

W3C-teknologiat ja yhteensopivuus W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

UML-kielen formalisointi Object-Z:lla

UML-kielen formalisointi Object-Z:lla UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Paikkatiedot ja Web-standardit

Paikkatiedot ja Web-standardit Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide

Lisätiedot

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: Semanttinen Web (SW) on

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat

Lisätiedot

The OWL-S are not what they seem

The OWL-S are not what they seem The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita

Lisätiedot

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

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

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen Unified Modeling Language (UML) 582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja Eero Hyvönen Semanttinen web Linkitetyn avoimen datan käsikirja WSOY:n kirjallisuussäätiö on tukenut teoksen kirjoittamista Copyright 2018 Eero Hyvönen & Gaudeamus Gaudeamus Oy www.gaudeamus.fi Kansi:

Lisätiedot

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1 Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen

Lisätiedot

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisuus kahdella tasolla Oppimisaihiot ( Learning Objects

Lisätiedot

XML johdanto, uusimmat standardit ja kehitys

XML johdanto, uusimmat standardit ja kehitys johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

Lisätiedot

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium (W3C) on kansainvälinen

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta Palveluita ja sisältöä portaaliin - XML:n mahdollisuuksista XML-tietokannat ja julkishallinnon XML-sovellukset, 28.05.2002 Lasse Akselin, TietoEnator Oyj Sisällys Valtion tietotekniikan rajapintasuosituksia

Lisätiedot

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.

Lisätiedot

UML:n yleiskatsaus. UML:n osat:

UML:n yleiskatsaus. UML:n osat: UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän

Lisätiedot

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin

Lisätiedot

Analyysi on tulkkaamista

Analyysi on tulkkaamista Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti

Lisätiedot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot Arkkitehtuuripankki Mallintamisen metamalli ja notaatiot 21.2.2018 Sisältö Kuvaustapa (notaatio) ja standardit Mallityypit Metamalli Muuta Kuvaustavat ja hyödynnetyt standardit JHS179 template ArchiMate

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

standardit (W3C, ISO) Semanttisen laskennan tutkimusryhmä Teknillinen korkeakoulu kim.viljanen@tkk.fi

standardit (W3C, ISO) Semanttisen laskennan tutkimusryhmä Teknillinen korkeakoulu kim.viljanen@tkk.fi Semanttisen webin standardit (W3C, ISO) ja teknologiat Kim Viljanen Kim Viljanen Semanttisen laskennan tutkimusryhmä Teknillinen korkeakoulu kim.viljanen@tkk.fi SeCon Semantic web -patteristo XML Finland

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Verkkopalveluiden saavutettavuus

Verkkopalveluiden saavutettavuus Verkkopalveluiden saavutettavuus Puhuja: Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Paikka: Helsinki, Tieteiden talo, 24.3.2011 Johdanto Verkkopalvelun saavutettavuus

Lisätiedot

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Terveyden

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

W3C ja Web-teknologiat

W3C ja Web-teknologiat W3C ja Web-teknologiat Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium (W3C) on kansainvälinen

Lisätiedot

W3C ja alueellinen standardointi

W3C ja alueellinen standardointi W3C ja alueellinen standardointi Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C on kansainvälinen konsortio

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...

Lisätiedot

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , ) Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia. 4. Periytyminen 4.1. Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

UML - unified modeling language

UML - unified modeling language UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:

Lisätiedot

Lomalista-sovelluksen määrittely

Lomalista-sovelluksen määrittely Thomas Gustafsson, Henrik Heikkilä Lomalista-sovelluksen määrittely Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Dokumentti 14.10.2013 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Thomas

Lisätiedot

UML Luokkakaavio 14:41

UML Luokkakaavio 14:41 UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,

Lisätiedot

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

Lisätiedot

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Polku luokkakaavioista taulujen toteutukseen kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

XML Finland seminaari 25.3.2010: Office 2007 XML dokumenttituotannossa

XML Finland seminaari 25.3.2010: Office 2007 XML dokumenttituotannossa XML Finland seminaari 25.3.2010: Office 2007 XML dokumenttituotannossa Anne Honkaranta anne.honkaranta@digia.com Digia oyj 1 2010 DIGIA Plc Vuonna 2010 80%:ssa organisaatioista on Microsoft Office SharePoint

Lisätiedot

TIE = JOTU. VH5 - MagicDraw

TIE = JOTU. VH5 - MagicDraw TIE-02300 = JOTU VH5 - MagicDraw TIE-02300 2 VH5 kaavionpiirtelyharjoitus Tässä harjoituksessa opetellaan tunnistamaan ja piirtämään tavallisimpia ja käytetyimpiä ohjelmistotuotannon kaavioita: käyttötapauskaavio

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2009 582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Käytettävyys ja käyttäjätutkimus Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Teron luennot Ke 15.2 miniluento Ti 28.2 viikkotehtävän anto (T,M) To 1.3 Tero paikalla (tehtävien tekoa) Ti 6.3

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

W3C: teknologia ja (tieto)yhteiskunta

W3C: teknologia ja (tieto)yhteiskunta W3C: teknologia ja (tieto)yhteiskunta Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

Lisätiedot

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen Lassi Lehto INSPIRE-seminaari 23.08.2012 Sisältö Tietotuoteselosteen rakenne (ISO 19131) Unified Modeling Language (UML) Luokkakaaviotekniikan perusteet

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

Lisätiedot

10 Nykyaikainen WWW-arkkitehtuuri

10 Nykyaikainen WWW-arkkitehtuuri 10 Nykyaikainen WWW-arkkitehtuuri è è è 10 Nykyaikainen WWW-arkkitehtuuri WWW on ylivoimaisesti suosituin hypertekstijärjestelmä. Käydään seuraavaksi läpi nykyaikaisen WWW-arkkitehtuurin perusteet. Vuonna

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

Mikä on semanttinen web?

Mikä on semanttinen web? Mikä on semanttinen web? Airi Salminen Jyväskylän yliopisto http://www.cs.jyu.fi/~airi/ Semanttinen web ja funktionaalinen luettelointi seminaari 3.5.2006 Airi Salminen, Mikä on semanttinen web? 3.5.2006

Lisätiedot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

8 Hypermedian suunnitteleminen

8 Hypermedian suunnitteleminen 8 Hypermedian suunnitteleminen 8 Hypermedian suunnitteleminen Mietitään seuraavaksi hypermediaa teknisen suunnittelun näkökulmasta. Käytettävyyteen liittyvään suunnitteluun palataan myöhemmin kurssilla.

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Yhteentoimivuutta edistävien työkalujen kehittäminen

Yhteentoimivuutta edistävien työkalujen kehittäminen Yhteentoimivuutta edistävien työkalujen kehittäminen Semantiikkaa organisaatioiden välisen tiedonvaihdon helpottamiseksi Mikael af Hällström, Verohallinto Esityksen sisältö Taustatekijöitä (OKM:n hallinnonala,

Lisätiedot

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje 04.02.2005 1 (6) SÄHKE-hanke Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä 04.02.2005 2 (6) Muutoshistoria

Lisätiedot

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

Lisätiedot

FuturaPlan. Järjestelmävaatimukset

FuturaPlan. Järjestelmävaatimukset FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,

Lisätiedot

Visio tulevaisuuden Webistä. Semantic Web - kohti uutta merkitysten Internetiä. Ratkaisumalli 1: Älykkäämmät sovellukset. Vision este Webissä

Visio tulevaisuuden Webistä. Semantic Web - kohti uutta merkitysten Internetiä. Ratkaisumalli 1: Älykkäämmät sovellukset. Vision este Webissä Semantic Web - kohti uutta merkitysten Internetiä Prof. Eero Hyvönen Helsingin yliopisto Helsinki Institute for Information Technology 1-marras-01 1 Visio tulevaisuuden Webistä Mitä hyötyä on Webistä?

Lisätiedot

Rakentamisen 3D-mallit hyötykäyttöön

Rakentamisen 3D-mallit hyötykäyttöön Rakentamisen 3D-mallit hyötykäyttöön 1 BIM mallien tutkimuksen suunnat JAO, Jyväskylä, 22.05.2013 Prof. Jarmo Laitinen, TTY rakentamisen tietotekniikka Jarmo Laitinen 23.5.2013 Jarmo Laitinen 23.5.2013

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Profium. Smart Information Router (SIR) Janne Saarela Profium Oy. Profium perustettu 1996. Pioneeri sisällönhallinnan ratkaisujen kehityksessä

Profium. Smart Information Router (SIR) Janne Saarela Profium Oy. Profium perustettu 1996. Pioneeri sisällönhallinnan ratkaisujen kehityksessä Smart Information Router (SIR) RDF-teknologian käyttö sisällönhallinnassa Janne Saarela Profium Oy Profium Profium perustettu 1996 Pioneeri sisällönhallinnan ratkaisujen kehityksessä Markkinoiden 1. RDF-metatietoon

Lisätiedot