Ylläpidon merkitys. Ylläpidon lakien suhde ohjelmistotuotantoon. Ylläpidon osa-alueet. Ylläpidon lakien suhde ohjelmistotuotantoon 2

Koko: px
Aloita esitys sivulta:

Download "Ylläpidon merkitys. Ylläpidon lakien suhde ohjelmistotuotantoon. Ylläpidon osa-alueet. Ylläpidon lakien suhde ohjelmistotuotantoon 2"

Transkriptio

1 5. tarkoittaa niitä toimintoja, jotka tehdään ohjelmalle sen käyttöönoton jälkeen. on kallein työvaihe. Glassin mukaan 40-80% kustannuksista kuluu siihen. Kumma kyllä tätä ei ole listattu ylläpidon laeissa. Täten ylläpito on ohjelmiston elinkaaren tärkein työvaihe! Ylläpidon merkitys Ylläpidon merkitys on kasvanut vakaasti viimeiset 30 vuotta. Syy tähän on laitteiston ja ohjelmistojen välisten suhteiden muutoksessa. Alussa laitteet olivat kalliita ja ohjelmistot halpoja (pieniä). Nyt tilanne on kääntynyt toisin päin. 1 2 Ylläpidon osa-alueet Ylläpidon lakien suhde ohjelmistotuotantoon Oppikirjassa ylläpito jaetaan kolmeen osaan: Hoitoylläpidolla (administration) pidetään huolta ohjelmiston käytöstä. Evoluutioylläpidolla (evolution) muokataan ohjelmistoa vastaamaan muuttuneisiin vaatimuksiin. Korjausylläpidolla (maintenance) korjataan julkaisun jälkeen löytyneet ohjelmistoviat. Seuraavassa ovat oppikirjassa esitellyt ylläpidon lait ja niiden suhde ylläpidon osa-alueisiin ja ohjelmistotuotantoon: Lehmanin ensimmäinen laki: evoluutioylläpito. Lehmanin toinen laki: evoluutioylläpito. Lehmanin kolmas laki: evoluutioylläpito. Basili-Möllerin laki: testaus, korjausylläpito, evoluutioylläpito. 3 4 Ylläpidon lakien suhde ohjelmistotuotantoon 2 Ylläpidon lakien suhde ohjelmistotuotantoon 3 McCaben hypoteesi: korjausylläpito. Wilden hypoteesi: korjausylläpito. Konjunktuuri 5 (ei käsitellä): hoitoylläpito. Konjunktuuri 6 (ei käsitellä): hoitoylläpito, korjausylläpito. (Konjunktuurit 1-4 liittyvät järjestelmien käyttöönottoon, joka ei kuulu kurssin sisältöön.) Ylläpidon lakeja hallitsee suvereenisti Lehman. Hänen empiiriset tuloksensa ylläpidosta on aiheen perustutkimusta. Itse asiassa Lehman määritteli viisi ylläpidon lakia, mutta oppikirjaan lait on tiivistetty kolmeen. Myös Basili-Möllerin laki on erittäin merkittävä eikä edes rajoitu ylläpitoon

2 5.1. Lehmanin ensimmäinen laki Käytössä olevat järjestelmät muuttuvat. Lehmanin ensimmäinen laki on ylläpidon tunnetuin laki. Sitä voidaan käyttää perusteluna evoluutioylläpidolle. Lain mukaan järjestelmän käyttö johtaa vääjäämättömästi järjestelmään tehtäviin muutoksiin. Käyttö muutos on ohjelmistojen keskeinen ominaisuus. 7 Lehmanin ensimmäisen lain taustaa Jokainen ei-triviaali jatkuvassa käytössä oleva ohjelmisto vaatii muutoksia. Vaatimukset muuttuvat ohjelmiston elinkaaren aikana. Kilpailijoiden tuotteisiin tulee uusia ominaisuuksia, joten myös omaan tuotteisiin tarvitaan lisäpotkua. Yleensä muutokset tarkoittavat ohjelmiston koon kasvua. 8 Lehmanin ensimmäisen lain perusteluja Lehman ja Belady tutkivat OS/360 käyttöjärjestelmän julkaistuja versioita. Yhteensä julkaisuja oli 25. Tutkimuksen muakaan järjestelmän koko kasvoi tutkimusaikana kahdeksankertaiseksi: 1MLOC 8MLOC. Vastaavia tuloksia on saatu myös muiden käyttöohjelmistojen kasvusta. 9 Lehmanin ensimmäisen lain teoria Käytössä olevien ohjelmistojen muutospaineisiin on monia syitä: Ohjelmistossa on ollut keinotekoisia rajoitteita, jotka ovat vanhentuneet elinkaaren aikana. Ominaisuuksia on jäänyt toteuttamatta kehitystyövaiheessa. Ohjelmistoliiketoiminnan kilpailu vaatii uusia ohjelmistojen ominaisuuksia Lehmanin toinen laki Lehmanin toisen lain taustaa Kehittyvä järjestelmä tulee ajan kanssa entistä kompleksisemmaksi ellei kehitystä vastaan tehdä työtä. Lehmanin toinen laki on lähes yhtä tunnettu kuin Lehmanin ensimmäinen laki, mutta ei yhtä laajalti hyväksytty. Laki muistuttaa meitä siitä, että muutokset heijastuvat laajemmalle alueelle kuin vain muokkausta kaipaavaan osaan koodia. 11 Lehmanin ensimmäinen laki käsitteli ohjelmistojen kasvua. Toinen laki käsittelee kasvun vaikutuksia. Järjestelmä kasvaa, kun siihen lisätään uusia ominaisuuksia, poistetaan vanhoja rajoituksia ja sovitetaan järjestelmä uusille sovellusalueille. Jokainen muutos rikkoo hiukan ohjelman alkuperäistä rakennetta. 12 2

