4. Luento Käsiteltävä tieto

Koko: px
Aloita esitys sivulta:

Download "4. Luento Käsiteltävä tieto"

Transkriptio

1 4. Luento Käsiteltävä tieto Kari Systä JOTU 2015 / Kari Systä 1

2 Terveisiä viikkoharjoituksista ti klo Tensu 14 -> 16 ti klo Aleksi 28 -> 27 ke klo Aleksi 19 -> 19 ke klo Aleksi 17 -> 20 ke klo Henri 20 -> 16 ke klo Henri 19 -> 15 to klo Tensu 32 -> 29 to klo Tensu 18 -> 20 to klo Tensu. 16 -> 13 Tilapäisesti voit jollakin viikolla käydä jossakin toisessa vhryhmässä kuin mihin alun perin olit ilmoittautunut. TIE

3 Harjoitustyöstä ( Asiakasvaatimusdokumentti Vähintään 2 sivua pitkä Myös useampi ei-toiminnallinen vaatimus Myös useampi reunaehto/rajoite Palautus pe klo 16:00 mennessä Palautus tapahtuu Canvasiin ryhmäalueelle Tiedoston nimi muotoa "TIE S2015-ASVAAT-RXX-RYY.pdf/odt/doc" Toimittajaryhmän kannattaa kysellä vaatimusten perään, jos vaatimuksia ei kuulu Pieni johdanto on suositeltava, koska toimittajaryhmä ei tunne taustatarinaa Asiakastapaaminen Aika varataan oikealta assistentilta Canvas-työkalussa Asiakas ottaa mukaan Omat asiakasvaatimukset Toimittaja (nämä niputetaan kansilehden alle): Annetut asiakasvaatimukset Käsinpiirrettyjä käyttöliittymäkuvia järjestelmän oleellisimmista toiminnoista vähintään 4kpl, katso l esimerkki. (Links to an external site.) Yksi kuva per A4. JOTU 2015 / Kari Systä 3

4 Luentoaikataulusta Kurssin esittely, johdanto ohjelmistotuotantoon Erilaisista ohjelmistoista ja niiden ominaisuuksista; johdantoa vaatimuksiin; ensitietoa harjoitustyöstä Vaatimusmäärittelyt ja käyttötapaukset. Vaatimukset osa 2: tiedon mallintaminen Käytettävyys ja käyttökokemus. Kati Kuusinen Tuotantoprosesseista ja elinkaarimalleista, sekä mitä asiakkaan on niistä ymmärrettävä. Ehkä vierailuluento tai piirtelynotaatioista tai asiakasroolista JOTU 2015 / Kari Systä 4

5 Kertausta - Mitä vikaa tässä on? Kurssijärjestelmä Etsi opiskelija Etsi kurssi Liitä ilmoittautuneiden joukkoon JOTU 2015 / Kari Systä 5

6 Sisältöä Mitä tietoa järjestelmä käsittelee käsitteellinen mallinnus Useissa järjestelmissä käsiteltävä tieto määrää koko ohjelman rakenteen Tiedon yksityiskohtien määritteleminen Tiedon esitys- ja välitystavoista - mm. XML Mitä se Big Data on JOTU 2015 / Kari Systä 6

7 Järjestelmää suunniteltaessa on tärkeää miettiä tallennettavaa tietoa Tiedon tyyppi, arvoalueet ja rajoitteet Vrt Arienne 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 2015 / Kari Systä 7

8 Suunnitteluprosessi 1. Käsitteellinen mallintaminen Tiedon määrittely Käyttötapaukset 2. Tiedon esitysmuodot ja tallentaminen Tietokanta 3. Tiedon siirto ja vaihto 2. Järjestelmä JOTU 2015 / Kari Systä 8

9 Muita kursseja Jotu Johdatus tietokantoihin Data intensive programming Tietokantojen suunnittelu JOTU 2015 / Kari Systä 9

10 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 2015 / Kari Systä 10

11 Viime luennolla Toimii apuna hahmotettaessa järjestelmää (yhteinen näkemys järjestelmästä) Liittää asiakasvaatimukset järjestelmän toimintoihin Mahdollistaa vaatimusten täsmentämisen Rajaa järjestelmän ympäristöstään Auttaa tunnistamaan kuka tai mikä käyttää järjestelmää Määrittää järjestelmän korkean tason toiminnallisuuden Auttaa jakamaan toiminnallisuuden osajärjestelmiin. Määrittää järjestelmän perustermit. Apuna olioiden (keskeisten käsitteiden) tunnistamisessa. Voidaan käyttää ohjelmistokehityksen organisointiin (iteraatioiden suunnittelu) Testauksen suunnittelu Käyttöohjeiden laatiminen JOTU 2015 / Kari Systä 11

12 esimerkki (kuva 8.7) 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 ja lukujärjestysnäytön päivitys saa kestää enintään 5 sekuntia. JOTU 2015 / Kari Systä 12

13 Esitetään useimmiten graafisesti Oliokaavio Luokkakaavio (UML) ER-kaavio (entity-relationship kaavio) Tietoyhteyskaavio Käsitekaavio Kohdekaavio JOTU 2015 / Kari Systä 13

14 Käsitekaavio (UML:n luokkakaavio) Nimi Ominaisuudet Metodit lkm nimi Yhteys assosiaatio lkm Nimi Ominaisuudet Metodit Käsite, tieto, luokka JOTU 2015 / Kari Systä 14

15 Esimerkki Navigointisuunta JOTU 2015 / Kari Systä 15

16 Kooste/muodoste Kooste (aggregation) Olio on toisen osa / komponentti Muodoste (composition) Kiinteä riippuvuus Usein elinikäinen riippuvuus JOTU 2015 / Kari Systä 16

17 Muodoste/kooste Kooste: Muodoste: JOTU 2015 / Kari Systä 17

18 Yleistäminen Olio-ohjelmoinnin kurssilla puhutaan sitten periytymisestä JOTU 2015 / Kari Systä 18

19 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 2015 / Kari Systä 19

20 Muut notaatiot: Martinin kohdekaaviot (kuva 6.12) opiskelija osallistuu kurssi kuvaa opintojakso luennoi kuuluu suoritus tentti opettaja JOTU 2015 / Kari Systä 20

21 Vinkkejä ja neuvoja Assosiaatio-yhteys voi olla joko kaksisuuntainen tai yksisuuntainen. Ns navigointisuunta Tarvittaessa merkitse navigaatiosuunta (UML:ssä nuolella) Käsitekaaviossa tiedon tyyppejä (luokkia) Olio-ohjelmoinnissa mennään syvemmälle olioiden ja luokkien ihmeelliseen maailmaan Lukumääräsuhteiden oikeellisuuteen kannattaa kiinnittää huomiota, sillä ne ohjaava järjestelmän suunnittelua. Raja assosiaation, muodosteen ja koosteen välillä on usein häilyvä JOTU 2015 / Kari Systä 21

22 Etevä suunnittelija käsittää käsitteet 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 2015 / Kari Systä 22

23 Eräs tunnettu kömmähdys Vaalitulospalvelu eduskuntavaaleissa 1970 JOTU 2015 / Kari Systä 23

24 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 2015 / Kari Systä 24

25 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 2015 / Kari Systä 25

26 Prof. Sänkiahon kuvaus erään laskennassa tarvittavan kertoimen arvo määriteltiin yhdellä kokonaisluvulla ja kahdella desimaalilla. Kone "luki arvon 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 2015 / Kari Systä 26

27 Tiedon rakenteen määrittely Tarkennetaan käsitteellisen mallinnuksen tulosta Useimmiten vastuu toimittajalla, mutta vain tilaaja tietää oikeat vastaukset Jatkossa esimerkkejä tavoista joilla rakennetta voi määritellä. JOTU 2015 / Kari Systä 27

28 Esimerkki: ajan esittäminen (joka aiheuttaa usein päänsärkyä) maaliskuuta Mon Sep 14 14:30:21 EEST 2015 Mon Sep :30:21 GMT+3 (EEST) JOTU 2015 / Kari Systä 28

29 UTC aika Maailmanlaajuinen standardiaika joka vuonna 1972 korvasi ns GMT-ajan on millisekunteja vuoden 1970 alusta / 1000 = sekuntia / 3600 = tuntia / 24 = vuorokautta / 365,25 = 45,7 vuotta Ennen vuotta 1970 olevat ajat voidaan tulkita negatiivisiksi: > d2 = new Date ("Sat Sep :34:11 GMT+0300") Mon Sep :34:11 GMT+0300 (EEST) > d2.valueof() JOTU 2015 / Kari Systä 29

30 e.php/ /date-and-time-in-mysql-5.htm The big change here (since MySQL 4.1) is with the TIMESTAMP type. The old MySQL 4.0 TIMESTAMP was stored in the format YYYYMMDDHHMMSS. By defining it as TIMESTAMP(x) - x being one of 14,12,10,8,6,4 or 2, you could determine in what format the data was returned. The dubious merits of this are no longer available. The TIMESTAMP type is now effectively a TIMESTAMP(19), and the format in which it's returned cannot be changed. Let's create a sample table and explore this further. JOTU 2015 / Kari Systä 30

31 DATETIME TIMESTAMP 'YYYY-MM-DD HH:MM:SS' 'YYYY-MM-DD HH:SS:MM' Range from ' :00:00' to ' :59:59'. Can be assigned as a string or numeric. Range from ' :00:00' to partway through the year JOTU 2015 / Kari Systä 31

32 Mitä olisivat yksinkertaiset neuvot Mieti miten aika näytetään käyttäjälle Mieti miten käyttäjä antaa kellonajan Siihen, että käyttäjän arvoin annetaan vain kirjoittaa aika on syynsä Mieti mistä muualta aika-arvoja sisältävää tietoa tulee järjestelmään Miten aika tallennetaan Useimmissa sovelluksissa UTC kokonaislukuna riittää Käytettävän tietokantajärjestelmän käytännöt otettava huomioon JOTU 2015 / Kari Systä 32

33 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 2015 / Kari Systä 33

34 (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 2015 / Kari Systä 34

35 (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 2015 / Kari Systä 35

36 (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 2015 / Kari Systä 36

37 Testataan hieman (a+b)+c? kertolauseke + lauseke a+b*c a+sulkulauseke*c a+kertolauseke a+lauseke kertolauseke+lauseke JOTU 2015 / Kari Systä 37

38 Tietohakemistonotaatio merkki merkitys + ja () optionaalinen (voi puuttua) {} toisto (0-N kertaa) n{}m toisto n-m kertaa [] vaihtoehtoja vaihtoehtojen avainkenttä * kommentti JOTU 2015 / Kari Systä 38

39 Esimerkkejä henkilötiedot = nimi + 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 Euroa"] JOTU 2015 / Kari Systä 39

40 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 ijh ijh tensu JOTU 2015 / Kari Systä oj_nro oj_nimi kuvaus otupk otm 40

41 Lauseke tietohakemistonotaatiolla lauseke = [kertolauseke kertolauseke + ynnäop + lauseke] kertolauseke = [sulkulauseke sulkulauseke + kerto-op + kertolauseke] sulkulauseke = [termi ( lauseke ) ] termi = [numeerinen_vakio muuttuja] JOTU 2015 / Kari Systä 41

42 Pieni sormiharjoitus Pieni sormiharjoitus: esitä tietohakemistonotaatio desimaalilukujen esittämiseksi. Sallittuja lukuja ovat esimerkiksi "-.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 2015 / Kari Systä 42

43 Suunnitteluprosessi Käyttötapaukset 1. Käsitteellinen mallintaminen Tiedon määrittely 2. Tiedon esitysmuodot ja tallentaminen Tietokanta 3. Tiedon siirto ja vaihto 2. Järjestelmä JOTU 2015 / Kari Systä 43

44 Tiedonvälitysformaatteja Tarvitaan kun järjestelmät keskustelevat keskenään Vakiotavat ja standardit helpottavat JOTU 2015 / Kari Systä 44

45 Muita tiedon rakenteen ja esitystavan Merkkauskielet HTML SGML määrittelytapoja XML (ja siihen liittyvät standardit: DTD, XML Schema) ASN.1: tietoliikenteen sanomarakenteet JOTU 2015 / Kari Systä 45

46 XML, DTD ja Schema A XML doku B DTD/ schema JOTU 2015 / Kari Systä 46

47 DTD ja Schema DTD Document Type Definition Yksinkertainen Voi olla erillinen tai osa tiedostoa XML Schema Monipuolisempi Aito XML-dokumentti JOTU 2015 / Kari Systä 47

48 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 2015 / Kari Systä 48

49 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, 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 2015 / Kari Systä 49

50 ja vastaava XML Schema <xsd:schema xmlns:xsd=" <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 2015 / Kari Systä 50

51 Toinen esimerkki <?xml version="1.0" encoding="utf-8"?> <kml xmlns=" <Document> <Placemark> <name>new York City</name> <description>new York City</description> <Point> <coordinates> , ,0</coordinates> </Point> </Placemark> </Document> </kml> JOTU 2015 / Kari Systä 51

52 JOTU 2015 / Kari Systä 52

53 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 2015 / Kari Systä 53

54 Tutoriaaleja Esimerkiksi nämä on ok JOTU 2015 / Kari Systä 54

55 Suunnitteluprosessi Käyttötapaukset 1. Käsitteellinen mallintaminen Tiedon määrittely 2. Tiedon esitysmuodot ja tallentaminen Tietokanta 3. Tiedon siirto ja vaihto 2. Järjestelmä JOTU 2015 / Kari Systä 55

56 Big data mikä kumma se on JOTU 2015 / Kari Systä 56

57 HYPE Paljon palstatilaa lehdissä Määritelmät epämääräisiä ja erilaisia Paljon odotuksia paljon konsultteja JOTU 2015 / Kari Systä 57

58 Google statistiikkaa ( JOTU 2015 / Kari Systä 58

59 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 2015 / Kari Systä 59

60 Volume, velocity, variety Volume Tietoa on PALJON Velocity Uutta tietoa syntyy koko ajan Variety Tiedon esitystavat ovat moninaiset ja saattavat jopa muuttua JOTU 2015 / Kari Systä 60

61 Big Datan haasteet Ohjelmointi Analyysi Business, Domain, Laki Uudet matemaattiset menetelmät Tallennus Esim. MapReduce(HADOOP) Esim. NoSQL tietokannat JOTU 2015 / Kari Systä 61

62 Luentoaikataulusta Kurssin esittely, johdanto ohjelmistotuotantoon Erilaisista ohjelmistoista ja niiden ominaisuuksista; johdantoa vaatimuksiin; ensitietoa harjoitustyöstä Vaatimusmäärittelyt ja käyttötapaukset. Vaatimukset osa 2: tiedon mallintaminen Käytettävyys ja käyttökokemus. Kati Kuusinen Tuotantoprosesseista ja elinkaarimalleista, sekä mitä asiakkaan on niistä ymmärrettävä. Ehkä vierailuluento tai piirtelynotaatioista tai asiakasroolista JOTU 2015 / Kari Systä 62

10. Luento Käsiteltävä tieto

10. Luento Käsiteltävä tieto 10. Luento Käsiteltävä tieto Kari Systä 5.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 2.9: Ohjelmistojen roolista ja ohjelmistotyön

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

Joku hauska otu-aiheinen kuva (no ei oo pakko olla hauska) OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Joku hauska otu-aiheinen kuva (no ei oo pakko olla hauska) OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012 OHJ-3010 Ohjelmistotuotannon perust eet, kesäkurssi 2012 Joku hauska otu-aiheinen kuva (no ei oo pakko olla hauska) OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012 Päivän ohjelma - Mythical Man Month:

Lisätiedot

5. Luento Vaatimusmäärittelyt 2 Käsiteltävä tieto

5. Luento Vaatimusmäärittelyt 2 Käsiteltävä tieto 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

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

Määrittelyvaihe. Projektinhallinta

Määrittelyvaihe. Projektinhallinta Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

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

2. Käsiteanalyysi ja relaatiomalli

2. Käsiteanalyysi ja relaatiomalli 2. Käsiteanalyysi ja relaatiomalli lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Tietokannan suunnitteluprosessin osat sivu 2 Käsiteanalyysi ER-mallinnus, tietomallinnus

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

VH5, JOTU, MagicDraw:n käyttö

VH5, JOTU, MagicDraw:n käyttö VH5, JOTU, MagicDraw:n käyttö 1. Käynnistä MagicDraw (versio 18.2) 2. Valitse Manage Projects-kohdasta Create New Project toiminto. Oletusarvona on UML Project, saa olla. Täytä nimi (Name) ja tallennuspaikka

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

MagicDraw-pikaohje (VH5)

MagicDraw-pikaohje (VH5) MagicDraw-pikaohje (VH5) Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Linux-työasemaluokka: käynnistä MagicDraw jollakin

Lisätiedot

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/15 Lisää säännöllisistä lausekkeista Aikaisemmin esityt * ja + yrittävät osua mahdollisimman pitkään merkkijonoon

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

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012 OHJ-3010 Ohjelmistotuotannon perust eet, kesäkurssi 2012 Ajankoht aist a kurssilla - Harjoitustyöryhmien muodostaminen tänään - Taustatarinat ja tieto parituksesta ryhmille sähköpostitse perjantain 1.6.2012

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2010

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

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, kevät 2008 582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

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

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

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

GroupDesk Toiminnallinen määrittely

GroupDesk Toiminnallinen määrittely GroupDesk Toiminnallinen määrittely Tilanne: Paikallinen oppilaitos, kuvitteellinen WAMK, tarvitsee ryhmätyöhön soveltuvan sähköisen asioiden hallintajärjestelmän ja ryhmätyöohjelmiston, jonka ajatuksena

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

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan

Lisätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

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

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

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Sopimuspohjainen olio-ohjelmointi

Sopimuspohjainen olio-ohjelmointi Sopimuspohjainen olio-ohjelmointi Jouni Smed Kevät 2007 Yleistä Laajuus: 5 op. (3 ov.) Esitiedot: Olio-ohjelmoinnin perusteet (tai ent. Ohjelmointi I) Ilmoittautuminen: https://www.it.utu.fi/kurssi-ilmo/

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 2 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 28.8.2017 27/8/17 Helsinki Metropolia University of Applied Sciences 1 Oppitunnin

Lisätiedot

Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2

Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2 Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2 Viikon 2 laskareita ei pidetä mikrosaleissa, käytössä ovat opetusohjelmaan merkatut salit. Tämän viikon tehtävistä 1-6 tehdään etukäteen kotona.

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

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita. Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 7 JOUNI HUOTARI & ARI HOVI IIO30100 TIETOKANTOJEN SUUNNITTELU

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

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

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

Vaatimukset mitä ne ovat

Vaatimukset mitä ne ovat Vaatimukset mitä ne ovat Miten teillä hanskataan vaatimukset? Ei juuri mitenkään. Ville Reijonen, Kauppalehti Online 27.8.2012 1 Asiakasvaatimuksista tuotteeseen asiakasvaatimukset Määrittely Suunnittelu&

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

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

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (20) Luento 3.1 7LHWRNDQWDSRKMDLVHQVRYHOOXNVHQVXXQQLWWHOXSURVHVVL Tietokannan suunnittelun tavoitteet... 3 Abstraktiotasot tietokannan suunnittelussa... 4 3-taso -malli... 4 TIHA-standardi... 5

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

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

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

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

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

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINNAN PERUSTEET - SYKSY 2013 TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 4 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Relaatiotietokannan suunnitteluprosessin

Lisätiedot

NELLI-Tunnis. Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa. Versio 1.0. 16.5.2006 Ere Maijala Kansalliskirjasto

NELLI-Tunnis. Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa. Versio 1.0. 16.5.2006 Ere Maijala Kansalliskirjasto NELLI-Tunnis Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa Versio 1.0 16.5.2006 Ere Maijala Kansalliskirjasto Sisällysluettelo Johdanto...3 Tekniikka...3 Esimerkit...4 XML-Skeema...5

Lisätiedot

Vaatimusmääritelystä UML:n avulla

Vaatimusmääritelystä UML:n avulla Vaatimusmääritelystä UML:n avulla Mitä käyttötapauskaaviolla voi kuvata? Mitkä ovat sen keskeiset elementit? Miten laaditaan käyttötapauskaavio? Miksi laaditaan kirjallisia kuvauksia? Miksi käyttötapaukset

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Tietokannan suunnittelu

Tietokannan suunnittelu HELIA TIKO-05 1 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnittelu Tietokannan suunnitteluprosessi... 2 Tavoitteet...2 Tietojärjestelmän suunnitteluprosessi...3 Abstraktiotasot tietokannan

Lisätiedot

Vaatimusmäärittelyistä

Vaatimusmäärittelyistä Vaatimusmäärittelyistä JOTU 15.09.2014 15.9.2014 JOTU2014/K.Systä 1 Tiedotuksia Jos tulee tarve muutella IDLE:ssä harjoitustyön assistenttitapaamista, ottakaa yhteyttä assistenttiin. Jos olette ryhmässä,

Lisätiedot

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. 1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

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

Vaatimusmäärittelyistä

Vaatimusmäärittelyistä Vaatimusmäärittelyistä JOTU 16.09.2013 16.9.2013 JOTU2013/K.Systä 1 Tiedotuksia Harjoitusryhmiin ilmoittautuminen on vihdoin avautunut IDLE:ssä Ryhmän maksimi koko on 4 henkeä Ilmoittautumisen takaraja

Lisätiedot

IIO30100 Tietokantojen suunnittelu (6 op)

IIO30100 Tietokantojen suunnittelu (6 op) IIO30100 Tietokantojen suunnittelu (6 op) Opintojakson esittely Jouni Huotari K2008 http://student.labranet.jamk.fi/~huojo/opetus/iio30100/ Tavoitteena on, että opiskelija: Ymmärtää käsitteellisen mallintamisen

Lisätiedot

OpenOffice.org Base 3.1.0

OpenOffice.org Base 3.1.0 OpenOffice.org Base 3.1.0 Sisällysluettelo 1 Tietokannan luominen...1 2 Taulukon eli taulun luominen...3 3 Kysely...9 4 Raportti...14 1 Tietokannan luominen Tietokanta on kokoelma tietoja, joilla on yhteys

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

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

Luento 3 Tietokannan tietosisällön suunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen

Lisätiedot

IIO30100 Tietokantojen suunnittelu (6 op)

IIO30100 Tietokantojen suunnittelu (6 op) IIO30100 Tietokantojen suunnittelu (6 op) Opintojakson esittely Jouni Huotari K2008 http://student.labra.jypoly.fi/~huojo/opetus/iio30100/ Tavoitteena on, että opiskelija: Ymmärtää käsitteellisen mallintamisen

Lisätiedot

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. 2.2 Luokat ja oliot Olio-ohjelmoinnin keskeisimpiä

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

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

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - XMLREADER LUOKKA i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen

Lisätiedot

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Laajuus 5 op Luennot: 12 x 2t 11.3.2014 29.4.2014 Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Lähiopetuksen jäkeen harjoitustyö ja tentti Aulikki Hyrskykari

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen ohjelmiston kehitysprosessin aikana Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/

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

Tekstiviestipalvelun rajapintakuvaus

Tekstiviestipalvelun rajapintakuvaus Tekstiviestipalvelun rajapintakuvaus Sisällysluettelo 1. Yleistä... 1 2. Lähtevien viestien rajapinta... 1 2.1. Rajapinnan tekniset tiedot ja parametrit... 1 2.2. Rajapinnan paluuarvot... 3 2.3. Rajapinnan

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta. Tietojenkäsittelytiede Tutkintovaatimukset Perustutkinnot LUONNONTIETEIDEN KANDIDAATIN TUTKINTO (VÄHINTÄÄN 120 OV) 1. Tietojenkäsittelytieteen cum laude approbatur -oppimäärä (vähintään 55 ov) ja kypsyysnäyte

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 48) Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain

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

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistojen mallintaminen. Luento 2, pe 5.11. Ohjelmistojen mallintaminen Luento 2, pe 5.11. Kertausta Ohjelmistotuotantoprosessin vaiheet: Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan

Lisätiedot

Mittaustietojen SAF-aineistokuvaus kaasudatahubiin

Mittaustietojen SAF-aineistokuvaus kaasudatahubiin Mittaustietojen SAF-aineistokuvaus kaasudatahubiin Versio 1.0 2 (7) Muutokset Versio Pvm Muutos 0.1 5.3.2019 SAF-aineistokuvaus eriytetty omaksi dokumentiksi 0.2 Lisätty mittaustiedon esimerkkisanomaan

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

1. Kalenterin omistajan käyttöohje

1. Kalenterin omistajan käyttöohje 1. Kalenterin omistajan käyttöohje 1.1. Kielen vaihtamien Ajanvarausjärjestelmässä kielen vaihtaminen tapahtuu painamalla sivun ylälaidassa olevia lippuja. 1.2. Kirjautuminen Kirjautumissivulla käyttäjä

Lisätiedot

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (17) Outi Virkki Tiedonhallinta HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

Prosessien mallintaminen

Prosessien mallintaminen Prosessien mallintaminen 4.10.2007 Kari Kataja kari.kataja@uta.fi Päivän ohjelma 10.00-12.30 Prosessien mallintamisen yleiset periaatteet Prosessien mallintaminen Jyväskylän yliopiston laadunvarmistustyössä

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

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

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot