Luku 10: Testaus ja optimointi. Pelien testaus Testityyppejä Suorituskyvyn analysointi Optimointikikkoja Grafiikkaliukuhihnan optimointi

Koko: px
Aloita esitys sivulta:

Download "Luku 10: Testaus ja optimointi. Pelien testaus Testityyppejä Suorituskyvyn analysointi Optimointikikkoja Grafiikkaliukuhihnan optimointi"

Transkriptio

1 Luku 10: Testaus ja optimointi Pelien testaus Testityyppejä Suorituskyvyn analysointi Optimointikikkoja Grafiikkaliukuhihnan optimointi

2 Testaus Monet normaalin ohjelmistotuotteen testauksen opeista ovat sellaisenaan hyödyllisiä myös peleissä Bugitietokanta, riskianalyysi, testikattavuus... Harvoin kukaan kuolee tai menettää valtavia summia rahaa, jos peli kaatuu Niinpä useimmat virheet eivät ole yhtä kriittisiä kuin vakavissa sovelluksissa Peleissä on enemmän liikkuvia osia kuin monissa muissa sovelluksissa, joten kaikkea on hankalampi kattaa jäykillä testitapauksilla

3 Testaus Pelit ovat usein läheisesti tekemisissä raudan kanssa (nykyään erityisesti GPU:t) Varsinkin PC:llä erilaisia rautakonfiguraatioita julmetun paljon kaikkien yhdistelmien testaaminen kaikissa eri pelitilanteissa äärimmäisen työlästä Kaiken tehon irti ottaminen vaatii monimutkaisia ja kummallisia kikkoja, joten bugit ovat usein mystisiä Ei siis ihme, että pelit ovat usein bugisia

4 Testaus Pelien testauksessa painopistealueet ovat hieman erilaiset kuin perinteisessä ohjelmistotuotannossa Peleissä tyypillisiä testityyppejä (McShaffry): toiminnallisuustestit rasitustestit suorituskykytestit pelattavuustestit käytettävyystestit konfiguraatiotestit

5 Suorituskyky ja konfiguraatiot Pelit vievät tyypillisesti laitteiston sietokyvyn rajoille, joten kuormitustestit ovat tarpeen Tutkitaan pelin toimintaa kun resurssit ovat vähissä, sekä muissa erikoistilanteissa Tippuuko fps jossain tilanteissa? Millainen CPU/GPU vaaditaan? Paljonko muistia? Entä jos levytila loppuu? Näyttötila vaihtuu kesken pelin? Verkkoyhteys katkeaa? Eri laitteilla (PC, Android) ja softaversioilla yllättävät interaktiot tulostinajureiden jne kanssa

6 Pelattavuustestit Pelattavuustesteillä on tarkoitus varmistaa, että pelin pelaaminen on (kohdeyleisön mielestä) hauskaa, viihdyttävää, mielenkiintoista tyypillisesti käytetään ulkopuolisia pelaajia, joille peli annetaan ja lopuksi haastatellaan kilpailijoidenkin pelejä voi pelauttaa ihmisillä, jolloin saa ideoita: miten voisi tehdä paremman huijauskoodeilla ja neuvoilla kannattaa yrittää antaa testaajalle kuva pelistä laajemmin, ei vain alusta

7 Metriikat, A/B-testit Verkossa toimivissa peleissä pelaajien toimista voi kerätä paljon hyödyllistä informaatiota (metriikat) esim. mitä toimintoja ei käytetä, mitä pelaajat tekivät vähän ennen lopettamista A/B-testaus: annetaan osalle käyttäjistä erilainen tuote ja tutkitaan onko tulos parempi vai huonompi esim. käyttöliittymän yksityiskohtien hiominen pitkään käytetty markkinoinnissa Tarvitaanko enää pelisuunnittelua, kun kaiken voi ratkaista metriikoilla?

8 Käytettävyystestit Käytettävyystestissä testataan, osaako pelaaja toimia pelissä esim. annetaan ulkopuoliselle tehtävä ilman ohjeita ja katsotaan, miten käy toisin kuin pelattavuustesteissä, tekijöiltä ei saa kysyä apua ensimmäistä kertaa pelin näkevän katselu on usein tekijälle silmät avaava kokemus videointi helpottaa analyysiä

9 Automaattinen testaus Joitakin osia pelien testaamisesta voidaan automatisoida Ei korvaa ihmistestausta Syöte voi tulla pelaajan sijaan testiskriptiltä Koodissa on testejä, jotka varmistavat, että peli on ehjässä tilassa Automaattiset testit voidaan ajaa jokaisen käännöksen jälkeen ja/tai joka yö Hankalaa jos pelin säännöt muuttuvat jatkuvasti, vanha skripti ei ole enää validi

