Suorituskykydatan kerääminen

Koko: px
Aloita esitys sivulta:

Download "Suorituskykydatan kerääminen"

Transkriptio

1 Suorituskykydatan kerääminen Luento Ohjelmistojen suorituskyky 1 Mistä data suorituskykymalleihin? Tähän asti olemme olettaneet, että suorituskykymallien vaatima lähtödata on jo olemassa ja saatavilla Prosessointikustannukset, erilaisen ohjelmistotoimintojen resurssivaatimukset jne. Datan avulla SPE-mallien laatiminen on suhteellisen helppoa, mutta itse lähtödatan hankkiminen on usein prosessin vaikein vaihe Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1

2 Mistä data? Ensin pitää tietää, mitä dataa tarvitaan, jotta sitä voidaan alkaa hankkimaan eri menetelmillä Kehitysprojektin aikaisissa vaiheissa ei ole mitä mitata Tehdään arvioita Suorituskykyläpikäynti on prosessi, jossa kerätään tarvittavaa tietoa asiantuntijoilta ja sidosryhmiltä Kehitysprojektin myöhemmissä vaiheissa voidaan tehdä suorituskykykokeita ja mitata jo implementoitua ohjelmistoa (tai prototyyppiä) Mittausten ja instrumentoinnin tarve pitää ottaa huomioon implementoinnin alkaessa Ohjelmistojen suorituskyky 3 MITÄ TIETOA TARVITAAN? Ohjelmistojen suorituskyky 4 Helsingin Yliopisto / Tktl 2

3 SPE:n vaatima data SPE:ssä tarvitaan viittä eri tyyppiä dataa 1. Suorituskykyskenaariot 2. Suorituskykytavoitteet 3. Ohjelmiston suoritusympäristön määrittely 4. Ohjelmistoresurssivaatimukset 5. Laitteistoresurssivaatimukset Ohjelmistojen suorituskyky 5 Suorituskykyskenaariot Suorituskyvyn kannalta tärkeiksi tunnistetut käyttötapaukset ja niiden instanssit eli skenaariot Suoritusaskelet Intensiteetti Skenaario kuvaa jonkin tietyn käyttötapauksen suorituksen kulun Koostuu toimintojen sarjasta, joka määrittelee järjestelmän vuorovaikutuksen ulkoisten toimijoiden kanssa sekä järjestelmän sisäisten objektien välillä Ohjelmistojen suorituskyky 6 Helsingin Yliopisto / Tktl 3

4 Suorituskykyskenaariot Kriittiset käyttötapaukset Järjestelmän toiminnan ja tehtävän kannalta tärkeitä Vaikuttavat järjestelmän responsiivisuuteen käyttäjän näkökulmasta Kaikki kriittistenkään käyttötapausten skenaariot eivät kuitenkaan välttämättä ole suorituskyvyn kannalta yhtä tärkeitä sääntö: 20% toiminnallisuudesta käytetään 80% ajasta Nämä toiminnot (20%) ja niiden skenaariot on tunnistettava ja keskityttävä aluksi niihin Ohjelmistojen suorituskyky 7 Suorituskykyskenaariot Suorituskykyyn vaikuttavat myös raskaat, paljon resursseja vaativat tehtävät ( heavy hitters ), vaikka niitä suoritettaisiin harvemmin Esimerkiksi järjestelmän toipuminen ja vakaan tilan palauttaminen häiriötilanteen jälkeen vaaditussa ajassa Voivat myös hidastaa muita skenaarioita resurssikilpailun takia Esimerkiksi liiketoimintaraporttien muodostaminen tuotantotietokannoista normaalin transaktiokäsittelyn rinnalla Ohjelmistojen suorituskyky 8 Helsingin Yliopisto / Tktl 4

5 Suorituskykyskenaariot Ohje: valitse yksi tai vain muutama tärkeimmistä suorituskykyskenaarioista projektin alkuvaiheen tutkimuksia varten Lisää muita skenaarioita myöhemmin Ohjelmistojen suorituskyky 9 Suorituskykyskenaariot Itse skenaarioiden lisäksi tarvitaan vielä arvio niihin liittyvien työkuormien intensiteetistä Pyyntöjen tulotahti (avoin järj.) Käyttäjien määrä ja miettimisaika (suljettu järj.) Joka skenaariolla voi eri intensiteetti Intensiteetti voi myös vaihdella vuorokaudenajan ja muiden ulkoisten/sisäisen tilanteiden mukaan Tietolähteitä Järjestelmäarkkitehti, markkinoinnin ja käyttäjien edustajat, suorituskykyasiantuntijat Ohjelmistojen suorituskyky 10 Helsingin Yliopisto / Tktl 5

6 Suorituskykytavoitteet Skenaarioiden evaluoimiseksi suorituskykytavoitteet on syytä esittää kvantitatiivisesti (s.o. lukuina) Ilman kvantitatiivisia vaatimuksia on vaikea tietää, mihin pitäisi pyrkiä ja milloin tavoite on saavutettu Kvantitatiivisten vaatimusten hyötyjä Tarjoavat perusteet suunnitteluvaihtoehtojen valinnalle Auttavat varmistamaan yksityiskohtaisten päätösten yhteensopivuuden globaalien tavoitteiden kanssa Parantavat työn tehokkuutta ohjaamalla huomion suorituskyvyn kannalta tärkeisiin toimintoihin Auttavat tarvittavan laitteiston valinnassa Ohjelmistojen suorituskyky 11 Suorituskykytavoitteet Yksi lukuarvo ei vielä ole suorituskykytavoite Tavoite on joukko lukuja, jotka kuvaavat tietyn tilanteen mukaista syötettä, sen käsittelyä ja tuotettuja tuloksia Tavoitteeseen liittyy tyypillisesti jokin tietty skenaario työkuormineen ja intensiteetteineen Tavoite määrittelee tavoitearvon jo(i)llekin suorituskykymittar(e)ille tässä tilanteessa - esimerkiksi kesimääräiselle vastausajalle R Eri tilanteille voidaan määritellä eri tavoitearvot (ruuhka-ajat, muu aika) Ohjelmistojen suorituskyky 12 Helsingin Yliopisto / Tktl 6

