Arto Salminen,

Koko: px
Aloita esitys sivulta:

Download "Arto Salminen,"

Transkriptio

1 9. Luento: Ohjelmistotyö Arto Salminen,

2 Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta kehityksestä Yhteenveto

3 Johdanto Kehitystyö ja usein myös testaus ei yleensä tuotantoympäristössä Paitsi ohjelmiston myös laitteiston oikea toiminta usein varmennettava ohjelmallisesti Useita eri ongelmien lähteitä Eri käyttöjärjestelmäpalvelut, kääntäjät, kirjastot, jne. Usein kätevää rakentaa minimaalinen ohjelmisto, jonka toiminnan voi todentaa, ja käyttää sitä kehitysympäristön, työkaluketjun ja kohdelaitteen toiminnan varmentamiseen

4 Ristikäännös Ohjelma siis kirjoitetaan eri koneessa kuin mitä ajetaan Yleensä eri käskykannat ja laitteisto Joka tapauksessa kohdekoneelle ei yleensä voi suoraan kehittää ohjelmaa Usein useita kääntäjiä, joista osaa voidaan hyödyntää esim. moduulitestauksessa kehitysympäristössä Ongelmia: Kääntäjien erilaisuudet (virheet, rekisterirakenteen käsittely, jne) Käyttöjärjestelmien rajapinnat Käytettävissä olevat kirjastot

5 Ristikäännös yksinkertaisimmillaan Kehitystyöasema Laite Lähdekoodi Ristikäännös Laitteelle käännetty Siirto (asennus) Laitteessa suoritettava

6 Testaus ja virheiden jäljitys Yleensä ei (ainakaan kokonaan) mahdollista suorittaa siinä ympäristössä kuin missä kehitetään Muutokset ajoituksissa voivat aiheuttaa ongelmia joka tapauksessa Ei aina selvää testataanko laitteistoa vai ohjelmistoa Sulautettujen järjestelmien määritelmän mukaan itse asiassa molempien yhteistoimintaa! Virheettömyyteen kova pyrky erilaisin keinoin Cleanroom; työn organisointi; formaalit menetelmät, jne.

7 Virheiden paikantamisesta Vaikutus ja varsinainen vika eivät välttämättä lähellä toisiaan Jäänneviittaukset, roskaantuminen, fragmentoituminen Moniprosessiympäristö Ajoitus Joskus vikoja ei edes vaivauduta korjaamaan Ei kriittinen Riittävän harvinainen -> ei ilmene ehkä koskaan todellisessa käytössä Ylläpidon kannalta tämä tietysti tuo haasteita!

8 Pöytätestaus 2 versiota Kevyt: Ohjelman tekijä selittää toiselle ohjelmoijalle (tai jollekin joutilaalle!) mitä ohjelman pitäisi tehdä Kuuntelijan ei edes tarvitse ymmärtää, riittää että tekijä kertoo ja samalla huomaa omat ongelmansa Tyhmät kysymykset usein parhaita Raskas: Käydään ohjelmaa läpi rivi riviltä Ohjelma suoritetaan käsin Löytää usein myös muita ongelmia

9 Testipedit Ohjelmisto, jolla testattavan ohjelmiston moduuleja voidaan testata Interaktiivisesti käyttäjän ohjaamana Eräajotyyppisesti automaattisesti Muutoksen jälkeen voidaan tehdä regressiotestit koko aineistolla Usein ei päästä lähellekään sataa prosenttia ilman erityistoimenpiteitä Musta/valkoinen laatikko testit eri tilanteissa Usein valmisohjelmisto tai testaustarkoitukseen rakennettu sovelluskehys Usein suositeltavaa myös pöytäkoneissa ajettaville ohjelmille!

10 Profilointi Pyrkii löytämään ohjelman osat, joissa vietetään eniten aikaa Ei varsinaisesti testausta, mutta usein käyttökelpoinen menettelytapa sulautettujen ohjelmistojen yhteydessä Ei kuitenkaan kannata ylioptimoida tarpeettomasti Yleensä tehdään kehitysympäristössä (profilointitiedon keruu laitteella voi olla vaikeaa; muistinkulutus voi olla liika; jne) Ei siis välttämättä sama tulos kohdeympäristössä Profilointioperaatiot voivat myös siirtää pullonkaulaa (esim. profilointitulosten tiedostoonkirjoittamiseen!)