10 Betatestit Varsinkin verkkopeleissä on yleistä käyttää julkista betatestiä: peli julkistetaan osalle yleisöstä ennen varsinaista julkaisua MMO-peleissä palvelinten kuormitusta on hyvin vaikeaa simuloida realistisesti muuten Yleisö kannattaa valita: hardcore-pelaajia, jotka oikeasti pelaavat riittävästi Testaajat kannattaa palkita, jotta heiltä saisi hyvää palautetta

11 Optimointi Optimoinnilla tarkoitetaan tässä suorituskyvyn parantamista Esimerkiksi prosessorin, muistin ja väylän käyttö Peruskäyttäjällä ei yleensä ole uusinta grafiikkakorttia; ihmiset yrittävät pelata uusia pelejä hyvinkin vanhoilla koneilla Mitä pienemmät laitevaatimukset, sitä suurempi potentiaalinen asiakaskunta

12 Optimoinnin tasot Optimoinnin voi jakaa kolmeen tasoon Järjestelmätaso: resurssienkäytön tasapainotus Sovellustaso: kertaluokkiin vaikuttavia muutoksia tietorakenteissa ja algoritmeissa octree, LoD, karsinta,... potentiaalia vaikuttaa ratkaisevasti epätarkkakin ajoajan analyysi voi olla avuksi Mikrotaso: yhden tai muutaman koodirivin tasolla tapahtuvaa suurimmassa osassa koodia turhaa

13 Analyysi Optimoinnin ensimmäinen vaihe on analyysi: jos ei tiedä, miksi peli on hidas, asialle on vaikea tehdä mitään Kun jossakin prosessissa on monta vaihetta, muodostuu yleensä yksi pullonkaula: minkään muun vaiheen nopeuttaminen ei auta yhtään grafiikassa keskeistä: CPU lähettää datan, kulkee väylässä, etenee kortin liukuhihnaa pitkin Analyysin tavoitteena selvittää, paljonko aikaa ja muistia kuluu mihinkin koodin osaan

14 Analyysi Täytyy mitata jotain, jotta sitä voisi parantaa hyvä mittari on toistettava, edustava ja käytettävä yleisin mittari peleissä fps epälineaarisuuden vuoksi ms/frame parempi Ajastimilla on helppo saada karkeita arvioita paljonko aikaa kuluu jossakin koodin osassa gettime() tai vastaava, lasketaan erotuksia Vastaavasti tutkimalla vapaan muistin määrää (tai pitämällä kirjaa) voi tutkia muistinkulutusta

15 Pullonkaulan etsiminen Pullonkaulaa voi etsiä kokeilemalla korvataan prosessin vaiheita yksi kerrallaan yksinkertaistetulla versiolla, esim. prosessori: törmäystarkistuksen ja AI:n poisto väylä: tekstuurien korvaus pienemmillä versioilla pikselien määrä: piirtoikkunan koon pienennys toinen vaihtoehto monimutkaisempi versio (varo kääntäjän optimointeja) Jos peli ei nopeudu, kyseinen vaihe ei luultavasti ole pullonkaula Ongelma: muutokset vaikuttavat muihinkin osiin

16 Työkalut Profilointityökaluilla voi tutkia tarkemmin, paljonko aikaa ja muistia kuluu koodin osissa voi aiheuttaa overheadia ja vääristymiä 3d-korttien valmistajilla on työkaluja, joilla voi tutkia eri liukuhihnan vaiheiden kuormitusta ym. Laitteiston nopeuden muuttaminen Välimuistihutien laskeminen Työkaluja: VTune, MS PIX, Intel GPA, NSight, gdebugger

17 Yleisiä optimointikikkoja Ajankäytön jakauma on hyvin vino: suurin osa ajasta kuluu pienessä osassa koodia, joten mikrotason optimointikin kannattaa usein kunhan sen tekee oikeaan paikkaan Tärkeämpää kuin tuntea joukko niksejä on tuntea kohdelaitteisto ja ohjelmistoympäristö prosessorin ja 3d-kortin toiminta (väli)muistiarkkitehtuuri (datan sijoittelu) kääntäjä, käytetyt kirjastot/ohjelmistokehykset