3 Lehmanin toisen lain taustaa 2 Itse puhun luennoijana kursseillani kriittisestä massasta: Ohjelman kriittinen massa on se koko, minkä jälkeen jokainen muutos rikkoo siitä jotain muuta. Lehmanin toisen lain mukaan ajan kanssa ohjelman kriittinen massa pienenee, ellei asialle tehdä jotain. Kriittisen massan kasvatus vaatii työtä. 13 Lehmanin toisen lain taustaa 3 Lehmanin toinen laki on voimassa, kun valmiiseen ohjelmistoon lisätään vaiheittain ominaisuuksia. Näin laki pätee myös lisäävissä prosessimalleissa. Niissä valmiiseen ohjelmistoon ytimeen lisätään uutta toiminnallisuutta. Lisäävissä malleissa koodin pitäminen siistinä vaatii siten lisätyötä. 14 Lehmanin toisen lain perusteluja Lehmanin toisen lain teoria Oppikirjan perustelut laille ovat enemmän laadullisia kuin eksakteja. Lehman itse pitää lakiaan analogisena termodynamiikan toiselle laille siis entropialle. Dvorak puolestaan tutki 1994 Lehmanin lakia käytännössä. Hän huomasi, että päivitykset tosiaan muuttivat ohjelmistoissa käytettyjä ratkaisuja. 15 Jokainen ohjelmistoon tehtävä muutos vaikuttaa tavalla tai toisella ohjelmiston rakenteeseen. Ohjelmisto ei enää täysin vastaa alkuperäistä dokumentaatiota. Koska ohjelmistoa ei voida suunnitella uudestaan ja refaktoroida jokaisen muutoksen jälkeen, muutokset kertyvät ajan kanssa. Näin laatu kärsii Lehmanin kolmas laki Lehmanin kolmannen lain taustaa Järjestelmän kehityskulku määräytyy (liiketoiminnan) palauteprosessin mukaan. Lehmanin kolmas laki on yhdistelmä kolmesta laista. Näin oppikirjan kirjoittajat ovat saaneet tehtyä laista alkuperäistä yleisemmän. Lain mukaan ohjelmiston kehitys riippuu siitä, minkä tyyppistä liiketoimintaa sillä tehdään. 17 Lehmanin kolmas laki ei ole yhtä vahvasti hyväksytty kuin aiemmat lait (joista toisestakin on jo vastaväitteitä). Ajatuksena Lehmanilla on, että ohjelmiston ominaisuudet määräytyvät pääasiassa kilpailun ja asiakkaiden toiveiden mukaan. Näin asiakkaalta ja liiketoiminnasta saatu palaute määrää tuotteen piirteet. 18 3

4 Lehmanin kolmannen lain perusteluja Lehman perustelee lakinsa tutkimukseen OS/360-käyttöjärjestelmästä. Lehman huomasi, että OS/360- päivitykset liittyivät erityisen voimakkaasti laitteistopäivityksiin. Näin Lehmanin johtopäätös oli, että OS/360:n tapauksessa laitteistotoimittajat vaikuttivat ohjelmiston ominaisuuksiin. 19 Lehmanin kolmannen lain perusteluja 2 Vaikka Lehmanin perusteluja on vaikea yleistää OS/360:n ulkopuolelle, itse laissa on järkeä. Kaupallisen ohjelmiston tarkoituksena on tuottaa voittoa. Tämä onnistuu pitämällä asiakkaat tyytyväisinä. Näin ollen asiakkaiden palaute on ehkä voimakkain tulokseen vaikuttava syöte. 20 Lehmanin kolmannen lain teoria 5.4. Basili-Möllerin laki Lehmanilla on aika voimakas käsitys palautteen vaikutuksesta ohjelmistoihin. Hänen mukaansa ohjelmistojen ominaisuudet ovat seurausta vuorovaikutuksesta ja palautteesta. Oppikirjan kirjoittajien mukaan useilla järjestelmillä on niin paljon vapausasteita, että Lehmanin kolmas laki ei päde niille. 21 Pienillä muutoksilla on suuria muutoksia korkeampi virhetiheys. Basili-Möllerin laki tarjoaa tärkeän näkökulman ylläpitoon. Se kertoo, että ylläpidossa on oltava tarkkana erityisesti pienten muutosten kanssa. Optimaalisinta olisi tehdä vain suuria muutoksia, mutta luonnollisesti myös pienet virheet pitää korjata sitä mukaa, kun niitä löydetään. 22 Basili-Möllerin lain taustaa Basili-Möllerin lain perusteluja Basili-Möllerin lain sanoma on, että ohjelmistoon tehdyt pienet muutokset ovat kaikkein kriittisimpiä. Tällaisilla muutoksilla virhetiheys (virheitä / koodirivi) on kaikkein suurin. Luonnollisesti isoissa päivityksessä syntyy lukumääräisesti enemmän virheitä. Tämä ei ole ristiriidassa Basili- Möllerin lain kanssa. 23 Basili-Möllerin laki on oikeastaan kaksi eri lakia: Basilin laki ja Möllerin laki. Molemmat tutkivat toisistaan riippumattomasti samaa asiaa. Basili ja Perricone tutkivat 1984 NASAn Fortranilla tehtyihin muutoksiin tehtyjä muutoksia. Möller tutki 1985 Siemensin BS/2000- käyttöjärjestelmään tehtyjä muutoksia. 24 4