7 Suorituskykytavoitteet Tavoitearvot määritellään tyypillisesti käyttäjän tai muun ulkoisen vuorovaikutuksen näkökulmasta Käyttäjän kokema vastausaika (sekunteina), kun käyttäjä on vuorovaikutuksessa järjestelmän kanssa Reaaliaikajärjestelmän (esim tuotannon valvonta- tai ohjausjärjestelmän) vasteaika ulkoiseen tapahtumaan tai signaaliin Suoritusteho aikayksikköä kohden prosessoituina transaktioina tai tapahtumina Ohjelmistojen suorituskyky 13 Suorituskykytavoitteet Tavoitteet voivat olla myös rajoitteita ohjelmistoresurssien käytölle tai laitteiston käyttöasteelle Esimerkiksi tietty skenaario ei saisi käyttää tiettyä määrää enempää CPU-aikaa tai levyoperaatioita CPU:n käyttöaste ei saa ylittää tiettyä rajaa tai muistia on käytettävissä vain tietty määrä Tällaiset rajoitteet kumpuavat usein aiemmasta kokemuksesta järjestelmien implementoinnista Ohjelmistojen suorituskyky 14 Helsingin Yliopisto / Tktl 7

8 Suorituskykytavoitteet Vastausaikatavoitteet voivat koskea kokonaista käyttäjän tehtävää (end-to-end) eli koko skenaariota tai jotain sen yksittäistä transaktiota (esimerkiksi tiedon haku tietokannasta, tietojen päivitys, käyttäjän autentikointi jne.) Yksittäisiä transaktioita on yleensä helpompi mitata ja mallintaa Kuitenkin skenaarion tarkastelu kokonaisuutena voi paljastaa suorituskyvyn parannusmahdollisuuksia Yksittäisten askeleiden optimoinnin sijaan optimoidaankin koko suorituspolkua askeleita poistamalla ja yhdistelemällä Ohjelmistojen suorituskyky 15 Suorituskykytavoitteet Tavoitteiden tyypistä riippumatta, niiden on oltava tarkkoja ja mitattavia Ei näin: Järjestelmän on oltava nopea Vaan: Kokonaisaika tyypillisen oikein muodostetun tilauksen syöttämiselle järjestelmään saa olla korkeintaan kaksi (2) minuuttia, ja järjestelmän pitää tuottaa vastaus käyttäjän jokaiseen erilliseen pyyntöön alle viidessä (5) sekunnissa tilauksen syöttämisen aikana Ohjelmistojen suorituskyky 16 Helsingin Yliopisto / Tktl 8

9 Tietolähteet Suorituskykytavoitteet Järjestelmäarkkitehti, markkinoinnin ja käyttäjien edustajat, suorituskykyasiantuntijat Ohjelmistojen suorituskyky 17 Suoritusympäristö Suoritusympäristön vaikuttavat tekijät Laitteiston ja tietoverkkojen konfiguraatio, jossa ohjelmistoa suoritetaan laitteet ja niiden käsittelynopeus Käyttöjärjestelmä, väliohjelmistot (middleware, frameworks) ja muut laitteiston ja varsinaisen sovelluskoodin välissä toimivat tukiohjelmistot suuren kysynnän APIt ja niiden vaatima suoritusaika laitteistossa Tietokantojen käyttö taulujen koko, indeksointi Muut samassa ympäristössä suoritusajasta kilpailevat ohjelmistot niiden työkuormat ja resurssien kysyntä Ohjelmistojen suorituskyky 18 Helsingin Yliopisto / Tktl 9

10 Suoritusympäristö Suoritusympäristö vaikuttaa kiistatta skenaarioiden suorituskykyyn Web-applikaation vastausaika riippuu pyyntöjä käsittelevien prosessoreiden lukumäärästä ja nopeudesta, sisällön tallennukseen käytettävien levyjen saantiajasta, samanaikaisten palvelupyyntöjen lukumäärästä ja mahdollisista muista samassa laitteistossa suoritusajasta kilpailevista töistä Suoritusympäristön ominaisuudet auttavat määrittelemään mallinnettavat ohjelmistoresurssit ja niiden laitteistoon kohdistaman laiteresurssien tarpeen Ohjelmistojen suorituskyky 19 Tietolähteet Suoritusympäristö Järjestelmäarkkitehti, ohjelmistokehittäjät Ohjelmistojen suorituskyky 20 Helsingin Yliopisto / Tktl 10

11 Ohjelmistoresurssivaatimukset Skenaarion askeleissa (esimerkiksi ohjelmasuoritusverkon solmuissa) määritellään niiden vaatimat ohjelmistoresurssit Resurssien tyyppi riippuu suoritusympäristöstä ja ohjelmiston piirteistä Ohjelmistojen suorituskyky 21 Ohjelmistoresurssityyppi CPU:n käyttö SQL (tai muu TKJ) Tiedosto-I/O Viestit Tapahtumien kirjaaminen lokiin Väliohjelmistokutsut Prosessien väliset kutsut Kuvaus Määritellään työyksikköinä (work unit), arviona suoritettavien käskyjen määrästä tai CPU-aikana SQL-lauseiden määrä ja tyyppi tietokantaa käytettäessä Loogistentai fyysisten levyoperaatioiden lukumäärä Lähetettyjen viestien määrä tai koko lähiverkkoa tai muuta paikallista verkkoa käytettäessä, ulkoista verkkoa (WAN) tai internet-yhteyttä käytettäessä jne. Kirjaustapahtumien määrä (tiedostoihin tai tietokantoihin) Kutsujen tyyppi ja määrä (ORB, Enterprise Service Bus) Kutsujen lukumäärä, tyyppi ja kohde Etäkutsujen viive Etäpyynnön suoritukseen kuluva (arvioitu) aika kutsujan näkökulmasta (toisessa laitoksessa) Ohjelmistojen suorituskyky 22 Helsingin Yliopisto / Tktl 11