18 Yleisiä optimointikikkoja Katsotaan kuitenkin joukko niksejä :) usein ristiriidassa selkeyden ja luotettavuuden kanssa, joten ajattele ennen käyttöä! Prosessorinkäyttöä voi usein muuttaa muistinkäytöksi laskemalla arvot valmiiksi klassinen esimerkki trigonometriset funktiot tosin välimuistin tehokkuus huononee Sievennä matemaattiset lausekkeet x/z+y/z (x+y)/z

19 Yleisiä optimointikikkoja Ota operaatioiden kestot huomioon jakolasku on hidas: x/c (1/c)*x liukulukujen matkiminen kokonaisluvuilla Merkkijonojen vertailu on hidasta Käytä staattisia rakenteita dynaamisten sijaan jos mahdollista, dynaamisissa on overheadia dynaamiset tietotyypit, dynaaminen sitominen jatkuva dynaaminen muistinvaraus/-vapautus taulukko vs. dynaaminen vektori

20 Yleisiä optimointikikkoja Älä käytä ylimääräisiä bittejä tiedon tallentamiseen jos tiedetään, että arvo on aina , menee 32- bittinen luku paljolti hukkaan; 8 (tai 7) bittiä riittää mutta joskus 32-bittisiä on nopeampi käsitellä... Muistinkulutusta vähentää resurssien tallennusmuodon oikea valinta äänitiedostoksi voi riittää 11 khz mono 44 khz stereon sijaan, tilankäyttö 1/8 bittikarttojen/tekstuurien bittimäärät per väri pakkaaminen: sekä häviöllinen että häviötön

21 Yleisiä optimointikikkoja STL:n tietorakenteet muistirohmuja Symmetrian hyödyntäminen: joskus riittää puolet tai vähemmänkin muistista/ajoajasta, jos esim. toinen puoli datasta on sama peilattuna SIMD-arkkitehtuuri: koodin vektorointi Tiedon sijoittelu muistiin (alignment) Pelkkä poikkeusten olemassaolo hidastaa funktiokutsuja

22 Yleisiä optimointikikkoja Hyödynnä välimuisti: sekä data että käskyt peräkkäin käytetty data peräkkäin Kääntäjä pitää yksittäiset funktiot yleensä muistissa jatkuvana palana ja käännösyksikön funktiot peräkkäisinä, joten: pidä koodi lyhyenä (vähän konekielikäskyjä) sijoita käytetyt funktiot peräkkäin vältä varsinkin ulkopuolisten funktioiden kutsua ristiriita: funktiot lyhentävät koodia - inlining

23 Resurssivälimuisti Kovalevyltä lataaminen on erityisen hidasta, joten olisi tärkeää, että data mahtuu muistiin Koska tähän ei kuitenkaan päästä, peleihin toteutetaan usein erillinen resurssivälimuisti resursseja ovat esimerkiksi hahmoanimaatiot, kolmioverkot, tekstuurit, kentät, äänet, videot,... pitää kirjaa, mitkä resurssit on ladattuna ja paljonko niitä on käytetty lataa pyydettäessä resursseja levyltä ja heittää tarpeettomimmat pois muistista hallinnoi muistivarastoja, ei jatkuvaa new/deleteä

24 Pelimaailma ja resurssit Resurssit voi ottaa huomioon jo pelimaailmaa suunniteltaessa yksi kenttä tai sen osa käyttää juuri sen verran muistia kuin laitteessa on ladataanko jatkuvasti vai latauspisteissä segmentit ja puskurivyöhykkeet Halo 1 esimerkillinen Etenkin konsoleilla kätevää, koska voidaan usein optimoida tietylle tunnetulle laitteelle

25 Datan siirto Eniten väylää kuluttaa yleensä tekstuurien siirto pidetään tekstuurit mahdollisimman pitkään grafiikkakortilla ja vältetään niiden vaihtelua Tekstuuribudjetti: käytetään resurssit siellä missä se näkyy pelaajalle eniten kokeillaan peliä eri kokoisilla versioilla tekstuureista ja katsotaan, onko lisäresoluutiosta näkyvää hyötyä läpinäkyvyys ym. kikat ei kopioita samasta tekstuurista

26 Datan siirto Verteksien siirto harvoin nykyään ongelma kolmioketjut ja -viuhkat voivat olla jopa hitaampia kuin pelkät kolmiot; riippuu laitteesta verteksien optimointi GPU:n välimuisteja ajatellen tähänkin automaattisia työkaluja API-kutsujen määrän minimointi batching: useita pieniä tehtäviä samaan kutsuun kolmioketjut voi yhdistää degeneroituneilla 3d-mallien instanssit Tilavaihdosten minimointi materiaalin perusteella järjestäminen