5 Basili-Möllerin lain perusteluja 2 Basili-Möllerin lain perusteluja 3 Basili ja Perricone analysoivat tutkimuksessaan 215 testauksessa ja ylläpidossa kolmen vuoden aikana löydettyä virhettä. Virheiden sijoittumisessa moduuleihin päti Pareto-Zipfin laki: virheitä löytyi vain 26% moduuleista. Seuraavalla kalvolla ovat Basilin ja Perriconen tutkimuksen tulokset. 25 Moduulin koko >200 Kaikkien moduulien kompleksius 6,0 19,6 27,5 56,7 77,5 Virheellisten moduulien kompleksius 6,2 17,9 28,1 52,7 60,0 Virheitä / KLOC 65,0 33,0 24,6 13,4 9,7 26 Basili-Möllerin lain perusteluja 4 Basili-Möllerin lain teoria Myös Möller sai omassa tutkimuksessaan samansuuntaisia tuloksia. Lisäksi Selby sai 1988 tekemässään ohjelmistojen uudelleenkäytön tutkimuksessa teoriaa tukevia tuloksia. Näin ollen Basili-Möllerin laki on validoitu kohtuullisen kattavasti. 27 Basili-Möllerin laki perustuu Simonin lakiin hierarkkisista rakenteista. Pienissä korjauksissa hierarkiaa rikotaan suhteessa enemmän kuin suurissa korjauksissa. Molemmissa nimittäin tarvitaan tietoa ja viittauksia vanhaan ympärillä olevaan koodiin. Näin pienet korjaukset ovat suhteellisesti suuria korjauksia riskialttiimpia McCaben hypoteesi Monimuotoisuusmetriikat (complexity metrics) ovat hyviä tuotteen luotettavuuden ja ylläpidettävyyden mittareita. Monimuotoisuusmetriikka tarkoittaa ohjelmasta laskettavaa sen rakenteen monimutkaisuuden ilmaisevaa lukuarvoa. McCaben hypoteesin mukaan sopivat metriikat ennustavat ylläpidon helppouden. McCaben hypoteesin taustaa Parhaiten tunnettu monimuotoisuusmetriikka perustuu McCaben kehittämään syklomaattiseen monimuotoisuuteen (cyclomatic complexity). Mittari kuvaa tietyn ohjelman osan alusta loppuun menevien riippumattomien polkujen määrää

6 McCaben hypoteesin taustaa 2 McCaben hypoteesin perusteluja Riippumaton polku on jokin sellainen reitti ohjelman osan alusta sen loppuun, jota ei saada lineaarisena kombinaationa muista vastaavista poluista. Yleensä McCaben monimuotoisuusmittaa käytetään metodeihin. Tällöin mittari antaa riippumattomiin polkuihin perustuvan kattavuuskriteerin. 31 McCaben hypoteesi tarjoaisi toteutuessaan kätevän keinon arvioida ylläpidon kustannuksia: mitä pienempi syklinen monimuotoisuus, sitä helpompaa pitäisi ylläpidon olla. McCaben hypoteesia on yritetty validoida varsin huonolla menestyksellä. 32 McCaben hypoteesin perusteluja 2 McCaben hypoteesin perusteluja 3 Niodusch tutki 1983, mten DOS/VSEkäyttöjärjestelmästä havaitut virheet korreloivat McCaben mittarin lukemien kanssa. Yllättäen tuloksena oli, että mittaria paremmin virheiden määrää korreloi koodirivien määrä. Toisin sanottuna monimutkaiset rakenteet eivät olleet juurikaan sen yksinkertaisia rakenteita virheherkempiä 33 Nioduschin lisäksi Basilin ja Perriconen aineistosta (Basili-Möllerin laki) voidaan laskea vastaavat arvot. Tulokset ovat samansuuntaiset Nioduschin kanssa. Samoin Fentonin ja Ohlssonin vuonna 2000 tehdyssä kokeessa havaittiin, että McCaben metriikka ei ole sen parempi virhetiheyden ennustaja kuin mitä koodirivien määrä on Wilden hypoteesi Wilden hypoteesin taustaa Oliopohjaisten ohjelmistojen ylläpito on vaikeaa. Oliopohjaisuus ei pääty kehitystyön päättymiseen, vaan sitä tarvitaan yhtä lailla ylläpidossa. Norman Wilde esitti 1993, että kehitystyössä oliopohjaisuudella saavutettava hyöty häviää ainakin osittain ylläpitovaiheessa. 35 Kuten sanottu, ylläpidon osuus kaikista kustannuksista on 40-80%. Tämä tarkoittaa, että säästöt/resurssien tuhlaus näkyvät erityisesti ylläpitovaiheessa. Kuitenkin suurin osa oliopohjaisuustutkimuksista käsittelee oliopohjaisia menetelmiä nimenomaan kehitystyön apuvälineinä. 36 6