12 Ohjelmistoresurssivaatimukset CPU:n käytön arviointi on yksi vaikeimmista alkuvaiheessa arvioitavista resursseista Millä perusteella voisi arvioida suoritettavien käskyjen määrää, kun ohjelmiston toiminnot on vasta hyvin karkealla tasolla hahmoteltu? Ohjelmistojen suorituskyky 23 Ohjelmistoresurssivaatimukset Yksi ratkaisu on käyttää työyksikköjä (work unit) määrittelemään prosessointiaskeleen vaatimaa suhteellista määrää CPU-aikaa Asteikolla 1 5, missä 1 tarkoittaa vähän työtä ja 5 paljon Asteikko on lineaarinen, eli 5 yksikköä työtä tarkoittaa 5 kertaa enemmän kuin 1 yksikkö työtä Mittauksia tai aiempaa kokemusta voi käyttää apuna arvioitaessa työmääriä ja työyksikön kokoa suoritettavina käskyinä Esim: 1 yksikkö = 100 kinstr Ohjelmistojen suorituskyky 24 Helsingin Yliopisto / Tktl 12

13 Ohjelmistoresurssivaatimukset Aikaisessa vaiheessa malleissa tyypillisesti käytetään kahdesta viiteen ohjelmistoresurssia Myöhemmissä malleissa voidaan lisätä resursseja ja pyyntötyyppejä, kuten prosessien/säikeiden synkronointiin liittyviä resursseja Tietolähteet Ohjelmistokehittäjät yhdessä suorituskykyasiantuntijan kanssa Ohjelmistojen suorituskyky 25 Laitteistoresurssivaatimukset Laitteistoresurssivaatimukset kytkevät ohjelmistoresurssit suoritusympäristön keskeisiin laitteisiin määrittelemällä, kuinka paljon palveluita ne vaativat eri laitteilta Tyypillisiä resursseja CPU -suoritusaika per työyksikkö tai konekäsky, ytimien/cpu:iden määrä ja nopeus I/O fyysisen I/O:n määrä sekä laitteiden lukumäärä ja suoritusaika Viestit viestien koko ja verkon kaistanleveys tai tyypillisen viestin välitykseen kuluva aika Prosessointikustannus (CPU,I/O, viestit) per SQL-kysely, viestin luonti ja välitys, lokikirjaukset, väliohjelmistokutsut, etäkutsut jne Ohjelmistojen suorituskyky 26 Helsingin Yliopisto / Tktl 13

14 Laitteistoresurssivaatimukset Vaatimukset määritellään prosessointikustannustaulukossa Device CPU Disk Delay GINet Quantity Service Unit Sec. Phys. I/O Visits Msgs. WorkUnits 0.01 I/O Msgs Delay 1 Service time s 1s 0.05s Ohjelmistojen suorituskyky 27 Laitteistoresurssivaatimukset Tietolähteet Suorituskykyasiantuntija, Ohjelmistojen suorituskyky 28 Helsingin Yliopisto / Tktl 14

15 Tietojen hankinnasta Kehitysprojektin aikaisessa vaiheessa ei kannata huolestua, vaikka kaikista näistä tietoluokista ei saisikaan täsmällistä informaatiota Käytä aluksi arvauksia ja likimääräisiä arvoja sekä arviohaarukan ylä- ja alarajoja Malleja voi sitten täsmentää projektin edetessä uuden informaation valossa Ohjelmistojen suorituskyky 29 Tietojen hankinnasta Jos likimääräisiin arvioihin perustuvien mallien ratkaisut ennustavat selviä ongelmia, niihin on heti puututtava joka tapauksessa Näin huomio myös kiinnittyy suorituskyvyn kannalta oleellisiin asioihin heti projektin alusta lähtien Suorituskykyvaatimukset on syytä dokumentoida tai ainakin koota yhteen sitä mukaa, kun niitä kerätään Ohjelmistojen suorituskyky 30 Helsingin Yliopisto / Tktl 15

16 TIEDON HANKINNAN MENETELMÄT Ohjelmistojen suorituskyky 31 Tiedon hankinta Suorituskykyläpikäynti (performance walkthrough) Resurssitarpeiden arvioinnin tekniikat Ohjelmistojen suorituskyky 32 Helsingin Yliopisto / Tktl 16

17 SUORITUSKYKYLÄPIKÄYNTI PERFORMANCE WALKTHROUGH Ohjelmistojen suorituskyky 33 Läpikäynti (walkthrough) Läpikäynti on epämuodollinen katselmointikokous, jossa osallistujat käyvät kehitystiimin jäsenen johdolla läpi valikoituja yksityiskohtia järjestelmän arkkitehtuurista/suunnittelusta tai implementaatiosta Käytetään yleensä vikojen etsimiseen Suorituskykyläpikäynti on samantapainen tilaisuus, mutta tarkoituksena on kerätä suorituskykymalleissa tarvittavia tietoja Yhdellä henkilöllä on harvoin kaikkea tarvittavaa tietoa, joten on hyvä koota yhteen laajempi joukko asiantuntijoita Ohjelmistojen suorituskyky 34 Helsingin Yliopisto / Tktl 17