27 Geometria Verteksisävytin nykyään harvoin pullonkaula tosin kuluttaa monilla laitteilla samoja resursseja kuin pikselisävyttimet Jos tehdään useita transformaatioita, kerrotaan matriisit yhteen ennen verteksien kertomista ei siis tehdä verteksisävyttimessä asioita, jotka voidaan tehdä kerran framessa tai kerran per objekti CPU:lla esim. jotkin koordinaatistomuunnokset Valitaan valonlähteet, jotka vaikuttavat objektiin

28 Rasterointi/pikselisävytin Rasteroinnissa minimoidaan sitä, montako kertaa kukin pikseli piirretään Varmistetaan, että pikselit karsitaan mahdollisimman aikaisessa vaiheessa Hi-z, early z, front-to-back, occlusion query Z-puskuri pois päältä skyboxissa, menuissa ym. Hyödynnä ilmainen interpolointi rasterointi, bilineaarinen suodatus Kaikkia vektoreita ei tarvitse normalisoida Tunne GPU-rauta (esim. vektorointi, pistetulot) Usein molemmat if-haarat suoritetaan jos jokainen pikseli ei ole samaa mieltä

29 Tekstuurikaista Pullonkaula voi myös GPU:n sisäinen muistikaistanleveys johtuen yleensä lukuisista tekstuurien arvojen hakemisista erityisesti monet efektit ottavat jopa kymmeniä näytteitä pikseliä kohti pienemmät tekstuurit, vähemmän bittejä/pikseli tekstuurien pakkaaminen mipmap vähentää myös kaistan käyttöä prefetching: rauta hakee arvon etukäteen, jos sävyttimen toiminta on ennustettavaa

30 Mobiiliympäristöt Mobiililaitteilla tehoa suhteellisen vähän GPU:lla yleinen pullonkaula pikseliprosessointi ei screen space -tekniikoita voi kannattaa siirtää kuormaa CPU:lle kaistanleveysongelmat (pakkaa tekstuurit) Myös akun kulutus pitää ottaa huomioon Mobiili-GPU:iden arkkitehtuuri voi olla erilaista esim. ipad2: tile-based deferred Visuaalisuus huijataan: artistit töihin, sisäänleivotut varjot ym., trilight-malli tekstuuriin

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat 2D-piirto 2-ulotteisen grafiikan piirto perustuu yleensä valmiiden kuvien kopioimiseen näyttömuistiin (blitting)

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

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

Lisätiedot

Pelisuunnittelua tulevaisuudessa. Karoliina Korppoo / Colossal Order

Pelisuunnittelua tulevaisuudessa. Karoliina Korppoo / Colossal Order Pelisuunnittelua tulevaisuudessa Karoliina Korppoo / Colossal Order Puhuja Karoliina Korppoo Game Designer Lead designer projektissa Cities: Skylines Medianomi, Tampereen Ammattikorkeakoulu Filosofian

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

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. 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

Yhteistyötä sisältämätön peliteoria

Yhteistyötä sisältämätön peliteoria Yhteistyötä sisältämätön peliteoria jarkko.murtoaro@hut.fi Optimointiopin seminaari Kevät 2003 / 1 Sisältö Johdanto Käsitteistö Työkalut Nashin tasapaino Täydellinen tasapaino Optimointiopin seminaari

Lisätiedot

Testiraportti Android virtuaalikone vs. natiivikoodi Ville Laine, Delta 23

Testiraportti Android virtuaalikone vs. natiivikoodi Ville Laine, Delta 23 Testiraportti Android virtuaalikone vs. natiivikoodi Ville Laine, Delta 23 1 Sisällys 1. Johdanto...3 2. Testiohjelma...3 2.1. Testi 1: Raaka funktiokutsu...3 2.2. Testi 2: Yhteenlaskutesti...3 2.3. Testi

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

Kontrollilaitteet. Arsenaali

Kontrollilaitteet. Arsenaali Arsenaali Kontrollilaitteet Tietokonepeleissä käytettäviä kontrollilaitteita on valtava määrä Kaikilla alustoilla, joilla pelejä pelataan on jokin vakio kontrolleri PC: Hiiri ja näppäimistö Konsolit: Controller

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

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

TK081001 Palvelinympäristö

TK081001 Palvelinympäristö TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! RAID RAID = Redundant Array of Independent Disks Useasta fyysisestä kiintolevystä muodostetaan yhteinen

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

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

Lisätiedot

PC-LAITTEEN TESTAAMINEN