7 Wilden hypoteesiin perusteluja Wilden hypoteesin perusteluja 2 Wilde ei validoi hypoteesiaan empiirisin kokein. Sen sijaan hän perustelee väitteensä oliopohjaisten ohjelmien ominaisuuksilla. Wilden mukaan oliopohjaisia ohjelmia on vaikea ymmmärtää, koska niissä yleensä on paljon pieniä metodeita, joiden suhdetta on vaikea ymmärtää. Samoin perintä tuottaa ongelmia. 37 Daly teki 1996 kokeen, jossa hän tutki, miten perintä vaikuttaa ylläpitoon. Hänen kokeessaan kaksi oppilasryhmää piti yllä 400 rivin C++-ohjelmia. Toisen ryhmän ohjelmassa oli kolmitasoinen perintähierarkia. Toisen ryhmän ohjelmassa ei ollut perintää. Toisessa kokeessa käytettiin lisäksi viisitasoista perintähierarkiaa. 38 Wilden hypoteesin perusteluja 3 Wilden hypoteesin perusteluja 4 Dalyn tulokset olivat seuraavat: Matala vs. ei perintää ylläpitoaika: perinnällä selvästi pienempi ylläpitoaika. Syvä vs. ei perintää ylläpitoaika: ilman perintää hiukan pienempi ylläpitoaika. Unger toisti kokeen Hänen tuloksissaan sekä matala että syvä perintä vaativat litteää rakennetta enemmän ylläpitoa ja olivat myös tätä virhealttiimpia. 39 Daly ja Unger saivat siis kokeistaan eri tulokset. Oppikirjan mukaan tulosten ero selittyy sillä, miten Dalyn kokeessa oppilaat suorittivat ylläpitotehtävät. Kirjoittajien mukaan Dalyn kokeessa perintähierarkiaa käytettiin ylläpidon mallina. Oppikirjasta ei selviä, miksi tämän pitäisi olla paha asia! 40 Esiteltyjen lakien seurauksia Esiteltyjen lakien seurauksia 2 Ylläpidon lait voidaan tiivistää seuraavaksi yleiseksi tulokseksi: vaihe vaatii paljon työtä, huomattavaa tarkkuutta ja korjausten ja päivitysten lisäksi koodin uudelleenmuokkausta (refaktorointia). Lehmanin lait ja Basili-Möllerin laki johtavat tähän samaan tulokseen. Myös Wilden hypoteesi viittaa samaan. Toinen tulos voidaan päätellä Wilden hypoteesista, vaikka sitä ei ole validoitu kunnolla: Kehitystyön menetelmiä käytettäessä ei pidä ajatella pelkästään kehitystyön vaatimia piirteitä vaan myös ylläpidettävyyttä. Toisin sanottuna jokaisen vähänkään vaikeamman ratkaisun kohdalla kannattaa miettiä, miten se vaikuttaa ylläpitoon

Johdantoluento. Ohjelmien ylläpito

Johdantoluento. Ohjelmien ylläpito Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito

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

4. Verifiointi ja validointi. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina

4. Verifiointi ja validointi. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina 4. Verifioinnissa varmennetaan, että järjestelmä on toimiva ja optimaalinen. Yleensä se muotoillaan kysymykseksi Kehitämmekö järjestelmää oikein? Validoinnissa varmennetaan, että järjestelmä vastaa siitä

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Siis mikä suunnittelun haastavuus ja ristiriitaisuus? Suunnittelun työvaiheet. Suunnittelun lait ja hypoteesit

Siis mikä suunnittelun haastavuus ja ristiriitaisuus? Suunnittelun työvaiheet. Suunnittelun lait ja hypoteesit 3. on teknisesti kaikkein haastavin ja luonteeltaan kaikkein ristiriitaisin työvaihe. Miksi? Curtis: Hyvä suunnittelu vaatii syvällistä tuotteen sovellusalueen hallintaa. Dyer: Siirtyminen vaatimusmäärittelystä

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

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

Projektinhallinnan merkitys

Projektinhallinnan merkitys 6. ei ole työvaihe, vaan se on läsnä koko tuotteen elinkaaren ajan. Se siirtää ohjausvastuun pois kehitystiimiltä. Työvaihe sisältää prosessin ohjaukseen liittyviä tehtäviä: koko- ja kustannusarviot, aikataulun

Lisätiedot

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Tilastollinen testaus. Vilkkumaa / Kuusinen 1 Tilastollinen testaus Vilkkumaa / Kuusinen 1 Motivointi Viime luennolla: havainnot generoineen jakauman muoto on usein tunnettu, mutta parametrit tulee estimoida Joskus parametreista on perusteltua esittää