18 Roolit Tieto on jakaantunut eri sidosryhmille (stakeholder), joita edustavat esimerkiksi seuraavat roolit Käyttäjien edustaja tietää, miten järjestelmää käytetään, kuinka usein, missä olosuhteissa ja tilanteissa, mitkä ovat käytön suorituskykyvaatimukset jne. Järjestelmäarkkitehti tuntee arkkitehtuurin ja käyttötapaukset Suorituskykyasiantuntija tietää järjestelmän konfiguraatiosta (ja sen mahdollisesti olemassa olevista mittauksista) ja aiteresursseista; hän voi myös tehdä kokeita ja mittauksia datan saamiseksi Samalla osallistujalla voi olla monia rooleja Ohjelmistojen suorituskyky 35 Läpikäynnin aiheet järjestyksessä Aihe 1. Läpikäynnin tarkoitus ja suorituskykyriskien tunnistaminen Roolit Kaikki 2. Järjestelmänyleiskuvaus (valinnainen) Järjestelmäarkkitehti 3. Järjestelmävaatimukset ja käyttötapaukset Järjestelmäarkkitehti 4. Suorituskykytekijät(perfomance drivers) Kaikki 5. Valittu suorituskykyskenaario(t) Järjestelmäarkkitehti 6. Työkuormien intensiteetti ja suorituskykytavoitteet Käyttäjät, Järjestelmäarkkitehti, Suorituskykyasiantuntija 7. Suunniteltu konfiguraatio Järjestelmäarkkitehti tai Ohjelmistokehittäjä ja Kapasiteettisuunnittelija Ohjelmistojen suorituskyky 36 Helsingin Yliopisto / Tktl 18

19 Läpikäynnin aiheet järjestyksessä Aihe Roolit 8. Ohjelmistoresurssitemplaatti Suorituskykyasiantuntija 9. Arvio ohjelmistoresurssitarpeista Ohjelmistokehittäjä ja Suorituskykyasiantuntija 10. Laiteresurssitarpeet Suorituskykyasiantuntija 11. (jälkeenpäin) Tulosten läpikäynti ja tarvittaessa uudesta läpikäynnistä sopiminen Suorituskykyasiantuntija Järjestelmän koosta riippuen läpikäynti voi olla syytä jakaa useampaan erilliseen tilaisuuteen Esimerkiksi vaiheen 7 jälkeen on mahdollista keskittyä joksikin aikaa suorituskykymallin rakentamiseen, minkä jälkeen läpikäyntiä voidaan jatkaa uusin silmin Ohjelmistojen suorituskyky 37 Milloin läpikäyntejä järjestetään? Alustavat suorituskykyläpikäynnin pitäisi olla osa järjestelmän toteutettavuustutkimusta (feasibility study) Ensimmäinen läpikäynti voidaan järjestää heti kun järjestelmän toiminnoista on karkea yleiskäsitys Halutaan havaita isot ongelmat ennen kuin suunnittelussa ja toteutuksessa on sitouduttu liian pitkälle huonoihin ratkaisuihin, joiden muuttaminen on yhä suuritöisempää (ja kalliimpaa) Ohjelmistojen suorituskyky 38 Helsingin Yliopisto / Tktl 19

20 Jatkuvia läpikäyntejä Järjestelmän suorituskykyriskien vakavuudesta riippuen, suorituskykyläpikäyntejä on syytä jatkaa implementoinnin rinnalla, jotta kehitystiimillä säilyy kokonaiskuva järjestelmän suorituskyvystä Seurataan suorituskykyskenaarioiden evoluutiota ja niiden resurssitarpeiden muutoksia Yritetään välttää lokaalia osaoptimointia kokonaisuuden kustannuksella Käyttäjien edustajien osallistuminen on tärkeää suorituskykytekijöiden ja vaatimusten täsmentämiseksi sekä saavutetun suorituskyvyn validoimiseksi Ohjelmistojen suorituskyky 39 Iterointi Mallien konstruointi vaatii yleensä jonkin verran iterointia Tiedon kerääminen läpikäynnin avulla auttaa laatimaan alustavan mallin Mallin konstruointi lisää ymmärrystä kehitettävästä järjestelmästä, mikä luo uusia tietotarpeita, jotka voivat johtaa uuteen (osittaiseen) läpikäyntiin jne Ohjelmistojen suorituskyky 40 Helsingin Yliopisto / Tktl 20

21 Läpikäynnit Kurssikirjassa on perusteellinen esimerkki erään järjestelmän suorituskykyläpikäynnistä Ei ehditä käsitellä kurssilla Kurssikirjassa on myös paljon käytännön ohjeita läpikäyntien suorittamiseksi Läpikäynten epämuodollisuus, konkreettisuus ja iteratiivinen luonne vaikuttavat hyvinkin yhteensopivalta ketterien projektien kanssa, mutta niiden (samoin kuin koko SPE:n) ennakkosuunnittelua painottava luonne sopinee paremmin riskipitoisiin ja muutenkin enemmän ennakointia vaativiin projekteihin Ohjelmistojen suorituskyky 41 RESURSSITARPEIDEN ARVIOINTI Ohjelmistojen suorituskyky 42 Helsingin Yliopisto / Tktl 21

22 Resurssitarpeet Ohjelmiston resurssitarpeiden arviointi on vaikein osuus suorituskykytietojen hankinnasssa Tässä onnistuminen tai epäonnistuminen vaikuttaa suuresti mallien tuottamien ennusteiden tarkkuuteen Vaikeus yleensä helpottuu ajan myötä ja kokemuksen karttuessa Seuraavat tekniikat auttavat estimoinnissa Ohjelmistojen suorituskyky 43 Mittaukset Hanki mittaustietoja Mittaa samankaltaisten ohjelmistojen tai ohjelmiston aikaisemman version suorituskykyä Eri sidosryhmien on helpompi uskoa mallien tuottamia ennusteita, jos mitattua dataa on käytetty lähtötietoina Mittaa tärkeimpien komponenttien suorituskykyä heti kun ne on riittävän pitkälle implementoitu tai prototypoitu (sopii erityisesti inkrementaaliseen kehitysprosessiin) Yhdistele mittaustuloksia ja läpikäyntien tuottamaa tietoa malleihin Ohjelmistojen suorituskyky 44 Helsingin Yliopisto / Tktl 22