PC-LAITTEEN TESTAAMINEN PC-LAITTEEN TESTAAMINEN PC-Check-ohjelma Kun laite on koottu, on perusteltua testata sen toiminta ennen käyttöönottoa. Tätä varten on luotu erilaisia ohjelmia, joilla voi laitteen eri osat testata. Yksi

Lisätiedot

Ammatti: Pelisuunnittelija

Ammatti: Pelisuunnittelija Ammatti: Pelisuunnittelija Ville Vuorela 2011 Quo Vadis? Ville Vuorela 37 vuotta (pelaajien keski-ikä) Paheksuttava ikiopiskelija Pelialalle 1996, kokopäiväisesti 2004 (Sumea) Nykyisin pelisuunnittelun

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

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

58160 Ohjelmoinnin harjoitustyö

58160 Ohjelmoinnin harjoitustyö 58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

Johdanto. Olet rekisteröitynyt cined.eu -esitysalustalle ja käyttäjätilisi onaktivoitu.

Johdanto. Olet rekisteröitynyt cined.eu -esitysalustalle ja käyttäjätilisi onaktivoitu. CinEd-käyttöopas Johdanto Olet rekisteröitynyt cined.eu -esitysalustalle ja käyttäjätilisi onaktivoitu. Tämän käyttäjätilin avulla voit katsoa ja ladata elokuvia, jotka ovat saatavilla kotimaassasi ja

Lisätiedot

18 Komponentit, ulkoasu ja visuaalisuus. Materiaalit CC-BY 4.0 Mikko Lampi

18 Komponentit, ulkoasu ja visuaalisuus. Materiaalit CC-BY 4.0 Mikko Lampi 18 Komponentit, ulkoasu ja visuaalisuus Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Pelikomponentit 2. Ulkoasu ja visuaalisuus 3. Esimerkkejä Työskentelyä Pelikomponenttien suunnittelu Visuaalisuuden

Lisätiedot

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

Lisätiedot

Toinen harjoitustyö. ASCII-grafiikkaa

Toinen harjoitustyö. ASCII-grafiikkaa Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita

Lisätiedot

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana Muutamia ajatuksia siitä, miten testaus pärjää lama-ajan säästötalkoissa. Laman patologioita ja mahdollisuuksia. Säästämisen strategioita.

Lisätiedot

Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa?

Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa? Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa? Antti Villberg Semantum Oy 22.5.2014 MOSAIC Pelityöpaja Ongelmanasettelu koulutus ja kehittäminen työelämässä Työympäristöt muuttuvat

Lisätiedot

Onnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan.

Onnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan. KYLLÄ, JA Onnistut yrittämässäsi ja saavutat enemmän kuin odotit, enemmän kuin kukaan osasi odottaa. KYLLÄ, MUTTA Onnistut yrittämässäsi, mutta jokin täysin epäolennainen asia menee vikaan. EI, MUTTA Et

Lisätiedot

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja

Lisätiedot

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen Geogebra -koulutus Ohjelmistojen pedagoginen hyödyntäminen Geogebra Ilmainen dynaaminen matematiikkaohjelmisto osoitteessa http://www.geogebra.org Geogebra-sovellusversion voi asentaa tietokoneilla ja

Lisätiedot

Moderneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia

Moderneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia 1 Datan rinnakkaistamisessa siis eri prosessointiyksiköt suorittavat saman operaation annetulle datalle, joka pilkotaan prosessointiyksikköjen kesken. Pointti on siis se, että kyseessä ei ole tehtävien

Lisätiedot

Board Game Lab. 4 Teema. Materiaalit CC-BY 4.0 Mikko Lampi

Board Game Lab. 4 Teema. Materiaalit CC-BY 4.0 Mikko Lampi Board Game Lab 4 Teema Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Mikä on teema? 2. Teeman suunnittelu ja kehittäminen Työskentelyä Keskustelua Teeman suunnittelua Mikä on teema? Peli = mekaniikka

Lisätiedot

TK081001 Palvelinympäristö

TK081001 Palvelinympäristö TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! SAS (Serial Attached SCSI) Yleinen kiintolevyväylä nykyisissä palvelimissa Ohjataan SCSI-komennoin Siirrytty

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen ILMAINEN Lukimat-verkkopalvelun (www.lukimat.fi) kautta saatava tietokonepeli EKAPELI-MATIKKA Ekapeli-Matikka on tarkoitettu

Lisätiedot

ARVO - verkkomateriaalien arviointiin

ARVO - verkkomateriaalien arviointiin ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 5/8: Mediaelementit Edellinen