11 Kehitysympäristön työkaluista Yleensä kannattaa aloittaa näillä Nopeampaa (prosessori nopeampi, ei tarvita siirtoja) Työkalut monipuolisempia Ei kuitenkaan voi olla ainoa vaihtoehto Eroavaisuuksia joka tasolla Kääntäjä Kirjastot Käyttöjärjestelmä Prosessorin käskykanta Muistiavaruus Ajoitukset Nyrkkisääntö: Looginen toiminta kuntoon kehitysympäristössä; toisaalta ajastuksien takia kannattaa jo varhaisessa vaiheessa tutustua myös oikeaan laitteistoon

12 Järjestelmän simulointi Ohjelma käännetään kohdekoneen ymmärtämään muotoon, mutta kohdelaitteen sijasta sitä suoritetaan kehitysympäristössä simulaattorissa (yleensä ohjelma); myös laitteiston tila kuvataan Simulaattorissa mahdollista kuvata myös oheislaitteet, joten niihinkin liittyviä ominaisuuksia voidaan simuloida Ongelma: Jos monimutkainen kokonaisuus, simulaatioympäristö ei aina pysty tuottamaan tarpeeksi aitoja reaktioita Sopii kuitenkin perustestaukseen ennen varsinaiseen kohdelaitteeseen siirtoa

13 Virtualisointi Kuten simulointi, mutta laitteiston suhteen ollaan vähemmän tarkkoja; lopputulema on tärkeämpää kuin järjestelmän tila Suorituskyky lähellä natiivia; pyritään käyttämään alla olevaa laitteistoa Usein soveltuu myös kehitysympäristöksi Tavallinen ratkaisu sulautettujen Linux-ohjelmistojen kehityksessä Virtuaali-imageja + koneita ladattavissa suoraan Webistä eri tarkoituksiin mutta kannattaa kumminkin varautua säätämään oma ympäristö kuntoon (esim. näppäinkartta jne.)

14 Testaus ja jäljitys kohdejärjestelmässä Peräkkäisohjelman debuggaustyyli ei toimi kovin hyvin sulautetussa ympäristössä Ideana ei laskea inputista sopivaa outputtia Rivi kerrallaan eteneminen paljastaa vain osan totuudesta (yleensä rinnakkaisia suorituksia) Tarvitaan erilaisia apulaitteita Logiikka-analysaattorit, emulaattorit, seurannan apuvälineet ja erilliset testijärjestelmät, jopa led-valot

15 Logiikka-analysaattori Voidaan tutkia suorittimen tai väylän liikennettä Kopio väyläliikenteestä ja askelittainen tulkinta Jotkut laitteet jopa muuntavat bittivirran symboliseen konekoodimuotoon Muistikartta auttaa! Kaikkea ei kuitenkaan voi nauhoittaa; erilaiset nauhoitusehdot usein tarpeen Välimuistin käyttö voi aiheuttaa ongelmia Esimerkkejä:

16 Logiikka-analysaattori Analysaattori Kohdejärjestelmä CPU osoiteväylä Oheislaite dataväylä

17 Emulaattori Esim. suorittimen paikalle asennetaan välikannan avulla piirikortti, joka toimii ulkoisesti kuten suoritin Suoritus tyypillisesti mahdollista askelittain Muuttujien arvojen tarkastelut Vaikka alun perin vain HW, nykyisin myös SW toteutus (esim QEMU) Ero virtualisointiin alkaa häilyä; esim QEMUa voidaan käyttää virtualisointiinkin Monessa mielessä kuten järjestelmätason debuggeri ohjelmiston ja laitteiston rajanpinnan kannalta

18 Emulaattori ei pure kaikkeen. Ajastusongelmat Muistinkulutukseen liittyvät asiat (emulaattorissa on usein enemmän muistia kuin kohdejärjestelmässä) Joskus ohjelma voi toimia kohdelaitteessa mutta ei emulaattorissa (esim. lukumuistin korvaaminen luku-kirjoitusmuistilla voi aiheuttaa tällaisia ongelmia; samaten suojaukset voivat olla ongelmien lähde)