Lisätiedot

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY Tilastollinen testaus Tilastollinen testaus Tilastollisessa testauksessa tutkitaan tutkimuskohteita koskevien oletusten tai väitteiden paikkansapitävyyttä havaintojen avulla. Testattavat oletukset tai

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

4. Funktion arvioimisesta eli approksimoimisesta

4. Funktion arvioimisesta eli approksimoimisesta 4. Funktion arvioimisesta eli approksimoimisesta Vaikka nykyaikaiset laskimet osaavatkin melkein kaiken muun välttämättömän paitsi kahvinkeiton, niin joskus, milloin mistäkin syystä, löytää itsensä tilanteessa,

Lisätiedot

2. Vaatimusmäärittely. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina

2. Vaatimusmäärittely. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina 2. on ensimmäinen projektin osavaihe. Sitä pidetään myös tärkeimpänä vaiheena. Miksi? Ehkä seuraavat lait selittävät asiaa: Glass: huono vaatimusmäärittely on todennäköisin epäonnistuneen projektin syy.

Lisätiedot

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky Koekysymyksiä Ohjelmistoprosessit ja ohjelmistojen laatu 30.4.2015 58153003 Ohjelmistojen suorituskyky 1 Kurssikokeeseen tulee neljä koetilaisuudessa vastattavaa kysymystä KOKEESSA VASTATTAVAT KYSYMYKSET

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

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

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi.

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi. 10.11.2006 1. Pituushyppääjä on edellisenä vuonna hypännyt keskimäärin tuloksen. Valmentaja poimii tämän vuoden harjoitusten yhteydessä tehdyistä muistiinpanoista satunnaisesti kymmenen harjoitushypyn

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 8. marraskuuta 2007 Antti Rasila () TodB 8. marraskuuta 2007 1 / 18 1 Kertausta: momenttimenetelmä ja suurimman uskottavuuden menetelmä 2 Tilastollinen

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

Väliestimointi (jatkoa) Heliövaara 1

Väliestimointi (jatkoa) Heliövaara 1 Väliestimointi (jatkoa) Heliövaara 1 Bernoulli-jakauman odotusarvon luottamusväli 1/2 Olkoon havainnot X 1,..., X n yksinkertainen satunnaisotos Bernoulli-jakaumasta parametrilla p. Eli X Bernoulli(p).

Lisätiedot

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus LAADUNVARMISTUS 135 Projektinhallinnan laadunvarmistus Projektinhallinnan laadunvarmistus tukee ohjelmistoprojektien ohjaus- ja ylläpitotehtäviä. Projektinhallinnan laadunvarmistustehtäviin kuuluvat seuraavat:

Lisätiedot

Johdatus verkkoteoriaan luento Netspace

Johdatus verkkoteoriaan luento Netspace Johdatus verkkoteoriaan luento 20.3.18 Netspace Kurssin sijainti muussa suunnitellussa kokonaisuudessa Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot, verkon

Lisätiedot

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita 581259 Ohjelmistotuotanto 378 Lemström, 2006-2011 581259 Ohjelmistotuotanto Kiitos Tuomolle kuvasta 379 Ohjelmistotuotannon perustehtävät projektinhallinta:

Lisätiedot

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Onnistunut SAP-projekti laadunvarmistuksen keinoin Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.

Lisätiedot

Harjoitus 7: NCSS - Tilastollinen analyysi

Harjoitus 7: NCSS - Tilastollinen analyysi Harjoitus 7: NCSS - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tilastollinen testaus Testaukseen

Lisätiedot

1. Johdanto. Empiirinen ohjelmistotutkimus. Empiirisen tutkimuksen perusta. Havainnot, laki, teoria. Havainto-laki-teoria

1. Johdanto. Empiirinen ohjelmistotutkimus. Empiirisen tutkimuksen perusta. Havainnot, laki, teoria. Havainto-laki-teoria 1. Johdanto Building software will always be hard. There is inherently no silver bullet. F. Brooks, 1987. Ohjelmisto- ja järjestelmätekniikka (software engineering, software systems engineering) määrittelevät,

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

7 Vapaus. 7.1 Vapauden määritelmä

7 Vapaus. 7.1 Vapauden määritelmä 7 Vapaus Kuten edellisen luvun lopussa mainittiin, seuraavaksi pyritään ratkaisemaan, onko annetussa aliavaruuden virittäjäjoukossa tarpeettomia vektoreita Jos tällaisia ei ole, virittäjäjoukkoa kutsutaan

Lisätiedot

Yhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004. http://cs.joensuu.

Yhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004. http://cs.joensuu. Yhdeksän mittaria ohjelmistotuotannon tilan seuraamiseen tsoft Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004 http://cs.joensuu.fi/tsoft/ Yhdeksän mittaria ohjelmistotuotannon tilan seuraamiseen

Lisätiedot

9.5. Työ Työkykyjohtamisen opintopolku 2017, osa 4/9: Mitä muuttuva työ vaatii johtamiselta ja työntekijöiden oppimiselta?