Lisätiedot

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen Venekilpailu! Esteiden väistely ja hahmon ohjaaminen 1 Vaihe 1 Valmistelu Lataa Boat Race eli Venekisa -niminen projekti seuraavasta linkistä ja avaa Scratchissa (Online- tai Offline-versiossa): http://jumpto.cc/boat-get

Lisätiedot

Seuraavat kysymykset koskevat erilaisia tekijöitä, jotka liittyvät digitaaliseen mediaan ja digitaalisiin laitteisiin kuten pöytätietokoneet,

Seuraavat kysymykset koskevat erilaisia tekijöitä, jotka liittyvät digitaaliseen mediaan ja digitaalisiin laitteisiin kuten pöytätietokoneet, Seuraavat kysymykset koskevat erilaisia tekijöitä, jotka liittyvät digitaaliseen mediaan ja digitaalisiin laitteisiin kuten pöytätietokoneet, kannettavat tietokoneet, älypuhelimet, tablettitietokoneet,

Lisätiedot

7.4 Sormenjälkitekniikka

7.4 Sormenjälkitekniikka 7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan

Lisätiedot

Sudenkuoppia, yllätyksiä, pään vaivaa

Sudenkuoppia, yllätyksiä, pään vaivaa Aika Rahoitus Sudenkuoppia, yllätyksiä, pään vaivaa Odotukset: Tilaaja(t), toteuttaja(t) Osaaminen: Liikaa tietoa/liian vähän tietoa Sopimusasiat (tekijänoikeus, tilauksen toimitussopimus, yhteistyösopimus)

Lisätiedot

Videon tallentaminen Virtual Mapista

Videon tallentaminen Virtual Mapista Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka

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

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon

Lisätiedot

PC-LAITTEEN TESTAAMINEN

PC-LAITTEEN TESTAAMINEN PC-LAITTEEN TESTAAMINEN PC-Check-ohjelma Kun laite on koottu, on perusteltua testata sen toiminta ennen käyttöönottoa. Tätä varten on luotu erilaisia ohjelmia, joilla voi laitteen eri osat testata. Yksi

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

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

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

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

finnish BOI 2015, päivä 1. Muistiraja: 256 MB. 30.04.2015

finnish BOI 2015, päivä 1. Muistiraja: 256 MB. 30.04.2015 Tehtävä: BOW Keilaus finnish BOI 0, päivä. Muistiraja: 6 MB. 30.04.0 Jarkka pitää sekä keilauksesta että tilastotieteestä. Hän on merkinnyt muistiin muutaman viimeisimmän keilapelin tulokset. Valitettavasti

Lisätiedot

Käyttöohjeet. Näppäimet. Kello tila. Pelitila

Käyttöohjeet. Näppäimet. Kello tila. Pelitila Käyttöohjeet Näppäimet Kello tila Pelitila Kohdekuvakkeiden tiedot 1. Aloitus 1.1. Käynnistys / sammutus Paina ja pidä pohjassa -näppäintä käynnistääksesi / sulkeaksesi laitteen. 1.2. Lataaminen Lataa

Lisätiedot

SX OS:n Ominaisuudet

SX OS:n Ominaisuudet Versio 1.2 SX OS:n Ominaisuudet Toimii Kaikilla Switch-konsoleilla SX OS toimii kaikilla Nintendo Switcheillä ja kaikilla järjestelmäversioilla! Pelaa Kaikkia Pelejä SX OS:n avulla voit pelata kaikkia

Lisätiedot

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen

Lisätiedot

Pelilabra. Pelilabra on noin minuuttia pitkä, pääasiallisesti nopaton skenaario jossa pelaajat kokevat tyypillisen Oululaisen pelikoulutuksen.

Pelilabra. Pelilabra on noin minuuttia pitkä, pääasiallisesti nopaton skenaario jossa pelaajat kokevat tyypillisen Oululaisen pelikoulutuksen. Pelilabra Vainuan kaupunkiin on saapunut Vainuan Game Lab, pelialan koulutusta tarjoava ohjelma. VGL:n ensimmäisenä viikkona osallistujat pistetään kehittämään pelikonsepti joka pitchataan pelialan tekijöille.

Lisätiedot

Yhteisöllisen toimintatavan jalkauttaminen!

Yhteisöllisen toimintatavan jalkauttaminen! Yhteisöllisen toimintatavan jalkauttaminen! Käyttöönoton vaiheet Yrityksen liiketoimintatavoitteet Yhteisöllisen toimintatavan käyttöalueet Työkalut Hyödyt yritykselle Hyödyt ryhmälle Hyödyt itselle Miten

Lisätiedot

BEYOND: Two Souls BEYOND Touch Sovellus