19 Erillinen testijärjestelmä Muistuttaa ohjelmistotuotannon V-mallin ideaa Laitekohtainen vs. yleiskäyttöinen testijärjestelmä Edellinen usein mahdollista vain kaikkien kalleimpien järjestelmien yhteydessä, sillä Vaatii pahimmassa tapauksessa oman projektinsa, jossa järjestelmälle rakennetaan sitä täysin vastaava testiympäristö Tyypillisesti myös testijärjestelmä on itse asiassa sulautettu järjestelmä Toteutus ja testijärjestelmä siis verifioivat toistensa oikean toiminnan!

20 Tiedon siirto koneelta toiselle analysoitavaksi Vaatii yleensä erityisen liitynnän Analysointi joko välittömästi (on-line) tai jälkikäteen (off-line) Tiedonkeruu ei välttämättä näkyvää Kerätään tapahtumatietoa väylältä; Usein kuitenkin tarvitaan lisäinfoa (mikä taas vaatii lisäsanomia) Lisäliitynnän avulla tiedonsiirto on kuitenkin usein yksinkertaisempaa Voi vaikuttaa ohjelman toimintaan Ehdollinen kääntäminen mahdollistaa erilliset debug/tuotantoversiot Joskus myös ongelmia sillä suoritettava ohjelma ei ole täysin sama

21 JTAG-luentotehtävä itseopiskeltavaksi Minkä tyyppinen debuggausmenetelmä on JTAG (IEEE )? Mitkä ovat JTAG:in tavalliset käyttötarkoitukset (ainakin 3 kpl)? Miten sitä käytetään näihin tarkoituksiin? IEEE määrittelee seitsemän JTAG-käskyä (boundary scan instructions). Mitkä nämä käskyt ovat ja mihin niitä käytetään? Miten JTAG-liityntä on toteutettu käytännössä sitä tukevissa laitteistoissa? Mitä avoimia JTAG-yhteensopivia työkaluja on saatavilla? Mitä etuja JTAG:lla on muihin debuggausmenetelmiin nähden? Entä puutteita tai haittoja?

22 Reaaliaikajärjestelmän debuggauksesta Debuggaaminen breakpointien avulla ei onnistu reaaliaikajärjestelmien tapauksessa Debuggaukseen voi käyttää aiemmin kuvattuja logiikkaanalysaattoreita tai emulaattoria Joissakin prosessoreissa on sisäänrakennettu laitteistotuki ajonaikaisen tiedon tallentamiseen (real-time trace) Real-time trace menetelmässä prosessorin suoritus tallennetaan ja analysoidaan myöhemmin Kun laitteistotuki on sisäänrakennetu prosessoriin, välimuistin käyttö tai out of order execution eivät ole ongelma Sopii hyvin myös keskeytysaliohjelman tutkimiseen ja profilointiin

23 Laitteiston testaamisesta Tyypillisten laitteistovikojen tuntemus Huonot kontaktit Oikosulut Katkenneet johdot Sähkömagneettisesta induktiosta johtuva signaalin ylikuuluminen Väärät signaalitasot Ajoitusvirheet Työkaluina sähköiset mittalaitteet (esim. oskiloskooppi) Onneksi ohjelmallisestikin voi tehdä yhtä ja toista Nyrkkisääntö: Jos useampi kuin 1 vika, peli usein menetetty!

24 Muistien testaamisesta Lukumuistin testaus käymällä läpi muistipaikat ja laskemalla tarkistussumma (joka on myös tallennettu lukumuistiin) Luku/kirjoitusmuistin testaus ensin kirjoittamalla ja sitten lukemalla (esim. ensin 5555 hex ja sitten AAAA hex ) Jos väylien johdotus tavallisesta poikkeava, kannattaa pohtia testiarvoja joilla ylikuulumiset voidaan havaita HUOM: Välimuisti kannattaa kytkeä pois päältä!

25 Oheislaitteiden testaus Monimutkaisissa laitteissa erityisiä testitiloja Yksinkertaisissa piireissä testein voi kokeilla onnistuuko keskeyttäminen, tilarekisterien käsittely jne. Yleensä oheislaitteiden testaus onnistuu parhaassakin tapauksessa vain osittain Nyrkkisääntö: Käynnistyksen yhteydessä aina perustesti; tarvittaessa kattavampi huolto- ja valmiustilatesti

26 Iteratiivisuudesta Kätevää myös muita ohjelmistoja kehitettäessä, lähes välttämätöntä sulautetussa ympäristössä