9.5. Työ Työkykyjohtamisen opintopolku 2017, osa 4/9: Mitä muuttuva työ vaatii johtamiselta ja työntekijöiden oppimiselta? 9.5. Työ 2040 - Työkykyjohtamisen opintopolku 2017, osa 4/9: Mitä muuttuva työ vaatii johtamiselta ja työntekijöiden oppimiselta? Jyri Juusti, kehityspäällikkö, Varma Johannes Nuutinen, vastaava konsultti,

Lisätiedot

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006 12 09 Jani Eränen Alustava DOKUMENTIN TILA: Alustava Valmis Tarkastettu

Lisätiedot

MV- WELDING OY. Kohti täydellistä tiedon maailmaa

MV- WELDING OY. Kohti täydellistä tiedon maailmaa MV- WELDING OY Kohti täydellistä tiedon maailmaa MV Welding on vaativiin teollisuuden vaatimuksiin hitsaustöitä toteuttava yritys. MV Weldingin työmaat vaihtelevat ympäri Suomen. Kasvutahdissa olevan yhtiön

Lisätiedot

χ = Mat Sovellettu todennäköisyyslasku 11. harjoitukset/ratkaisut

χ = Mat Sovellettu todennäköisyyslasku 11. harjoitukset/ratkaisut Mat-2.091 Sovellettu todennäköisyyslasku /Ratkaisut Aiheet: Yhteensopivuuden testaaminen Homogeenisuuden testaaminen Riippumattomuuden testaaminen Avainsanat: Estimointi, Havaittu frekvenssi, Homogeenisuus,

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Tämän esityksen sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintamalli

Avoimen ja yhteisen rajapinnan hallintamalli Avoimen ja yhteisen rajapinnan hallintamalli 1.10.2015 Sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan hallitsemat rajapinnat)

Lisätiedot

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux Historiaa Linux on Unix-yhteensopiva käyttöjärjestelmä. Unixin perusta luotiin 1964 MIT:ssa aloitetussa MULTICS-projektissa (http://www.cs.helsinki.fi/u/kerola/tkhist/k2000/alustukset/unix_hist/unix_historia.htm)

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

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

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 Määrittelyjoukoista Tarkastellaan funktiota, jonka määrittelevä yhtälö on f(x) = x. Jos funktion lähtöjoukoksi määrittelee vaikkapa suljetun välin [0, 1], on funktio

Lisätiedot

6 TARKASTELU. 6.1 Vastaukset tutkimusongelmiin

6 TARKASTELU. 6.1 Vastaukset tutkimusongelmiin 173 6 TARKASTELU Hahmottavassa lähestymistavassa (H-ryhmä) käsitteen muodostamisen lähtökohtana ovat havainnot ja kokeet, mallintavassa (M-ryhmä) käsitteet, teoriat sekä teoreettiset mallit. Edellinen

Lisätiedot

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2 Uolevin reitti Kuvaus Uolevi on ruudukon vasemmassa ylänurkassa ja haluaisi päästä oikeaan alanurkkaan. Uolevi voi liikkua joka askeleella ruudun verran vasemmalle, oikealle, ylöspäin tai alaspäin. Lisäksi

Lisätiedot

Menetelmäraportti Ohjelmakoodin tarkastaminen

Menetelmäraportti Ohjelmakoodin tarkastaminen Menetelmäraportti Ohjelmakoodin tarkastaminen Sisällysluettelo 1. Johdanto...3 2. Menetelmän kuvaus...4 2.1. Tarkastusprosessi...4 2.1.1. Suunnittelu...4 2.1.2. Esittely...5 2.1.3. Valmistautuminen...5

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon

Lisätiedot

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA Tarjouspyyntö Liite 5.3: Järjestelmän ylläpidettävyden arviointi 1 / 5 VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 22.4.15 3.01 Poistettu kotihoito

Lisätiedot

Martingaalit ja informaatioprosessit

Martingaalit ja informaatioprosessit 6A Martingaalit ja informaatioprosessit Tämän harjoituksen tavoitteena on oppia tunnistamaan, milloin satunnaisprosessi on martingaali annetun informaatioprosessin suhteen ja milloin satunnaishetki on

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

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

MTTTA1 Tilastomenetelmien perusteet 5 op Luento , osa 1. 1 Kokonaisuudet johon opintojakso kuuluu

MTTTA1 Tilastomenetelmien perusteet 5 op Luento , osa 1. 1 Kokonaisuudet johon opintojakso kuuluu 5.3.2018/1 MTTTA1 Tilastomenetelmien perusteet 5 op Luento 5.3.2018, osa 1 1 Kokonaisuudet johon opintojakso kuuluu https://www10.uta.fi/opas/opintojakso.htm?rid=14600 &idx=1&uilang=fi&lang=fi&lvv=2017

Lisätiedot

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat jen Kahden joukon A ja B samuutta todistettaessa kannattaa usein osoittaa, että A on B:n osajoukko ja että B on A:n osajoukko. Tällöin sovelletaan implikaation ja ekvivalenssin yhteyttä. Lause 5. (s. 50).

Lisätiedot

Ylläpito. Ylläpidon lajeja

Ylläpito. Ylläpidon lajeja Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)

Lisätiedot

9 Matriisit. 9.1 Matriisien laskutoimituksia

9 Matriisit. 9.1 Matriisien laskutoimituksia 9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä

Lisätiedot

LASKUAUTOMAATIORATKAISUIDEN VERSIOPÄIVITYS ICT-STRATEGIA LIIKETOIMINNAN KEHITYKSEN YTIMESSÄ 2011 KERKKO KÄMÄRÄINEN

LASKUAUTOMAATIORATKAISUIDEN VERSIOPÄIVITYS ICT-STRATEGIA LIIKETOIMINNAN KEHITYKSEN YTIMESSÄ 2011 KERKKO KÄMÄRÄINEN LASKUAUTOMAATIORATKAISUIDEN VERSIOPÄIVITYS ICT-STRATEGIA LIIKETOIMINNAN KEHITYKSEN YTIMESSÄ SISÄLTÖ 01 Ramboll yleisesittely 02 ICT-strategia 03 Valmistautuminen päivitykseen 04 Versiopäivityksen hyödyt

Lisätiedot

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi Talousmatematiikan perusteet: Luento 11 Lineaarikuvaus Matriisin aste Käänteismatriisi Viime luennolla Käsittelimme matriisien peruskäsitteitä ja laskutoimituksia Vakiolla kertominen, yhteenlasku ja vähennyslasku

Lisätiedot

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut T-79.146 Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut 1. M : a P P f Q, R Q e P a) M, a = A(P UQ), sillä (esim.) (a,,,,,...) on tilasta a alkava täysi polku, joka

Lisätiedot

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS 20.4.2015 IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA 1 1.1 SOVELTAMINEN Näitä erityisehtoja sovelletaan ohjelmistojen tai niiden osien toimituksiin ketterien

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 6 Sarjojen suppeneminen Kiinnostuksen kohteena on edelleen sarja a k = a + a 2 + a 3 + a 4 +... k= Tämä summa on mahdollisesti äärellisenä olemassa, jolloin sanotaan

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_RI.doc Päiväys: Projekti : AgileElephant Versio: V0.2

SEPA diary. Dokumentti: SEPA_diary_PK_RI.doc Päiväys: Projekti : AgileElephant Versio: V0.2 AgilElephant SEPA Diary Pasi Kallioniemi 49477B Rauli Ikonen 51051V Tekijä: Kallioniemi&Ikonen Omistaja: ElectricSeven Aihe: RI & PK Sivu 1 of 7 Dokumenttihistoria Muutoshistoria Revision päiväys: 1.11.2004

Lisätiedot

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti 2.12.2011

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti 2.12.2011 AVOIMEN TUOTTEEN HALLINTAMALLIT Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö Yhteentoimivuutta avoimesti 2.12.2011 Erikoistutkija, MSc. Tapio Matinmikko, Teknologian tutkimuskeskus VTT 2 Esittäjästä

Lisätiedot

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua tietoa. Tutkittua tietoa 1 Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.

Lisätiedot

Mat Tilastollisen analyysin perusteet, kevät 2007

Mat Tilastollisen analyysin perusteet, kevät 2007 Mat-2.2104 Tilastollisen analyysin perusteet, kevät 2007 2. luento: Tilastolliset testit Kai Virtanen 1 Tilastollinen testaus Tutkimuksen kohteena olevasta perusjoukosta esitetään väitteitä oletuksia joita

Lisätiedot

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa: Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,

Lisätiedot

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

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

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

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

Tieto- ja viestintäteknologinen osaaminen. Ryhmä 5

Tieto- ja viestintäteknologinen osaaminen. Ryhmä 5 Tieto- ja viestintäteknologinen osaaminen Ryhmä 5 Kehityksen suunta.. Mitä teema tarkoittaa? Teeman punaisena lankana on pohjimmiltaan se, että teknologiakasvatus ja teknologian arkipäiväistäminen tulee

Lisätiedot

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op) 581361 Ohjelmistoprosessit ja ohjelmistojen laatu (4op) Ohjelmistojärjestelmien syventävien opintojen kurssi Myös ohjelmistotekniikan profiilin pakollinen kurssi eli ohjelmistotekniikka-aiheisen gradun

Lisätiedot

Matemaatiikan tukikurssi

Matemaatiikan tukikurssi Matemaatiikan tukikurssi Kurssikerta 1 1 Funktiot Funktion määritelmä Funktio on sääntö, joka liittää kahden eri joukon alkioita toisiinsa. Ollakseen funktio tämän säännön on liitettävä jokaiseen lähtöjoukon

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa Ohjelmistotuotteen hallinta ja hallinnointi 22.4.2015 Mikael Vakkari, neuvotteleva virkamies. VM Strategisten linjausten perusteemat Avoimuus Hallinto,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

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

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,

Lisätiedot

Järjestelmäintegraatio

Järjestelmäintegraatio VESA AHOLA Järjestelmäintegraatio 14.3.2013 Agenda 1. Minä 2. Integraatio? 3. Esimerkkijärjestelmä 4. Integraatioprojektit Minä Ikä 32 vuotta Kotoisin Parolasta, asun Hämeenlinnassa TTY:llä 2001-2010 Pääaine

Lisätiedot

Ohjelmistojen testaus