BEYOND: Two Souls BEYOND Touch Sovellus BEYOND: Two Souls BEYOND Touch Sovellus BEYOND Touch -SOVELLUS Jotta saisit kaiken irti BEYOND: Two Souls -pelikokemuksesta, suosittelemme pelaamaan peliä langattomalla DUALSHOCK 3-ohjaimella. Jos kuitenkin

Lisätiedot

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Matriisinormi, häiriöalttius Riikka Kangaslampi Kevät 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Matriisinormi Matriisinormi Matriiseille

Lisätiedot

Alkukartoitus Opiskeluvalmiudet

Alkukartoitus Opiskeluvalmiudet Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 11.4.2019 Timo Männikkö Luento 10 Merkkitiedon tiivistäminen LZW-menetelmä Taulukointi Editointietäisyys Peruutusmenetelmä Osajoukon summa Algoritmit 2 Kevät 2019 Luento 10 To

Lisätiedot

Luku 4: Peliarkkitehtuuri

Luku 4: Peliarkkitehtuuri Pelin rakenne Pääsilmukka Tapahtumat Suunnittelumalleja Lähteitä Gregory: Game Engine Architecture McShaffry: Game Coding Complete Witters: The Game loop Timo Kellomäki 2011 Pelin rakenne A game is just

Lisätiedot

Uudelleenkäytön jako kahteen

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

Lisätiedot

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master) Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä Prosessoriväylä Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master) Suuremmissa erillisiä väyliä Muistiväylä Oheislaiteväylät

Lisätiedot

Ohjeet pelaajien siirtymiseen

Ohjeet pelaajien siirtymiseen Espoon Palloseuran Jääkiekko ry. Hallitus 12.11.2014 versio 1.2 Ohjeet pelaajien siirtymiseen 2 Ohjeet pelaajien siirtymiseen SISÄLLYSLUETTELO 1 SIIRTYMINEN SEURAN SISÄLLÄ 3 1.1 Pelaaminen ja harjoittelu

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

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

Galactor and the Codebreakers: - oppimispeli online maailman sudenkuopista

Galactor and the Codebreakers: - oppimispeli online maailman sudenkuopista Galactor and the Codebreakers: - oppimispeli online maailman sudenkuopista Eija Kuoppa-aho Opettaja Alajärven kaupunki Taina Mäntylä Ylitarkastaja Kuluttajavirasto Millainen peli on kyseessä? Kuluttajaviranomaisten

Lisätiedot

Oppiminen ja oivaltaminen

Oppiminen ja oivaltaminen Oppiminen ja oivaltaminen OPPIMINEN Oppimiseen liittyy usein jotain vanhaa, tai osatun käyttöä uudella tavalla Oppiminen on hyödyllistä liittää jo osattuun Oppiminen on prosessi emme tule koskaan valmiiksi

Lisätiedot

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science Testaustyökalut Luento 11 Antti-Pekka Tuovinen 25 April 2013 1 Tavoitteet Työkalutyyppejä Testauksen hallinta Testien määrittely Staattinen analyysi Dynaaminen testaus 25 April 2013 2 1 Työkalut ja testaus

Lisätiedot

Blackjack on korttipeli, jossa pelaajan tavoitteena on voittaa pelinhoitaja.

Blackjack on korttipeli, jossa pelaajan tavoitteena on voittaa pelinhoitaja. POHDIN projekti Blackjack Blackjack on pelinhoitajaa vastaan pelattava korttipeli mutta myös ns. uhkapeli 1. Kun kyseessä on ns. rahapeli, niin ikäraja Suomessa on tällaiselle pelille K-18. Blackjackissä

Lisätiedot

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon

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

Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009

Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Antitammirobotti Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Helsingin yliopisto Tietojenkäsittelytieteen laitos Robottiohjelmoinnin harjoitustyö

Lisätiedot

75059 Suuri lajittelusarja

75059 Suuri lajittelusarja 75059 Suuri lajittelusarja Peliohjeet Tämä sarjan sisältö: 632 kpl lajitteluesineitä 3 kpl onnenpyörää 6 kpl lajittelukulhoa 1 kpl muovinen lajittelualusta 1 kpl numeromerkitty arpakuutio Lajittelusarja

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

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO JOUNI HUOTARI 2005-2010 OLAP-OHJETEKSTIT KOPIOITU MICROSOFTIN OHJATUN OLAP-KUUTION TEKO-OHJEESTA ESIMERKIN KUVAUS JA OLAP-MÄÄRITELMÄ