27 Vähän pidempi selitys Yleensä kokonaisjärjestelmälle löytyy perinteinen määrittely Työnjakoon liittyvät syyt; laitteiston valmistustekniikkaan liittyvät syyt Kokonaismäärittely kattaa sekä laitteiston että ohjelmiston yhteistoiminnan Tämän jälkeen on suoritettu jako eri tekniikoin toteutettuihin osiin, jotka toteutetaan erikseen Ensimmäinen yritys yhteistoiminnasta harvoin osuu nappiin! Virheiden jäljitys myös helpompaa kun on pienempi toteutus

28 Ohjelmiston määrittely Ohjelmiston suunnittelu Ohjelmiston toteutus Kokonaismäärittely Kokonaissuunnittelu Työn jako osiin Laitteiston määrittely Laitteiston suunnittelu Laitteiston toteutus Ohjelmiston testaus Laitteiston testaus Integrointi ja testaus

29 Suunnittelun etenemisestä Ensimmäinen versio usein yksinkertaisin toteutus joka tekee jotain verifioitavaa Mukana usein myös laitetestit, mutta ei välttämättä Tarkoitus varmentaa työkaluketju Usein jo laitteen henkiin saaminen on melkoinen suoritus, vaikkei se tekisikään vielä mitään Seuraavat iteraatiot lisäävät toiminnallisuutta pieni pala kerrallaan jotta mahdolliset ongelmat on mahdollista korjata osittaen Usein insinöörityön hienous on juuri pienimpien muutosten löytämisessä (ja mahdollisuuksien mukaan erikseen testaamisessa ja toiminnan varmentamisessa!) Henkiin herääminen Laitteiston testaus Algoritmit Laitteiston ongelmien piilottaminen/kiertäminen Onnistunut suoritus ei kuitenkaan ole riittävä ehto ohjelmiston valmistumiselle

30 Yhteenveto Kehitys- ja käyttöympäristöt eivät ole samat Suuri joukko erilaisia avustavia työkaluja; eivät kuitenkaan voi kokonaan korvata oikean laitteen käyttöä kehityksen aikana Laitteiston testaus on osa ohjelmiston tehtävää oikeastaan lähes aina Iteratiivinen kehitystyyli lähes välttämätöntä ohjelmistotyössä

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi 9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta

Lisätiedot

9. Ohjelmistotyö. 9.1 Johdanto

9. Ohjelmistotyö. 9.1 Johdanto 148 Sulautettu ohjelmointi 9. Ohjelmistotyö Vaikka sulautettujen järjestelmien ohjelmointi sinänsä ei periaatteessa juurikaan eroa muusta ohjelmoinnista, on joitakin erityispiirteitä, jotka ovat voimakkaammin

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3

Lisätiedot

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu

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

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia

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

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) /~sulo/) 5op, to 12-14, 14, TB 109 Tommi Mikkonen, tommi.mikkonen@tut.fi Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

WINE API ja Virtualisointiohjelmistot

WINE API ja Virtualisointiohjelmistot WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän

Lisätiedot

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaus ja laatu. Testaustasot Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu

Lisätiedot

Convergence of messaging

Convergence of messaging Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO

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

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

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

Test-Driven Development

Test-Driven Development Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole

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

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

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta? OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, 14, TB 109 Arto Salminen, arto.salminen@tut.fi Agenda Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali

Lisätiedot

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1 T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

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

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

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

1. Keskusyksikön rakenne

1. Keskusyksikön rakenne 1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.

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

Tapahtuipa Testaajalle...

Tapahtuipa Testaajalle... Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman

Lisätiedot

Kontrollerin sisäisten komponenttien käytöstä. Vielä vähän asiaa sisäisten lohkojen käytöstä

Kontrollerin sisäisten komponenttien käytöstä. Vielä vähän asiaa sisäisten lohkojen käytöstä Mikrokontrollerit Kontrollerin sisäisten komponenttien käytöstä Mikrokontrollerit Vielä vähän asiaa sisäisten lohkojen käytöstä Sulautetussa järjestelmässä laitteiston ominaisuudet hallitaan ohjelmistolla.

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

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

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

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen, 14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Hajautettujen järjestelmien väyliä LON CAN Pienen laitteen sisäinen hajautus OpenCL Network

Lisätiedot

Sähköpostitilin käyttöönotto. Versio 2.0

Sähköpostitilin käyttöönotto. Versio 2.0 Sähköpostitilin käyttöönotto Versio 2.0 Sivu 1 / 10 Jarno Parkkinen jarno@atflow.fi 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.1 Tietojen

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt

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

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