23 Mittaukset Perehdy muiden järjestelmien vastaavien suorituskykymittauksiin Tutustu ja tutki säännöllisesti samantyyppisistä järjestelmistä tehtyihin suorituskykymittauksiin Saat käsityksen tyypillisistä mittareiden arvoista sekä trendistä poikkeavien mittaustulosten syistä ja seurauksista Ohjelmistojen suorituskyky 45 Kysy neuvoa Turvaudu neuvonantajaan (mentor) Kokeneilta henkilöiltä saat parhaat suorituskykyarviot Pyydä apua ja neuvoja ensimmäisiin tekemiisi läpikäynteihin ja suorituskykytutkimuksiin Ohjelmistojen suorituskyky 46 Helsingin Yliopisto / Tktl 23

24 Parhaimman ja huonoimman tapauksen strategia Tee parhaimman ja huonoimman tapauksen arviot Jos mittauksia ei voida tehdä, on pakko pysyä arvioissa Luottamuksen lisäämiseksi määritä eri parametreille arvoalue (haarukka), jonka sisällä todellinen arvo todennäköisimmin on Käytä haarukan ala- ja ylärajoja mallien ratkaisuissa Jos paras tapaus on ongelmaton, siirry pahimman tapauksen analysointiin Jos pahinkin tapaus näyttää ongelmattomalta, yksityiskohtaisempia malleja ei tarvitse laatia Ohjelmistojen suorituskyky 47 Mitä resurssitarpeita arvioida? Keskity alkuvaiheen analyyseissä suorituskykyä dominoivien resurssien käyttöön Dominoiva resurssin käyttö vastaa suurimmasta osasta skenaarion suoritukseen kuluneesta ajasta, koska resurssin keskim. palveluaika on suhteellisen suuri tai koska sen kumulatiivinen käyttö aiheuttaa pitkiä jonotusviiveitä Nykyaikaisissa sovelluksissa viiveitä aiheuttavat todennäköisemmin etäobjektien/-palvelujen käyttö ja tietokannan tai levyn käyttö kuin CPU:n käyttö Alkuvaiheessa voi siis CPU:n käytön tarkan arvioinnin sivuuttaa ja käyttää vain karkeita suhteellisia työmääräarvioita (work units) Ohjelmistojen suorituskyky 48 Helsingin Yliopisto / Tktl 24

25 Mitä resurssitarpeita arvioida? Kurssikirja antaa yksityiskohtaisempia neuvoja levy I/O:n ja viestinvälityksen resurssiarvioiden tekemiseen Kannattaa lukea, sivuutetaan luennoilla Huomaa, että ohjelmistoresurssitarpeet (esim tietokanta, viestinvälityspalvelu) pitää vielä projisoida laiteresurssitarpeiksi Analysoi tarjotun palvelun suorituspolun prosessointikustannukset eri laitteilla (CPU, levy, tietoliikenneverkko) Spesialistit auttavat arvioiden laatimisessa, ja tehdyt arviot perusteineen kannattaa kirjoittaa muistiin ja jakaa muillekin kirjaston tai esimerkiksi wikin kautta Ohjelmistojen suorituskyky 49 Lopuksi Mallien tuottamat ennusteet ja mallinnuksessa käytetyt lähtötiedot on syytä verifioida ja validoida eli todentaa käytännössä Tähän käytetään systemaattisia suorituskykymittauksia, joita käsitellään seuraavalla luennolla Ohjelmistojen suorituskyky 50 Helsingin Yliopisto / Tktl 25

Ohjelmasuoritusmalli ja sen käyttö

Ohjelmasuoritusmalli ja sen käyttö Ohjelmasuoritusmalli ja sen käyttö Luento 3 58153003 Ohjelmistojen suorituskyky 1 Skenaarioiden suorituksen kuvaaminen OHJELMASUORITUSMALLI SOFTWARE EXECUTION MODEL 58153003 Ohjelmistojen suorituskyky

Lisätiedot

Järjestelmätason mallit III

Järjestelmätason mallit III Järjestelmätason mallit III Luento 8 58153003 Ohjelmistojen suorituskyky 1 KEHITYSPROJEKTIN ALKUVAIHEEN MALLIT 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Alkuvaiheen arviot Järjestelmän

Lisätiedot

Esimerkki ohjemasuoritusmallien käytöstä

Esimerkki ohjemasuoritusmallien käytöstä Esimerkki ohjemasuoritusmallien käytöstä Luento 4 58153003 Ohjelmistojen suorituskyky 1 SEKVENSSIKAAVIOISTA SUORITUSVERKKOIHIN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Sekvenssit

Lisätiedot

Suorituskyky ja ohjelmistokehitys Suorituskykymallit

Suorituskyky ja ohjelmistokehitys Suorituskykymallit Suorituskyky ja ohjelmistokehitys Suorituskykymallit Luento 2 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKYISTEN OHJELMISTOJEN KEHITTÄMINEN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto

Lisätiedot

Ohjelmiston suorituskyvyn mittaaminen

Ohjelmiston suorituskyvyn mittaaminen Ohjelmiston suorituskyvyn mittaaminen Luento 10 58153003 Ohjelmistojen suorituskyky 1 Suorituskyvyn mittaaminen Mittaaminen on SPE:n keskeinen osa Mittauksilla Tuotetaan mallien tarvitsemaa lähtödataa

Lisätiedot

Verkkosovellusten mallintaminen

Verkkosovellusten mallintaminen Verkkosovellusten mallintaminen Luento 5 58153003 Ohjelmistojen suorituskyky 1 VERKKOSOVELLUKSET 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Taustaa Monet nykyiset kuluttajasovellukset