Lisätiedot

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä OLAP-kuution teko Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta Esimerkin kuvaus ja OLAP-määritelmä Tavoitteena on luoda OLAP-kuutio Northwind-tietokannan tilaustiedoista

Lisätiedot

Testifantomit ja kuvanlaatutestit

Testifantomit ja kuvanlaatutestit Testifantomit ja kuvanlaatutestit Säteilyturvallisuus ja laatu röntgentekniikassa 19.5. 21.5.2014, Viking Mariella 4.6.2014 Eini Niskanen, FT ylifyysikko, röntgen Vaasan keskussairaala Sisältö: Miksi kuvanlaatua

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse

Lisätiedot

ANVIA ONLINE BACKUP ASENNUSOPAS 1(7) ANVIA ONLINE BACKUP ASENNUSOPAS 1.0

ANVIA ONLINE BACKUP ASENNUSOPAS 1(7) ANVIA ONLINE BACKUP ASENNUSOPAS 1.0 1(7) ANVIA ONLINE BACKUP Asioita, jotka tulee huomioida ennen asennusta! Koska palvelu sisältää myös sharing-ominaisuuden, on asiakas itse vastuussa millaisia tiedostoja palvelimelle varmuuskopioi ja kenelle

Lisätiedot

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivuston nopeus 69 / 100 Nopeus Pitäisi korjata: Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä Sivullasi on 11 estävää ohjelmaresurssia ja 7 estävää CSS-resurssia. Tämä viivästyttää

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

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

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi? Internetin hyödyt ja vaarat Miten nettiä käytetään tehokkaasti hyväksi? Linkit Chrome https://www.google.com/intl/fi/chrome/browser/ Firefox http://www.mozilla.org/fi/ Opera http://www.opera.com/fi Vertailu

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

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä Simo Tauriainen www.ponsse.com 25.8.2011 Ponsse-konserni Ponsse Oyj on tavaralajimenetelmän metsäkoneiden myyntiin, tuotantoon, huoltoon ja

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin

Lisätiedot

OHJ-2710 Peliohjelmointi. Syksy 2012 Timo Kellomäki

OHJ-2710 Peliohjelmointi. Syksy 2012 Timo Kellomäki OHJ-2710 Peliohjelmointi Syksy 2012 Timo Kellomäki timo.kellomaki@tut.fi Käytännön juttuja Kurssihenkilökunta koostuu Timo Kellomäestä Luennot torstaisin salissa TB223 klo 12-14 2. viikko harkkatyöinfo,

Lisätiedot

Lumejärjestelmä Xen. Reino Miettinen

Lumejärjestelmä Xen. Reino Miettinen Lumejärjestelmä Xen Reino Miettinen Miksi lumepalvelin Jos jokaiselle sovellukselle tarvitaan oma palvelimensa, niin tämä johtaa helposti raudan hukkakäyttöön. Taloudellisempaa on rakentaa lumepalvelimista

Lisätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 Tehokkuus ja algoritmien suunnittelu TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin

Lisätiedot

797 E. matematiikka. Martti Heinonen Markus Luoma Leena Mannila Kati Rautakorpi-Salmio Timo Tapiainen Tommi Tikka Timo Urpiola

797 E. matematiikka. Martti Heinonen Markus Luoma Leena Mannila Kati Rautakorpi-Salmio Timo Tapiainen Tommi Tikka Timo Urpiola 797 E matematiikka Martti Heinonen Markus Luoma Leena Mannila Kati Rautakorpi-Salmio Timo Tapiainen Tommi Tikka Timo Urpiola Helsingissä Kustannusosakeyhtiö Otava 24 Ongelmanratkaisu yhtälön avulla Yhtälön

Lisätiedot

Jatkuvat satunnaismuuttujat

Jatkuvat satunnaismuuttujat Jatkuvat satunnaismuuttujat Satunnaismuuttuja on jatkuva jos se voi ainakin periaatteessa saada kaikkia mahdollisia reaalilukuarvoja ainakin tietyltä väliltä. Täytyy ymmärtää, että tällä ei ole mitään

Lisätiedot

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää. Sivuston nopeus 40 / 100 Nopeus Pitäisi korjata: Ota pakkaus käyttöön Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää. Pienennä seuraavien resurssien

Lisätiedot

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE Jukka Huhta Nikke Myöhänen Ville Tenhunen 5.11.2014 AGENDA MITÄ? MIKSI? ARKKITEHTUURI KAHLAUS INDEKSIT INTEGRAATIOT KÄYTTÖLIITYMÄT RAUDAT KÄYTTÖ NYT JA JATKOSSA

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