Test-Driven Development

Test-Driven Development Test-Driven Development Syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole keksiä kaikkia mahdollisia

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

Lisätiedot

A4.1 Projektityö, 5 ov.

A4.1 Projektityö, 5 ov. A4.1 Projektityö, 5 ov. Kurssin esitietovaatimuksia Kurssin tavoitteista Kurssin sisällöstä Luentojen tavoitteista Luentojen sisällöstä Suoritustavoista ja -vaatimuksista Arvostelukriteereistä Motivointia

Lisätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 VIIME KERRALLA MENETELMIÄ Musta laatikko Valkea laatikko Harmaa laatikko Regressio Automaatio Rasitus (kuormitus)

Lisätiedot

Työkalut ohjelmistokehityksen tukena

Työkalut ohjelmistokehityksen tukena 1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2002 Avoin yliopisto 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet

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

TKT224 KOODIN KOON OPTIMOINTI

TKT224 KOODIN KOON OPTIMOINTI - 1 - Laboratoriotyö TKT224 Oppimäärä: Ammattiaineiden laboraatiot Kurssi: Tietokonetekniikan laboraatiot Laboratoriotyö: TKT224 KOODIN KOON OPTIMOINTI Teoriakurssi, johon työ liittyy: Työn laatijat: T.Laitinen

Lisätiedot

Systemaattinen apina ja miten se tehdään fmbt:llä

Systemaattinen apina ja miten se tehdään fmbt:llä ja miten se tehdään fmbt:llä Antti Kervinen Intel antti.kervinen@intel.com Testauspäivä, Tampere 6. kesäkuuta 2012 Antti Kervinen (Intel) Systemaattinen apina 1 / 14 Jos apina painelee satunnaisesti kirjoistuskoneen

Lisätiedot

Scratchbox ja Maemo. Nokia 770 Internet Tablet-ohjelmistokehitys. Timo Savola. Movial Oy. FUUG:in kevätristeily 20.3.2006. <tsavola@movial.

Scratchbox ja Maemo. Nokia 770 Internet Tablet-ohjelmistokehitys. Timo Savola. Movial Oy. FUUG:in kevätristeily 20.3.2006. <tsavola@movial. Scratchbox ja Maemo Nokia 770 Internet Tablet-ohjelmistokehitys Timo Savola Movial Oy FUUG:in kevätristeily 20.3.2006 Osa I Scratchbox Scratchbox Ristiinkääntöympäristö Cross-compilation

Lisätiedot

3. Luento: Muistin hallinta. Tommi Mikkonen,

3. Luento: Muistin hallinta. Tommi Mikkonen, 3. Luento: Muistin hallinta Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Erityyppiset muistit Ohjelman sijoittelu muistiin Ohjelman sisäinen muistinhallinta Muistinhallintayksikkö Välimuisti Yhteenveto

Lisätiedot

OP-POHJOLAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO

OP-POHJOLAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO 1 (9) OP-POHJOLAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO Sisältö 1 Web Services yhteyskanavan käyttöönotto... 1 2 Web Services varmenteiden tallennus... 2 2.1 Käyttäjätunnuksen tallennus Maksuliikenne-ohjelmistoon...

Lisätiedot

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3 Antti Jääskeläinen Matti Vuori Rakenne ja aikataulu Kolme vaihetta: 1. Tutkivan järjestelmätestauksen suunnittelu 2. Tutkivan järjestelmätestauksen

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3 AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan

Lisätiedot

Turvakriittisen projektin menetelmät ja työkalut

Turvakriittisen projektin menetelmät ja työkalut Turvakriittisen projektin menetelmät ja työkalut 1. Vaatimushallinta Vaatimushallintaan kohdistuu turvaluokitelluissa projekteissa paljon odotuksia. Etenkin jäljitettävyys vaatimuksiin, testaukseen ja

Lisätiedot

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä Linux 00 Keskeiset piirteet Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Mikä Linux on? 2. Kuinka Linux syntyi ja kehittyy? 3. Mitkä ovat Linuxin vahvuudet? 2 1 Linux on

Lisätiedot

T Testiraportti - järjestelmätestaus