Lisätiedot

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus Versio: 28.2.2013 Julkaistu: 28.2.2013 Voimassaoloaika: toistaiseksi Sisällys 1 Yleiset vaatimukset... 2 2 Latauspalvelun

Lisätiedot

Ohjelmistojen suorituskyky, Kurssin tavoitteet

Ohjelmistojen suorituskyky, Kurssin tavoitteet Ohjelmistojen suorituskyky, Kurssin tavoitteet Luento 1 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKY 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto / Tktl 1 Suorituskyky 58153003 Ohjelmistojen

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Algoritmit 2. Luento 1 Ti Timo Männikkö

Algoritmit 2. Luento 1 Ti Timo Männikkö Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

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

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

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

Automatisoinnilla tehokkuutta mittaamiseen

Automatisoinnilla tehokkuutta mittaamiseen Automatisoinnilla tehokkuutta mittaamiseen Finesse seminaari 22.3.2000 Päivi Parviainen 1 Miksi automatisoida? Mittaamisen hyödyt ohjelmistokehityksen ajantasainen seuranta ja hallinta tuotteen laadun

Lisätiedot

Kojemeteorologia. Sami Haapanala syksy 2013. Fysiikan laitos, Ilmakehätieteiden osasto

Kojemeteorologia. Sami Haapanala syksy 2013. Fysiikan laitos, Ilmakehätieteiden osasto Kojemeteorologia Sami Haapanala syksy 2013 Fysiikan laitos, Ilmakehätieteiden osasto Kojemeteorologia, 3 op 9 luentoa, 3 laskuharjoitukset ja vierailu mittausasemalle Tentti Oppikirjana Rinne & Haapanala:

Lisätiedot

HELIA 1 (15) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tiedonhallinta HELIA 1 (15) Luento Suorituskyvyn optimointi... 2 Tiedonhallintajärjestelmän rakenne... 3 Suunnittele... 4 SQL-komentojen viritys... 5 Tekninen ympäristö... 6 Fyysisen tason ratkaisut... 7 Indeksit...

Lisätiedot

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen 1 AS-0.3200 Automaatio- ja systeemitekniikan projektityöt A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen Projektisuunnitelma Tommi Salminen, Hanna Ukkola, Olli Törmänen 19.09.2014 1 Projektin

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

Arviointi ja mittaaminen

Arviointi ja mittaaminen Arviointi ja mittaaminen Laatuvastaavien koulutus 5.6.2007 pirjo.halonen@adm.jyu.fi 014 260 1180 050 428 5315 Arviointi itsearviointia sisäisiä auditointeja ulkoisia auditointeja johdon katselmusta vertaisarviointeja

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

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

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

ITSLEARNING RAPORTOINTI JA ANALYTIIKKA. Johda tiedolla

ITSLEARNING RAPORTOINTI JA ANALYTIIKKA. Johda tiedolla ITSLEARNING RAPORTOINTI JA ANALYTIIKKA Johda tiedolla Tervetuloa tutustumaan työvälineisiimme, jotka mahdollistavat tiedolla johtamisen ja auttavat päätöksenteossa. Seuraa oppijoiden etenemistä, selvitä

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

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

Ohjeita Siemens Step7, Omron CX Programmer käyttöön Ohjeita Siemens Step7, Omron CX Programmer käyttöön Sisällysluettelo 1 Siemens Step7 Manager...1 1.1 Laitteistomäärittely...1 1.2 Ohjelmalohkon luonti ja toteutus...2 1.3 Ohjelman kutsu...3 2 CX-Programmer...4

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30100 TIETOKANTOJEN SUUNNITTELU JA IIO30200 TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005), LUKU 9 JOUNI HUOTARI,

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Työkalujen merkitys mittaamisessa

Työkalujen merkitys mittaamisessa Työkalujen merkitys mittaamisessa Mittaaminen ja Ohjelmistotuotanto -seminaari Toni Sandelin 18.4.2001, VTT Elektroniikka, Oulu 1 Sisältö Mihin työkalutukea tarvitaan? Työkalut & metriikat: luokitus Mittausohjelmien

Lisätiedot

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Epäonnistuminen ei ole vaikeaa Approximately 40% of mission-critical mainframe projects

Lisätiedot

Aki Jääskeläinen Tutkijatohtori Tampereen teknillinen yliopisto aki.jaaskelainen@tut.fi www.tut.fi/pmteam 17.5.2013

Aki Jääskeläinen Tutkijatohtori Tampereen teknillinen yliopisto aki.jaaskelainen@tut.fi www.tut.fi/pmteam 17.5.2013 Aki Jääskeläinen Tutkijatohtori Tampereen teknillinen yliopisto aki.jaaskelainen@tut.fi www.tut.fi/pmteam 17.5.2013 Esityksen sisältö Keskeiset käsitteet Mittaamisen tila kuntien teknisessä toimessa Näkökulmia

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Sulautetut järjestelmät

Sulautetut järjestelmät Sulautetut järjestelmät Johdatus sulautettuihin järjestelmiin (JSU) Pekka Toivanen E-Mail: Pekka.Toivanen@uef.fi GSM: +358 40 543 9021 Syksy 2017 Opintojakso Luennot ti 7.11. klo 8-10, Sali F211 Seminaari

Lisätiedot

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

Fyysinen suunnittelu

Fyysinen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Fyysinen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luvusta 9 Jouni

Lisätiedot

Sosiaalisten verkostojen data

Sosiaalisten verkostojen data Sosiaalisten verkostojen data Hypermedian jatko-opintoseminaari 2008-09 2. luento - 17.10.2008 Antti Kortemaa, TTY/Hlab Wasserman, S. & Faust, K.: Social Network Analysis. Methods and Applications. 1 Mitä

Lisätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949. Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä: Nielsen: "Olen tutkinut Webin käytettävyyttä vuodesta 1994, ja jokaisessa tutkimuksessa esiin on noussut sama asia: käyttäjät haluaisivat sivujen latautuvan nopeammin. Aluksi olin sitä mieltä, että käyttäjät

Lisätiedot

MINÄ OSAAN MITTARISTO INFORMAATIOLUKUTAIDON OPETUKSEEN JA ARVIOINTIIN

MINÄ OSAAN MITTARISTO INFORMAATIOLUKUTAIDON OPETUKSEEN JA ARVIOINTIIN MINÄ OSAAN MITTARISTO INFORMAATIOLUKUTAIDON OPETUKSEEN JA ARVIOINTIIN Amkit-konsortion pedagoginen työryhmä selvitti keväällä 2008 IL-ydinainesanalyysin käyttöä. Selvityksestä kävi ilmi, että ydinainesanalyysin

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

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

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

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

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

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten

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

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen ON OLEMASSA KAHDENLAISIA YRITYKSIÄ: 1. NE JOIHIN ON MURTAUDUTTU 2. NE JOTKA EIVÄT VIELÄ TIEDÄ SITÄ

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

Liikenneteorian tehtävä

Liikenneteorian tehtävä J. Virtamo 38.3141Teleliikenneteoria / Johdanto 1 Liikenneteorian tehtävä Määrää kolmen eri tekijän väliset riippuvuudet palvelun laatu järjestelmä liikenne Millainen käyttäjän kokema palvelun laatu on

Lisätiedot

Ruokavalion henkilökohtaiset vaikutukset esiin data-analytiikalla

Ruokavalion henkilökohtaiset vaikutukset esiin data-analytiikalla Ruokavalion henkilökohtaiset vaikutukset esiin data-analytiikalla Jari Turkia CGI Itä-Suomen yliopisto 1 2 Ruokavalion henkilökohtaisten vaikutusten ennustaminen Itä-Suomen yliopiston Kansanterveystieteen

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Tunnistettu ja tunnustettu tapa käynnistää ja käydä rakentavaa yhteiskunnallista keskustelua

Tunnistettu ja tunnustettu tapa käynnistää ja käydä rakentavaa yhteiskunnallista keskustelua Tunnistettu ja tunnustettu tapa käynnistää ja käydä rakentavaa yhteiskunnallista keskustelua KÄRJISTYNYT KESKUSTELU DEMOKRATIAN KRIISI KOMPLEKSINEN MAAILMA Tarjoa dialogia 1 Kysyntää on 2 Dialogi opitaan

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA

TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA SAS forum Helsinki 2013 LTC Otso - Kristiina Korhonen 24.9.2013 LTC-OTSO ASIAKKAIDEN KESKEINEN KUMPPANI JA LIIKETOIMINNAN MAHDOLLISTAJA LTC-Otso

Lisätiedot

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

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla Testitapaukset - Siirtoprotokolla Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Testitapaukset...5 3.1 Ohjelma-ajan lukeminen...5 3.2 Koordinaattidatan lukeminen...5 3.3 Lähetysajan

Lisätiedot

Esimerkkejä vaativuusluokista

Esimerkkejä vaativuusluokista Esimerkkejä vaativuusluokista Seuraaville kalvoille on poimittu joitain esimerkkejä havainnollistamaan algoritmien aikavaativuusluokkia. Esimerkit on valittu melko mielivaltaisesti laitoksella tehtävään

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

Käsiteanalyysi prosessina ja tarveanalyysi

Käsiteanalyysi prosessina ja tarveanalyysi Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Käsiteanalyysi prosessina ja tarveanalyysi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI TIETOJEN MALLINNUS KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3 S. 68 73 JA LUKU 4 (S. 79 84) JOUNI HUOTARI

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Jani Laine 31.10.2017 Ohjaaja: DI Jimmy Kjällman Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu

HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu HELIA 1 (11) Luento 4 Käytettävyyden tuottaminen... 2 Käytettävyys ja systeemityöprosessi... 3 Määrittely... 3 Suunnittelu... 3 Toteutus ja testaus... 3 Seuranta... 3 Kriittiset tekijät käytettävyyden

Lisätiedot

Videotoisto Nexus 7 tableteilla: Android 4.4 KitKat selvästi edellistä versiota heikompi

Videotoisto Nexus 7 tableteilla: Android 4.4 KitKat selvästi edellistä versiota heikompi Videotoisto Nexus 7 tableteilla: Android 4.4 KitKat selvästi edellistä versiota heikompi - Android 4.3 Jelly Bean ja 4.4 Kitkat käyttöjärjestelmien videotoiston suorituskyvyn vertailu Nexus 7 tabletilla

Lisätiedot

T Johdatus käyttäjäkeskeiseen tuotekehitykseen Kertausluento

T Johdatus käyttäjäkeskeiseen tuotekehitykseen Kertausluento Käyttöliittymät t ja käytettävyys T-121.2100 Johdatus käyttäjäkeskeiseen tuotekehitykseen Kertausluento 1.3.2006 Ohjeet Kirjoita oma nimesi vastauspaperiin Vain yksi vaihtoehto on oikein monivalintakysymyksissä

Lisätiedot

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Tietokonejärjestelmä Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.

Lisätiedot

ELMAS 4 Laitteiden kriittisyysluokittelu 8.2.2012 1/10. Ramentor Oy ELMAS 4. Laitteiden kriittisyysluokittelu. Versio 1.0

ELMAS 4 Laitteiden kriittisyysluokittelu 8.2.2012 1/10. Ramentor Oy ELMAS 4. Laitteiden kriittisyysluokittelu. Versio 1.0 1/10 Ramentor Oy ELMAS 4 Laitteiden kriittisyysluokittelu Versio 1.0 2/10 SISÄLTÖ 1 Kuvaus... 3 2 Kriittisyysluokittelu ELMAS-ohjelmistolla... 4 2.1 Kohteen mallinnus... 4 2.2 Kriittisyystekijöiden painoarvojen

