5. Luento Vaatimusmäärittelyt 2 Käsiteltävä tieto Kari Systä 22.9.2014 JOTU 2014 / Kari Systä 1
Alustava luentoaikataulu 25.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 1.9: Ohjelmistojen roolista ja tyypeistä ohjelmistotyön merkitys 8.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 15.9: Vaatimusmäärittelyt 22.9: Vaatimukset 2; tiedon mallintaminen 29.9: Käyttäjä ja käyttäjäkokemus ohjelmisto-projektissa (Jarmo Palviainen) 6.10: Esimerkkiprojekti (M-files on alustavasti lupautunut) 20.10: Yleiset notaatiot erityisesti UML 27.10: Projektitoiminta 3.11: Asiakasroolista 10.11: Ohjelmisto osana laitetta 1 17.11: IPR, sopimukset, open source 25.11: 1.12: Kertausta 8.9.2014 JOTU/K.Systä 2
Harjoitustyö ma 15.9. - pe 19.9.: Asiakastapaamiset Hoidettu, mutta muutamia poissaoloja Pientä kommunikointiongelmaa pe 21.11. klo 16:00: Toiminnallisen määrittelydokumentin palautuksen takaraja Tenttiviikon jälkeisellä viikolla välinäyttö (ohjeet tule kohta) Yleisten palautusohjeiden mukaisesti paperiversiona assarille Asiakkaalle määrittelydokumentti lähetetään sähköpostitse pe 5.12. klo 16:00: Palautteen takaraja JOTU 2014 / Kari Systä 3
ENSIN PIKKASEN KERTAUSTA JOTU 2014 / Kari Systä 4
Asiakasvaatimuksista tuotteeseen asiakasvaatimukset Määrittely Suunnittelu& toteutus ohjelmistovaatimukset 15.9.2014 JOTU2014/K.Systä 5
Vaatimukset vs. rajoitteet Toiminnallinen vaatimus (functional requirement), esimerkiksi ohjelmassa on tuki oikeinkirjoituksen tarkastamiselle. Ei-toiminnallinen vaatimus (non-functional requirement), esimerkiksi ohjelman käyttöliittymä on UI-tyyliopas mukainen tai ohjelmiston asennus saa käyttää korkeintaan 5MB levytilaa. Reunaehdot (constraints), esimerkiksi ohjelmisto on toteutettava Windows-ympäristöön C++kielellä. 15.9.2014 JOTU2014/K.Systä 6
Käyttötapauskaavio, versio 1 Dipparekisteri Lisää uusi opiskelija Lisää uusi kenttä Ohjaaja Etsi ehdot täyttävät opiskelijat tee palaverimuisti o kirjoita lausunto Pohja järjestelmän hahmottamiselle ja siitä keskustelemiselle 15.9.2014 JOTU2014/K.Systä 7
Käyttötapauksen kuvaus Nimi: Luentosalin varaaminen, versio 1.0 / ijh Osallistujat: Kurssin vastuuhenkilö Tuloehdot: Vastuuhenkilö ja kurssi on syötetty järjestelmään (KT henkilötietojen ylläpito) Kuvaus: Vastuuhenkilö seuraa WWW-linkkiä, joka johtaa järjestelmän pääsivulle. Hän syöttää järjestelmään käyttäjätunnuksensa ja salasanansa (include: KT käyttäjän identifiointi). Käyttäjä pyytää järjestelmää näyttämään salin varaustilanteen haluamaltaan aikaväliltä. Hän saa eteensä salin lukujärjestysnäytön (ks. liite). Käyttäjä näkee näytöstä vapaat ajat sekä myös, mille kursseille sali on milloinkin varattu ja kuinka monelle viikolle. Käyttäjä tekee varauksen joltain vapaaksi havaitsemaltaan ajankohdalta. [Poikkeus: varaus ei onnistu]. Poikkeukset: Varaus ei onnistu: Varaustilanne on voinut muuttua sillä aikaa kun varaaja tekee varausta. Järjestelmä ilmoittaa tilanteesta käyttäjälle ja käyttäjä yrittää uudelleen. Lopputulos:Varaukset kurssin luentoajoiksi on tehty. Muut vaatimukset:päivittäin käsitellään kiireisimpänäkin aikana enintään n. 100 varausta. Vastausajan on oltava alle 1 sekuntia, lukujärjestysnäytön päivitys saa 15.9.2014 kestää 5 sekuntia. JOTU2014/K.Systä 8
Käyttäjätarina (user story) Ketterissä menetelmissä yleisesti käytetty termi. Muutamaan lauseeseen typistetty "käyttötapaus" Tarinasta selviää: rooli (aktori) mitä tehdään ja mahdollisesti mitä lisäarvoa tekeminen tuottaa käyttäjälle (usein tämä on kuitenkin ilmeistä) Esimerkiksi: Kurssin vastuuhenkilönä pystyn tekemään kaikki yhden kurssin luentosalivaraukset yhdellä varausoperaatiolla (silloin kun luentoajat ovat koko kurssin ajan samoina viikonpäivinä samaan kellonaikaan). 15.9.2014 JOTU2014/K.Systä 9
Kaksi erilaista johtopäätöstä 1. Kannattaa käyttää alussa paljon aikaa vaatimusten miettimiseen ja kirjaamiseen ennen kuin kirjoittaa yhtäkään koodiriviä. 2. Vaatimukset tai ainakin ymmärrys niistä muuttuu projektin aikana kuitenkin. Joten parasta iteroida palanen kerrallaan. 15.9.2014 JOTU2014/K.Systä 10
Vaatimusmäärittely vs - hallinta -Kartoittaminen -Analysointi -Dokumentointi -Validointi -sidosryhmien tarpeet (asiakkaat, käyttäjät, markkinointi, johto...) -olemassa olevat järjestelmät -sovellusalueen erityispiirteet -asiakasorganisaation käytännöt -viranomaismääräykset -... Vaatimukset seuraaviin tuoteversioihin Hyväksytyt vaatimukset hyväksytyt muutokset Vaatimusmäärittely Vaatimustenhallinta vaatimusmuutokset Vaatimusten muutosprosessi muutokset projektissa 15.9.2014 JOTU2014/K.Systä 11
Vaatimusmäärittely ja hallinta ketterässä vaatimusmuutokset -Kartoittaminen -Analysointi -Dokumentointi -Validointi Hyväksytyt vaatimukset Vaatimusten muutosprosessi hyväksytyt muutokset Vaatimukset seuraaviin tuoteversioihin Vaatimusmäärittely Vaatimustenhallinta muutokset projektissa 15.9.2014 JOTU2014/K.Systä 12
Asiakasvaatimukset JOTU 2014 / Kari Systä 13
JA SITTEN UUTTA JOTU 2014 / Kari Systä 14
http://www.ts.fi/uutiset/kotimaa/259794/tarkastusvira sto+kyseenalaistaa+suomen+ittalojen+ammattitaidon JOTU 2014 / Kari Systä 15
Sisältöä Mitä tietoa järjestelmä käsittelee käsitteellinen mallinnus Tiedon yksityiskohtien määritteleminen Tiedon esitys- ja välitystavoista - mm. XML Mitä se Big Data on JOTU 2014 / Kari Systä 16
Järjestelmää suunniteltaessa on tärkeää miettiä tallennettavaa tietoa Tiedon tyyppi, arvoalueet ja rajoitteet Vrt Arien kantoraketti Tietojen väliset yhteydet ja riippuvuudet Valittu tiedon rakenne vaikuttaa järjestelmän toimintoihin ja tehokkuuteen Järjestelmien välinen tiedon siirto Myös siirto vanhasta uuteen JOTU 2014 / Kari Systä 17
Suunnitteluprosessi Määrittely 1. Käsitteellinen mallintaminen 2. Tiedon esitysmuodot ja tallentaminen Tietokanta 3. Tiedon siirto ja vaihto 2. Järjestelmä JOTU 2014 / Kari Systä 18
Muita kursseja OtuPK JohTiKa TiKaSu JOTU 2014 / Kari Systä 19
TIE-22100 - Johdatus tietokantoihin Kurssin tavoitteena on, että kurssin suoritettuaan opiskelijan pitäisi ymmärtää tietokantojen ja tietokantajärjestelmien perusajatukset, tuntea alueen terminologia, osata käyttää relaatiotietokannan hallintajärjestelmää, luoda valmiiksi kuvattu tietokanta sekä tehdä ei-triviaaleja tietokantahakuja SQL-kieltä käyttäen. Kurssi koostuu luennoista ja viikkoharjoituksista. Suoritusvaatimuksina ovat hyväksytysti suoritetut harjoitustehtävät ja tentti. Ks. kurssin arvostelu. Kurssin vastuuhenkilö on Timo Aaltonen (timo.aaltonen (at) tut.fi) JOTU 2014 / Kari Systä 20
TIE-22200 - Tietokantojen suunnittelu Kurssin tavoitteena on, että kurssin suoritettuaan opiskelija osaa käyttää rutiininomaisesti relaatiotietokannan hallintajärjestelmää sekä osaa suunnitella ja toteuttaa alusta loppuun suorituskykyisen, turvallisen ja ei-triviaalin relaatiotietokannan käyttäen kurssilla opetettua prosessia. Hän osaa myös käyttää relaatiotietokantaa sekä ohjelmallisesti että SQL-kielellä rutiininomaisesti. Opiskelija myös tietää mitä liittyy sellaisten järjestelmien määrittelyyn, suunnitteluun, toteutukseen ja ylläpitoon, missä olennaisena osana on tietokanta sekä osaa käyttää tätä tietoa vaihtoehtojen harkinnan ja lisätietojen hankinnan tukena. Kurssi koostuu luennoista, viikkoharjoituksista ja harjoitustyöstä. Suoritusvaatimuksina ovat hyväksytysti suoritetut harjoitustehtävät, harjoitustyö ja tentti. Ks. kurssin arvostelu. Kurssin vastuuhenkilö on Timo Aaltonen (timo.aaltonen (at) tut.fi). JOTU 2014 / Kari Systä 21
Käsitteellinen mallintaminen (lainaus kurssin tietokantojen suunnittelu luentomateriaalista) Kuvataan maailmaa (kohdealue) siellä olevien käsitteiden, niiden ominaisuuksien ja suhteiden avulla. Näiden tilat voivat muuttua ajoittain tapahtumien vaikutuksesta. Ollaan kiinnostuneita maailman tilasta menneisyydessä, nyt ja tulevaisuudessa. Käsitteellinen malli = kohdealueen vääristymätön ja täydellinen esitys (, jossa mahdolliset toteutusnäkökohdat jätetään huomioimatta.) JOTU 2014 / Kari Systä 22
Esitetään useimmiten graafisesti Oliokaavio Luokkakaavio (UML) ER-kaavio (entity-relationship kaavio) Tietoyhteyskaavio Käsitekaavio Kohdekaavio JOTU 2014 / Kari Systä 23
Käsitekaavio (UML:n luokkakaavio) Nimi Ominaisuudet lkm nimi lkm Nimi Ominaisuudet Metodit Metodit JOTU 2014 / Kari Systä 24
Esimerkki Navigointisuunta JOTU 2014 / Kari Systä 25
Kooste/muodoste Kooste (aggregation) Olio on toisen osa / komponentti Muodoste (composition) Kiinteä riippuvuus Usein elinikäinen riippuvuus JOTU 2014 / Kari Systä 26
Muodoste/kooste Kooste: Muodoste: JOTU 2014 / Kari Systä 27
Yleistäminen Olio-ohjelmoinnin kurssilla puhutaan sitten periytymisestä JOTU 2014 / Kari Systä 28
Muut notaatiot: Chenin notaatio (kuva 6.11) opiskelija 1:N osallis- tuu 0:N kurssi 0:N <-kuvaa 1:1 opintojakso 0:N 1:1 0:N 0:N suorittaa 0:N tentti kuuluu luennoi 0:1 suoritus opettaja JOTU 2014 / Kari Systä 29
Muut notaatiot: Martinin kohdekaaviot (kuva 6.12) opiskelija osallistuu kurssi kuvaa opintojakso luennoi kuuluu suoritus tentti opettaja JOTU 2014 / Kari Systä 30
Vinkkejä ja neuvoja Assosiaatio-yhteys voi olla joko kaksisuuntainen tai yksisuuntainen. Ns navigointisuunta Tarvittaessa merkitse (UML:ssä nuolella) Luokkakaaviossa tiedon tyyppejä (luokkia) Olio-ohjelmoinnissa mennään syvemmälle olioiden ja luokkien ihmeelliseen maailmaan Lukumääräsuhteiden oikeellisuuteen kannattaa kiinnittää huomiota, sillä ne ohjaavat järjestelmän suunnittelua. Raja assosiaation, muodosteen ja koosteen välillä on usein häilyvä JOTU 2014 / Kari Systä 31
Etevä suunnittelija käsittää käsitteet http://aikalainen.uta.fi/2011/12/23/eteva-suunnittelija-kasittaa-kasitteet/ Tietojärjestelmän tekijän täytyy ensin itse ymmärtää, mistä on kyse, ja tunnistaa asiaan liittyvät käsitteet. Käsitteet ovat sellaisia, joita järjestelmää käyttävä ihminen tuntee. Käsitteellinen mallintaminen on eri asia kuin järjestelmän käytettävyys, joskin mallintamisen puute saattaa heijastua myös järjestelmän käytettävyyteen. Jos käsitteellistä mallintamista ei ole suunnitteluvaiheessa tehty tai se on tehty huonosti, niin järjestelmästä alkaa usein paljastua asioita, jotka eivät toimi niin kuin suunnittelija on kuvitellut. Järjestelmään tulee virheitä, joita ei ehkä helposti pystytä paljastamaan. Tietojärjestelmän rakentaminen kuulostaa arkiselta työltä, mutta käsitteellisessä mallintamisessa tarvitaan filosofian oppeja tiedon sisällöstä ja käsitteistä. JOTU 2014 / Kari Systä 32
Eräs tunnettu kömmähdys Vaalitulospalvelu eduskuntavaaleissa 1970 JOTU 2014 / Kari Systä 33
Mitä tapahtui SMP oli saamassa murskavoittoa ja 18 kansanedustajaa Mutta tulospalvelu ennusti jatkuvasti vain n. 8 edustajaa. SMP:n legendaarinen poliitikko Eino Poutiainen laski omia ennusteitaan klubiaskin kanteen ja oli kokoajan oikeassa. JOTU 2014 / Kari Systä 34
Eino Poutiaisen muistelmista Tietokonekaan ei vaalien jälkeisenä yönä tulosten laskennassa ruvennut uskomaan tosiasioita. [...] Joten herrojen henki oli tarttunut tietokoneeseenkin, joka sitten ällisteli ja ihmetteli. [...] Eniten kiinnitti huomiotani, kun televisiossa ilmoitettiin Oulun vaalipiirin äänistä lasketuksi noin 30 % ja meille sanottiin ääniä tulleen vain 0,5 %. Silloin huomasin, että kyllä tohtori Sänkiahon rokkatoosa joutaisi heittää Suomenlahteen, koska hörisee niin kuin vanha tamma, jolle syötetään ruisjauhoapetta. JOTU 2014 / Kari Systä 35
Prof. Sänkiahon kuvaus erään laskennassa tarvittavan kertoimen arvo määriteltiin yhdellä kokonaisluvulla ja kahdella desimaalilla. Kone "luki Arvon 12.34 arvoksi 2.34 ja ollen kertoimena niin tulokset olivat vähän pielessä useissa vaalipiireissä eli siellä missä SMP:n kannatus lisääntyi yli kymmenkertaiseksi. PS. Cobol kielessä on tapana käyttää desimaalilukuja liukulukujen sijaan JOTU 2014 / Kari Systä 36
Tiedon rakenteen määrittely Tarkennetaan käsitteellisen mallinnuksen tulosta Useimmiten vastuu toimittajalla, mutta vain tilaaja tietää oikeat vastaukset Tässä opetellaan kieltä jolla keskustella JOTU 2014 / Kari Systä 37
Bachus-Naur Form (Lauseke) 1: <lauseke> ::= <kertolauseke> <kertolauseke> <ynnäoper> <lauseke> 2: <kertolauseke> ::= <sulkulauseke> <sulkulauseke> <kerto-oper> <kertolauseke> 3: <sulkulauseke> ::= <termi> ( <lauseke> ) 4: <termi> ::= <numeerinen_vakio> <muuttuja> 5: <ynnäoper> ::= + - 6: <kerto-oper> ::= * / JOTU 2014 / Kari Systä 38
(a+b)*c Luennoilla käydään läpi tarkistus sääntöjen avulla kuten kirjassa Jos aikaa, myös tietokoneen (esim kääntäjän tapa) joka seuraavilla kalvoilla JOTU 2014 / Kari Systä 39
(a+b)*c <tyhjä> (a+b)*c ( (a+b)*c (a (a+b)*c (muuttuja (a+b)*c (termi (a+b)*c (kertolauseke (a+b)*c (kertolauseke+ (a+b)*c (kertolauseke ynnäop (a+b)*c (kertolauseke ynnäop b (a+b)*c (kertolauseke ynnäop lauseke (a+b)*c (kertolauseke ynnäop lauseke ) (a+b)*c (lauseke) JOTU 2014 / Kari Systä 40
(a+b)*c lauseke * (a+b)*c lauseke kerto-op (a+b)*c lauseke kerto-op c (a+b)*c lauseke kerto-op kertolauseke (a+b)*c kertolauseke (a+b)*c lauseke JOTU 2014 / Kari Systä 41
Testataan hieman (a+b)+c? kertolauseke + lauseke a+b*c a+sulkulauseke*c a+kertolauseke a+lauseke kertolauseke+lauseke JOTU 2014 / Kari Systä 42
Tietohakemistonotaatio merkki merkitys + ja () optionaalinen (voi puuttua) {} toisto (0-N kertaa) n{}m toisto n-m kertaa [] vaihtoehtoja vaihtoehtojen erotin @ avainkenttä * kommentti JOTU 2014 / Kari Systä 43
Esimerkkejä henkilötiedot = nimi + @henkilötunnus + aviosääty + lapset nimi = 1{etunimi}3 + sukunimi aviosääty = [naimaton naimisissa eronnut leski] osoite = (toimitusosoite) + (laskutusosoite) osoite = [toimitusosoite laskutusosoite toimitusosoite + laskutusosoite] osoite = toimitusosoite + (laskutusosoite) luottoraja = *asiakkaalle myönnettävän luoton enimmäismäärä markkoina* luottoraja_ilmoitus = *vastaus luottorajan muutosyritykseen* ["Tuntematon asiakas" "Virheellinen luottoraja" "Uudeksi luottorajaksi on muutettu xxx markkaa"] JOTU 2014 / Kari Systä 44
Esimerkkejä suoritustietokanta= * Relaatiokanta, joka kuvaa opiskelijat, kurssit ja suoritukset. Se koostuu tauluista opiskelijat, suoritukset ja opintojaksot.* opiskelijat = {@op_nro + nimi + osoite +...} suoritukset = {@suor_nro + op_nro + oj_nro+ pvm + ov_määrä + arvosana + opettaja} opintojaksot ={@oj_nro+oj_nimi+kuvaus} op_nro nimi os 777 Ahto S. 222 Teemu T. suor_nro op_nro oj_nro pvm ov_määrä arvosana opettaja 234 777 81210 20.3.1995 2 3 ijh 456 222 81210 22.3.1996 2 5 ijh 645 777 81130 24.3.1996 4 3 tensu JOTU 2014 / Kari Systä oj_nro oj_nimi kuvaus 81210 otupk 81130 otm 45
Lauseke tietohakemistonotaatiolla lauseke = [kertolauseke kertolauseke + ynnäop + lauseke] kertolauseke = [sulkulauseke sulkulauseke + kerto-op + kertolauseke] sulkulauseke = [termi ( lauseke ) ] termi = [numeerinen_vakio muuttuja] JOTU 2014 / Kari Systä 46
Pieni sormiharjoitus Pieni sormiharjoitus: esitä tietohakemistonotaatio desimaalilukujen esittämiseksi. Sallittuja lukuja ovat esimerkiksi "-.123", "123", "123.123", ".123", "+123" ja "-123". Kiellettyjä ovat mm. "++123" ja "123.". LUKU = (ETUM) + ARVO ETUM = [ '+' '-' ] ARVO = [ KOK_LUKU + ('.' + KOK_LUKU) '.' + KOK_LUKU ] KOK_LUKU = 1{NUMERO}N NUMERO = ['0' '1' '2' '3' '4' '5' '6' '7' '8' '9'] JOTU 2014 / Kari Systä 47
Suunnitteluprosessi Määrittely 1. Käsitteellinen mallintaminen 2. Tiedon esitysmuodot ja tallentaminen Tietokanta 3. Tiedon siirto ja vaihto 2. Järjestelmä JOTU 2014 / Kari Systä 48
Tiedonvälitysformaatteja Tarvitaan kun järjestelmät keskustelevat keskenään Vakiotavat ja standardit helpottavat JOTU 2014 / Kari Systä 49
XML, DTD ja Schema A XML doku B DTD/ schema JOTU 2014 / Kari Systä 50
DTD ja Schema DTD Document Type Definition Yksinkertainen Voi olla erillinen tai osa tiedostoa XML Schema Monipuolisempi Aito XML-dokumentti JOTU 2014 / Kari Systä 51
XML:n dokumenttityypin rakenteen määrittely: DTD (Document Type Definition). Tiedon rakenteen kuvaaminen. <!DOCTYPE postitilaus [ <!ELEMENT postitilaus (vastaanottaja, tavara*) <!ELEMENT vastaanottaja (nimi, osoite)> <!ELEMENT tavara (nimeke, määrä, hinta)> <!ELEMENT nimi (#PCDATA)> <!ELEMENT osoite (#PCDATA)> <!ELEMENT nimeke (#PCDATA)> <!ELEMENT määrä (#PCDATA)> <!ELEMENT hinta (#PCDATA)> ]> JOTU 2014 / Kari Systä 52
XML-dokumentti (joka on well-formed, mutta edellä esitetyn DTDkuvauksen mukaan ei valid ) <?xml version="1.0"?> <postitilaus> <vastaanottaja> <nimi>ahto Simakuutio</nimi> <osoite>hermiankatu 99, 33720 Tampere</osoite> </vastaanottaja> <tavarat> <tavara> <nimeke>muistipiiri 256MX</nimeke> <maara>2</maara> <hinta>100</hinta> </tavara> <tavara> <nimeke>nokia Lumia 920</nimeke> <maara>1</maara> <hinta>750</hinta> </tavara> </tavarat> </postitilaus> Jos dokumentti ei ole XML:ää, se ei ole well formed XML-standardin mukaiset dokumentit ovat well formed Tietyn DTD-kuvauksen tai scheman mukaiset kuvaukset ovat valid XML-syntaksin mukainen dokumentti voi siis olla well formed, well formed but not valid tai well formed and valid JOTU 2014 / Kari Systä 53
ja vastaava XML Schema <xsd:schema xmlns:xsd="http://www.w3.org/1999/xmlschema"> <xsd:element name="postitilaus" type="tilaus"/> <xsd:complextype name="tilaus"> <xsd:element name="vastaanottaja" type="osoitetiedot"/> <xsd:element name="tavarat" type="tavaroidentiedot"/> </xsd:complextype> <xsd:complextype name="osoitetiedot"> <xsd:element name="nimi" type="xsd:string"/> <xsd:element name= osoite" type="xsd:string"/> </xsd:complextype> <xsd:complextype name="tavaroidentiedot"> <xsd:element name="tavara" type="tavaratiedot" maxoccurs= *"/> </xsd:complextype> <xsd:complextype name="tavaratiedot"> <xsd:element name= nimeke" type="xsd:string"/> <xsd:element name="maara" type="xsd:positiveinteger"/> <xsd:element name="hinta" type="xsd:decimal"/> </xsd:complextype> </xsd:schema> JOTU 2014 / Kari Systä 54
Toinen esimerkki <?xml version="1.0" encoding="utf-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <Placemark> <name>new York City</name> <description>new York City</description> <Point> <coordinates>74.006393,40.714172,0</coordinates> </Point> </Placemark> </Document> </kml> JOTU 2014 / Kari Systä 55
http://www.opengis.net/kml/2.2 JOTU 2014 / Kari Systä 56
XML:n etuja ja haittoja Yleinen Myös ihmisen luettava Eriäviäkin mielipiteitä on Joustava ja dynaaminen Esim uusi kenttä ei välttämättä riko vastaanottajaa Raskas ja monimutkainen JOTU 2014 / Kari Systä 57
Muita tiedon rakenteen ja esitystavan Merkkauskielet HTML SGML määrittelytapoja XML (ja siihen liittyvät standardit: DTD, XML Schema) ASN.1: tietoliikenteen sanomarakenteet JOTU 2014 / Kari Systä 58
Tutoriaaleja Esimerkiksi nämä on ok http://www.sitepoint.com/xml-dtds-xmlschema/ http://edutechwiki.unige.ch/en/dtd_tutorial JOTU 2014 / Kari Systä 59
Suunnitteluprosessi Määrittely 1. Käsitteellinen mallintaminen 2. Tiedon Toteutus Järjestelmä JOTU 2014 / Kari Systä 60
Big data mikä kumma se on JOTU 2014 / Kari Systä 61
HYPE Paljon palstatilaa lehdissä Määritelmät epämääräisiä ja erilaisia Paljon odotuksia paljon konsutteja JOTU 2014 / Kari Systä 62
Google statistiikkaa (www.google.com/trends) JOTU 2014 / Kari Systä 63
Yksi määritelmä "Big data is high volume, high velocity, and/or high variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization." Gartner, 2012 JOTU 2014 / Kari Systä 64
Volume, velocity, variety Volume Tietoa on PALJON Velocity Uutta tietoa syntyy koko ajan Variety Tiedon esitystavat ovat moninaiset ja saattavat jopa muuttua JOTU 2014 / Kari Systä 65
Big Datan haasteet Ohjelmointi Analyysi Business, Domain, Laki Uudet matemaattiset menetelmät Tallennus Esim. MapReduce(HADOOP) Esim. NoSQL tietokannat JOTU 2014 / Kari Systä 66