Ohjelmistojen testaus Ohjelmistojen testaus Juha Taina 1. Perusteet (P&Y:1-4) Kurinalainen insinöörityö sisältää suunnittelun ja rakentamisen lisäksi välttämättä tehtäviä, joiden tarkoitus on tunnistaa ja poistaa keskeneräisestä

Lisätiedot

MTTTA1 Tilastomenetelmien perusteet 5 op Luento Kokonaisuudet johon opintojakso kuuluu

MTTTA1 Tilastomenetelmien perusteet 5 op Luento Kokonaisuudet johon opintojakso kuuluu 10.1.2019/1 MTTTA1 Tilastomenetelmien perusteet 5 op Luento 10.1.2019 1 Kokonaisuudet johon opintojakso kuuluu https://www10.uta.fi/opas/opintojakso.htm?rid=14600 &idx=1&uilang=fi&lang=fi&lvv=2018 10.1.2019/2

Lisätiedot

Ylläpitodokumentti Mooan

Ylläpitodokumentti Mooan Ylläpitodokumentti Mooan Helsinki 16.08.06 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op/6ov) Projektiryhmä Heikki Aitakangas

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

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant AgilElephant Testausraportti I1 Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: Testausraportti Sivu 1 / 5 Dokumentti Historia Muutoshistoria Revision Numero Revision Päiväys Yhteenveto muutoksista Revision

Lisätiedot

CSV - XML ohjelman käyttöohje

CSV - XML ohjelman käyttöohje CSV - XML ohjelman käyttöohje Käynnistä ohjelma CSC_Virta_Julkaisut_ToXMLConverter.exe CSV-XML muunnos tapahtuu etenemällä ohjelmassa järjestyksessä 1. -> 6. ylhäältä oikealle: Perustoimintoja voi suorittaa

Lisätiedot

2. Argumenttianalyysi. Renne Pesonen (TaY) 28. syyskuuta / 119

2. Argumenttianalyysi. Renne Pesonen (TaY) 28. syyskuuta / 119 2. Argumenttianalyysi Renne Pesonen (TaY) 28. syyskuuta 2015 35 / 119 Tähän mennessä havaittua: Argumentti koostuu kolmenlaisista asioista 1. Väite V 2. Perustelut P 1, P 2, P 3,... 3. Taustaoletukset

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012 Purot.net Wiki Tutkielma Paavo Räisänen Centria Ammattikorkeakoulu 24.10.2012 Sisällysluettelo 1: Esittely 2: Perustaminen 3: Uuden sivun luonti 4: Kuvien lisääminen 5: Linkin lisääminen 6: Lopuksi 1:

Lisätiedot

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa: Simo K. Kivelä, 13.7.004 Frégier'n lause Toisen asteen käyrillä ellipseillä, paraabeleilla, hyperbeleillä ja niiden erikoistapauksilla on melkoinen määrä yksinkertaisia säännöllisyysominaisuuksia. Eräs

Lisätiedot

Tässä luvussa mietimme, kuinka paljon aineistossa on tarpeellista tietoa Sivuamme kysymyksiä:

Tässä luvussa mietimme, kuinka paljon aineistossa on tarpeellista tietoa Sivuamme kysymyksiä: 4. Tyhjentyvyys Tässä luvussa mietimme, kuinka paljon aineistossa on tarpeellista tietoa Sivuamme kysymyksiä: Voidaanko päätelmät perustaa johonkin tunnuslukuun t = t(y) koko aineiston y sijasta? Mitä

Lisätiedot

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden 1.12.2006 1. Satunnaisjakauman tiheysfunktio on Ü µ Üe Ü, kun Ü ja kun Ü. Määritä parametrin estimaattori momenttimenetelmällä ja suurimman uskottavuuden menetelmällä. Ratkaisu: Jotta kyseessä todella

Lisätiedot

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Käytettävyyslaatumallin rakentaminen verkkosivustolle Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan

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

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

Käsitteistä. Reliabiliteetti, validiteetti ja yleistäminen. Reliabiliteetti. Reliabiliteetti ja validiteetti

Käsitteistä. Reliabiliteetti, validiteetti ja yleistäminen. Reliabiliteetti. Reliabiliteetti ja validiteetti Käsitteistä Reliabiliteetti, validiteetti ja yleistäminen KE 62 Ilpo Koskinen 28.11.05 empiirisessä tutkimuksessa puhutaan peruskurssien jälkeen harvoin "todesta" ja "väärästä" tiedosta (tai näiden modernimmista

Lisätiedot

1 Kannat ja kannanvaihto

1 Kannat ja kannanvaihto 1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:

Lisätiedot

Testaajan eettiset periaatteet

Testaajan eettiset periaatteet Testaajan eettiset periaatteet Eettiset periaatteet ovat nousseet esille monien ammattiryhmien toiminnan yhteydessä. Tämä kalvosarja esittelee 2010-luvun testaajan työssä sovellettavia eettisiä periaatteita.

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Martingaalit ja informaatioprosessit

Martingaalit ja informaatioprosessit 4A Martingaalit ja informaatioprosessit Tämän harjoituksen tavoitteena on tutustua satunnaisvektorin informaation suhteen lasketun ehdollisen odotusarvon käsitteeseen sekä oppia tunnistamaan, milloin annettu

Lisätiedot