Lisätiedot

IIO10200 Tietokantaohjelmointi (4 op)

IIO10200 Tietokantaohjelmointi (4 op) IIO10200 Tietokantaohjelmointi (4 op) Opintojakson esittely Jouni Huotari S2008 http://student.labranet.jamk.fi/~huojo/opetus/iio10200/ Tavoitteena on, että opiskelija: Osaa SQL-kielen perusteet Taulujen

Lisätiedot

Toiminnanohjaukseen liittyvän liiketoimintatiedon hyödyntäminen Helsinki Business College Oy:ssä

Toiminnanohjaukseen liittyvän liiketoimintatiedon hyödyntäminen Helsinki Business College Oy:ssä Toiminnanohjaukseen liittyvän liiketoimintatiedon hyödyntäminen Helsinki Business College Oy:ssä 30.10.2012 LARK-hanke Laatupäällikkö, Jaakko Tuomi Laadunhallinnan tukiprosessin (16) yleiset tavoitteet

Lisätiedot

Online-oppiva ilmavalvontajärjestelmän suorituskykymalli

Online-oppiva ilmavalvontajärjestelmän suorituskykymalli Online-oppiva ilmavalvontajärjestelmän suorituskykymalli MATINE:n tutkimusseminaari 16.11.2017 Juha Jylhä ja Marja Ruotsalainen Tampereen teknillinen yliopisto Signaalinkäsittelyn laboratorio Hankkeelle

Lisätiedot

Mobiilit ratkaisut yrityksesi seurannan ja mittaamisen tarpeisiin. Jos et voi mitata, et voi johtaa!

Mobiilit ratkaisut yrityksesi seurannan ja mittaamisen tarpeisiin. Jos et voi mitata, et voi johtaa! Mobiilit ratkaisut yrityksesi seurannan ja mittaamisen tarpeisiin Jos et voi mitata, et voi johtaa! Ceriffi Oy:n seuranta- ja mittauspalveluiden missio Ceriffi Oy:n henkilöstö on ollut rakentamassa johtamis-,

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

Projektityö

Projektityö Projektityö 21.10.2005 Projektisuunnitelma Työn ositus Projektisuunnitelman sisältö Kurssin luennoitsija ja projektiryhmien ohjaaja: Timo Poranen (email: tp@cs.uta.fi, työhuone: B1042) Kurssin kotisivut:

Lisätiedot

Poweria analytiikkaan

Poweria analytiikkaan IBM 18.3.2014 Poweria analytiikkaan Informaatiotalous: mikä on muuttunut Keskiajalta jälkiteolliseen yhteiskuntaan Maatalous: maan omistus Teollinen: tuotantokapasiteetin omistus Jälkiteollinen: kyky hyödyntää

Lisätiedot

mikä sen merkitys on liikkuvalle ammattilaiselle?

mikä sen merkitys on liikkuvalle ammattilaiselle? artikkeli WWAN-verkko WWAN-verkko: mikä sen merkitys on liikkuvalle ammattilaiselle? Nopeiden, saumattomien yhteyksien merkitys minkä tahansa yrityksen menestykseen sekä liikkuvan ammattilaisen tehokkuuteen

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

Nimi: Henkilötunnus: {id} {+id}

Nimi: Henkilötunnus: {id} {+id} TEHTÄVÄ : Eräillä kursseilla on kertauskysymyksiä, joihin opiskelijat vastaavat webin kautta. Kurssilla voi olla useita kysymyssarjoja, joihin voi kuulua monta kysymystä. Kysymyssarjalla on kurssikohtainen

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU JA IIO30220 DATABASE MANAGEMENT / TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI,

Lisätiedot

Liiketoiminnan kokonaiskuva yhdellä silmäyksellä

Liiketoiminnan kokonaiskuva yhdellä silmäyksellä Liiketoiminnan kokonaiskuva yhdellä silmäyksellä Flex on selainpohjainen käyttöliittymä, johon voi kerätä liiketoiminnan tärkeimmät avainluvut visuaalisesti ja helposti hahmotettavaan muotoon. Flex mahdollistaa

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

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Aurinkoenergiajärjestelmien etäseurantajärjestelmä Aurinkoenergiajärjestelmien etäseurantajärjestelmä Janne Raitaniemi (Bitec Oy) Saku Rantamäki (SAMK) Aurinkoenergiajärjestelmien luonne järjestelmien odotettu elinkaari on pitkä investoinnin kannattavuus

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä Edistymisraportti v. T4 (Toteutus 4) Päivitetty 15.3.2001 klo 18:13 2 (8) Sisällys 1 PROJEKTIN TILA...3 2 SUORITETUT TEHTÄVÄT...6 3 KÄYTETYT MENETELMÄT...7 4 ONGELMAT...8 EDISTYMISRAPORTTI 2 3 (8) 1. Projektin

Lisätiedot

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa 1 Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa Passion leads to design, design leads to performance, performance leads to SUCCESS! OLLI NIEMI Yoso Oy Mitä määrittelyltä

Lisätiedot

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet Järjestelmäarkkitehtuuri (TK081702) Ympäristö Muutostarpeet ja niihin vastaaminen Yritysarkkitehtuuri Liiketoiminta-arkkitehtuuri Tavoitteet, Palvelut, Prosessit Informaatioarkkitehtuuri Tietotarpeet,

Lisätiedot

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT Oliotietokannat Nääsvillen Oliopäivät 2004 15.12.2004 Pekka Kähkipuro Kehitysjohtaja, FT pekka.kahkipuro@sysopen.fi Oliotietokanta Idea: pysyvän tiedon tallentaminen suoraan oliomuodossa Tietosisältö ja

Lisätiedot