T Testiraportti - järjestelmätestaus T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8

Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8 Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8 Laite on DP-väylään kytketkettävä Digitaalinen 16-porttinen IO-moduuli. Porteista 8 on Inputteja ja toiset 8 valittavissa inputeksi tai outputeiksi.

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

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

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymistä, viimeksi unohtui Työohje julkaistu! Elinaikajuttujen loppurutistusta, viipaloitumisasiaa Prototyypeistä

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

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi

Lisätiedot

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

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

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

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville Aihepiiri Sovellukset Teknologia Samanaikaisuus

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus

Lisätiedot

Automaattinen yksikkötestaus

Automaattinen yksikkötestaus Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä

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

Käyttöjärjestelmän rakenne

Käyttöjärjestelmän rakenne Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa

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

Sähköpostitilin käyttöönotto

Sähköpostitilin käyttöönotto Sähköpostitilin käyttöönotto Versio 1.0 Jarno Parkkinen jarno@atflow.fi Sivu 1 / 16 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.2 Tietojen

Lisätiedot

T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Keimo-visualisointijärjestelmän Ray tracing - visualisaation testisarja. Sarja sisältää testitapaukset ja testilokit Päivämäärä 13.4.2003 Projektiryhmä

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymisjutuista, ilmoittautumiskäytäntöä, Popista Työohjeen esivilkaisu Viime viikolla, erikoistamista, dynaamista

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

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa

Lisätiedot

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset Kurssin tavoitteista uennot ma ls. 1097, klo 10-12. pe ls. DXI, klo 12-14. uennot ovat viikoilla 40-42. uentojen yhteydessä ei järjestetä erillisiä harjoituksia. Opinto-oppaasta: Opintojakson tavoitteena

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 toiminta (Computer Organization I) Tiina Niklander Helsingin yliopisto Tietojenkäsittelytieteen laitos Kalvot: Teemu Kerola 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

Software product lines

Software product lines Thomas Gustafsson, Henrik Heikkilä Software product lines Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Asiantuntijateksti 17.11.2013 Sisällys 1 Johdanto 1 2 Software product

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

MAKING MODERN LIVING POSSIBLE. Danfoss Link SCM Simple Communication Module Asennusohje. Danfoss Heating Solutions

MAKING MODERN LIVING POSSIBLE. Danfoss Link SCM Simple Communication Module Asennusohje. Danfoss Heating Solutions MAKING MODERN LIVING POSSIBLE Simple Communication Module Asennusohje Danfoss Heating Solutions Sisällysluettelo Johdanto.... 29 Asennus.... 29 Kiinnitys.... 29 Johdotus... 30 Laitteen lisääminen.... 30

Lisätiedot

S-108.3020 Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

S-108.3020 Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010 1/7 S-108.3020 Elektroniikan häiriökysymykset Laboratoriotyö, kevät 2010 Häiriöiden kytkeytyminen yhteisen impedanssin kautta lämpötilasäätimessä Viimeksi päivitetty 25.2.2010 / MO 2/7 Johdanto Sähköisiä

Lisätiedot

Jouko Nielsen. Ubuntu Linux

Jouko Nielsen. Ubuntu Linux Jouko Nielsen Ubuntu Linux 19.4.2017 SISÄLLYS 1 UBUNTU... 3 2 LUETTELO VERSIOISTA... 4 3 OMINAISUUDET... 4 4 ASENNUS... 5 5 UBUNTU SERVER... 9 LÄHTEET... 10 3 1 UBUNTU Ubuntu on debian pohjainen Linux

Lisätiedot

NORDEAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO

NORDEAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO 1 (11) NORDEAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO Sisältö 1 Web Services yhteyskanavan käyttöönotto... 1 2 Web Services varmenteiden tallennus... 2 2.1 Käyttäjätunnuksen tallennus Maksuliikenne-ohjelmistoon...

Lisätiedot

AS Automaatio ja systeemitekniikan projektityöt A13 10 Radio ohjattavan pienoismallin ohjausjärjestelmän ja käyttöliittymän kehittäminen

AS Automaatio ja systeemitekniikan projektityöt A13 10 Radio ohjattavan pienoismallin ohjausjärjestelmän ja käyttöliittymän kehittäminen Väliraportti AS 0.3200 Automaatio ja systeemitekniikan projektityöt A13 10 Radio ohjattavan pienoismallin ohjausjärjestelmän ja käyttöliittymän kehittäminen Toni Liski, Konsta Hölttä, Lasse Kortetjärvi

Lisätiedot