Joensuun yliopisto Tietojenkäsittelytieteen laitos

Koko: px
Aloita esitys sivulta:

Download "Joensuun yliopisto Tietojenkäsittelytieteen laitos"

Transkriptio

1 Joensuun yliopisto Tietojenkäsittelytieteen laitos / PV Ohjelmointyön ohje YLEISTÄ Ohjelmoinnin harjoitustyön tarkoituksena on perehdyttää opiskelija ohjelmointiongelman ratkaisemisen eri vaiheisiin ja antaa käsitys siitä, miten ongelmanratkaisuun liittyviä suunnitelmia, ohjelmia ja dokumentteja laaditaan. Hyvä dokumentointi helpottaa ohjelman ylläpitoa (muuttamista, korjaamista, täydentämistä), jonka osuus atk-työstä on varsin suuri. Ohjelmointitöissä opitaan myös ohjelmien testausta ja paneudutaan ohjelmointikurssilla opittuihin asioihin hieman yksityiskohtaisemmin. Työn alkuvaiheessa kannattaa ajatella työn laajuutta ja vaatimuksia niin, ettei työn laajuus tule liian suureksi. Ennen työn aloittamista palautetaan toteutussuunnitelma. Ellei palautettu ohjelma toimi oikein, dokumentoinnissa on pahoja puutteita tai virheitä tai testaus ei ole riittävän kattava, työ palautetaan korjattavaksi. Korjattu työ on jätettävä uudelleen tarkastettavaksi kuukauden kuluessa palautteesta. TÖIDEN ARVOSTELU Arvostelun lähtökohtana on arvosana 3. Mikäli työ on hyvin tehty ja huolellisesti dokumentoitu, arvosanaa korotetaan. Tehoton tai epäselvä ohjelma samoin kuin puutteellinen dokumentointi pudottavat arvosanaa. HUOM! Myös korjatusta työstä voi saada erinomaisen arvosanan. Arvostelussa kiinnitetään huomiota ratkaisualgoritmin ja sen toteutuksen selkeyteen sekä ohjelman käytettävyyteen (esim. joustava käyttöliittymä) ja luotettavuuteen (esim. tarkistusten kattavuus). Ohjelman tulee olla selkeä ja itsensä selittävä. Dokumentin täytyy sisältää kaikki tarpeelliset osat ja sen perusteella on saatava hyvä käsitys ohjelman rakenteesta ja toiminnasta. Ohjelman arvostelussa kiinnitetään huomiota lähinnä seuraaviin seikkoihin: mahdollisimman virheetön ja selkeä toiminta kaikissa tilanteissa ohjelman selväpiirteisyys ja jäsentely, luokkarakenne aiheeseen sopiva ja perusteltu ohjelmointikielen tehokas käyttö ja sen ominaisuuksien hyvä hallinta (olioohjelmointi) riittävät virhetarkistukset ohjelmakoodi ja sen kommentointi ulkoasultaan moitteetonta testaus niin monipuolisella aineistolla, että ohjelman kaikki haarat käydään läpi - kohtuuden rajoissa 1

2 testitulokset tarkistettuja Jos ohjelma ei täytä edellä mainittuja vaatimuksia riittäviltä osin, se voidaan palauttaa korjattavaksi. Dokumentin arvostelussa kiinnitetään huomiota siihen, että dokumentti sisältää vaaditut osat (tehtävän mukaan joustaen) riittävällä tarkkuudella. Dokumentin arvostelu nojautuu seuraaviin periaatteisiin: dokumentin avulla on voitava käyttää ohjelmaa tuntematta sen rakennetta yksityiskohtaisesti; tämä edellyttää selkeitä syöttö- ja tulostusmalleja dokumentti antaa kuvan ohjelman toiminnasta lukijalle, joka ei tunne käytettyä ohjelmointikieltä dokumentin tulee helpottaa ohjelmaan tarkemmin perehtymistä ja ohjelmalistauksen lukemista (dokumentti ei ole ohjelmalistauksen kopio!) dokumentin täytyy olla kieli- ja ulkoasultaan selkeä Mikäli dokumentissa on pahoja puutteita tai virheitä, se palautetaan korjattavaksi. Dokumentti voidaan palauttaa korjattavaksi myös kieliasun takia. Lisäksi katsotaan seuraavat seikat harjoitustyölle eduiksi: virhetarkistusten kattavuus tulostuksen selkeä ulkoasu ohjelman lyhyys ja tehokkuus toteutuksen yhtenäisyys luokkien, metodien ja muuttujien havainnollinen nimeäminen ohjelman ulkoasu dokumentin selkeys ja johdonmukaisuus dokumentin ulkoasu TOTEUTUSSUUNNITELMA Suunnitelmassa kuvataan ohjelman käyttöliittymä ja suunniteltu toteutustapa. 1. Miten käyttäjä käyttää ohjelmaa - mitä käyttäjältä kysytään ja mitä tulostuksia ohjelma antaa. Tämä voidaan kuvata lyhyellä esimerkillä miten ohjelman pitäisi toimia - mallitulosteet ajosta kuten demotehtävissä on annettu - käyttäjän antama syöte lihavoituna (suunnitelma tehdään tekstinkäsittelyohjelmalla). 2. Mitä luokkia ohjelma sisältää - luokkia oltava ainakin kolme, joista yksi sisältää pääohjelman omassa luokassaan. Luokasta kuvataan attribuutit, konstruktori (konstruktorit) ja millaisia metodeja luokassa on. Metodeista annetaan vain esittelyrivi eli kuten ne ohjelmassa esitetään. Esittelyrivi sisältää palautusarvon, metodin nimen ja metodin parametrit tyyppeineen. Jos metodin tarkoitus ei selviä edellisestä, niin tarvittaessa kerrotaan mitä metodi tekee. Kuitenkin tarkoitus on miettiä niin kuvaavat nimet luokille, 2

3 attribuuteille, metodeille ja parametreille, että niitä ei suunnitelmassa tarvitse selittää. TYÖN DOKUMENTOINTI Pelkät kommentoidut ohjelmalistaukset yksinään eivät riitä työselostukseksi, vaan harjoitustyöstä on aina laadittava kirjallinen dokumentti. Ohjelman rakenne, luokkahierarkia, algoritmit, tietotyypit, tiedostojen muoto ym. dokumentoitavat seikat ratkeavat yleensä jo ohjelman suunnitteluvaiheessa. Ne onkin syytä samalla kirjata ylös jo senkin takia, että siten myös itse ohjelmointityö helpottuu. Suunnitteluvaihe on muutenkin erittäin tärkeä osa harjoitustyötä, jotta tekijällä on jo alkuvaiheessa realistinen kuva työn vaativuudesta. Myös testiaineisto kannattaa laatia jo suunnittelun yhteydessä, jolloin siitä tulee tarpeeksi kattava. Työselostuksen runko syntyy siis suurelta osin jo ohjelman suunnitteluvaiheessa, joten ohjelman valmistuttua jäljelle jää lähinnä yksityiskohtien täydentäminen ja selostuksen puhtaaksikirjoitus. Dokumentoinnin tulee olla selkeä ja täsmällinen. Työselostus kirjoitetaan hyvällä suomen kielellä välttäen tarpeetonta erikoistermien ja tietokoneslangin käyttöä. Käsittelyn ja arkistoinnin helpottamiseksi työselostuksen ulkoasussa noudatetaan seuraavia sääntöjä: kaikki sivut (kansilehteä ja sisällysluetteloa lukuunottamatta) numeroidaan. Sisällösluettelon jälkeisen sivun sivunumero on 1. sisällysluettelossa mainitaan dokumentin numeroidut otsikot ja niiden sivunumerot sekä luetellaan kaikki liitteet liitteet numeroidaan juoksevasti monisivuiset liitteet varustetaan kukin omalla sivunumeroinnillaan pysty- ja sivumarginaalien on oltava riittävän leveät (= 2,5 cm) tekstin jaottelussa käytetään hierarkista kappalenumerointia ohjelmalistauksissa käytetään tasavälistä kirjasinta (esim. Courier); ohjelmalohkot sisennetään yhdenmukaisesti 3-6 välilyönnillä. Dokumentti sisältää seuraavat osat: Kansilehti ja sisällysluettelo Kansilehdeltä tulee ilmetä seuraavat tiedot: työn nimi ja koodi tekijän nimi ja opiskelijanumero palautuspäivämäärä HUOM! Kansilehti ja sisällysluettelo ovat omilla sivuillaan ja itse teksti alkaa sisällysluetteloa seuraavalta sivulta. 3

4 1. Tehtävän määrittely ja ratkaisuperiaate Dokumenttia laadittaessa on otettava huomioon, että dokumenttia käytetään varsin erilaisiin tarkoituksiin. Tästä luvusta täytyy voida nopeasti nähdä, mitä työ käsittelee ja mihin ratkaisu perustuu. 1.1 Tehtävän määrittely Tässä kohdassa selostetaan annetun tehtävän määrittely, käytettävät valmiit tiedostot sekä muut tehtävänantoon liittyvät seikat - mieluummin omin sanoin kuin tehtäväpaperin tekstiä toistaen. Tämä osio olisi hyvä tehdä huolella ja hyvin heti työn alkuvaiheessa. Suosittelemme tämän osan liittämistä myös projektisuunnitelmaan. Tämä osa on koko dokumentin kannalta keskeinen kohta, sillä se määrittelee tarkasti ne ongelmat, joihin ohjelma ja koko myöhempi dokumentaatio yrittää antaa ratkaisuja. 1.2 Ratkaisuperiaate Tehtävän ratkaisuperiaate selostetaan pääpiirteissään välttäen laitteisto-, ympäristö - tai ohjelmointikohtaisia termejä. Yleiset ratkaisuperiaatteet ja -kaavat kuvaillaan täsmällisesti (esim. yhtälöt, yleiset algoritmit jne.). Suositellaan, että keskeiset algoritmit esitellään yleiskielellä ja mahdolliset yhtälöt yleistä matemaattista merkintätapaa käyttäen. Tämä teksti on laadittava niin, että sen läpi lukemalla näkee, onko ohjelman tekijä ymmärtänyt tehtävän oikein. Käytetyt laskukaavat ym. on syytä esittää puuttumatta ohjelman tietorakenteisiin. Esitystavan on syytä olla mahdollisimman kansantajuinen, niin että ohjelmoinnista mitään ymmärtämätönkin käsittäisi ratkaisun periaatteen. Tämä kappale on myös erittäin tärkeä, sillä tämän perusteella arvostelija näkee, onko kaikkiin edellisessä kohdassa asetettuihin ongelmiin löydetty ratkaisua. Jos näin ei ole, on syytä perustella, miksi näin ei ole, tai tarkastaja voi antaa työn korjattavaksi. 2. Ohjelman käyttöohje Ohjelmaa on kyettävä käyttämään tutustumatta sen rakenteeseen tai sisäiseen toimintaan. Käyttöohjeen on siis oltava dokumentin itsenäinen osa, jonka avulla ohjelmaa pystyy käyttämään lukematta ohjelman toimintakuvausta tai ohjelmakoodia. Hyvä käyttöohje voidaan irrottaa muusta dokumentista ja ojentaa käyttäjälle. Älä siis kirjoita tähän lukuun ohjelman koodauksesta mitään. 2.1 Syötteet ja tulosteet Ohjelman tarvitsemat syöttötiedot ja -tiedostot kuvaillaan huolellisesti. Syötteistä on selvitettävä niiden välitystapa ohjelmalle sekä se, missä muodossa syötteet annetaan (Esim. komentoriviltä, napin painallukset, hiiren koordinaatit jne.). Ohjelman tulosteiden looginen sisältö kuvataan sanallisesti. Tässä koh- 4

5 dassa esitellään kaikki normaalit tulosteet, virheilmoitukset luetellaan kohdassa 2.2. Keskustelevan ohjelman syötteiden ja tulosteiden kuvaus on mielekkäintä yhdistää siihen järjestykseen, missä keskustelu etenee. Tässä siis kuvataan ohjelman eteneminen antaen väliin malliajon palasia. Malliajon esimerkit (esim. Courier fontilla) annetaan loogisesti sisältäen käyttäjän antamat syötteet lihavoituna. Tällöinkin virheilmoitukset kootaan seuraavaan kohtaan. 2.2 Ohjelman sisältämät tarkastukset ja virheilmoitukset Tässä kohdassa selostetaan ohjelman toiminta eri virhetilanteissa. Ohjelman on kyettävä varautumaan - jos ei kaikkiin, niin ainakin todennäköisimpiin - virhetilanteisiin. Tyypillisiä virheitä ovat esimerkiksi annetut virheelliset syötteet. Kustakin virhetyypistä selostetaan virheilmoitusteksti ja virheen (todennäköinen) syy sekä kuvataan menettely suorituksen jatkamiseksi. Virheilmoitustekstit on paikallaan esittää sopivassa loogisessa järjestyksessä tai virhetekstin mukaisessa aakkosjärjestyksessä. Mikäli virhe on niin paha, ettei ohjelman suoritusta voida jatkaa, on tämä mainittava. Lisäksi luetellaan ne virhetilanteet, joissa ohjelman suoritus keskeytyy käyttöjärjestelmän virheilmoitukseen. 2.3 Ohjelman rajoitukset Tässä luetellaan ohjelman toimintaa rajoittavat seikat. Rajoituksia ovat esimerkiksi suurin mahdollinen syöttötietojen määrä, syöttötietona annettavien merkkijonojen pituudet jne. Mikäli käyttäjä voi vaikuttaa rajoitteisiin, on kerrottava, miten tämä tapahtuu. Useimmiten rajoitusten muuttaminen tosin edellyttää muutoksia itse ohjelmakoodiin, mihin käyttäjällä ei ole oikeutta; tällaiset muutosohjeet annetaan luvussa Ajo-ohje Käyttöohje sisältää aina myös ohjelman ajo-ohjeen. Tässä kohdassa ilmoitetaan ohjelman kaikki luokat ja niiden sijainti (www-sivu). Miten suorituskelpoinen versio muodostetaan sekä kaikki tarvittavat aputiedostot. Tämän lisäksi annetaan vielä varsinainen ajo-ohje eli komentojono, jolla ohjelma saadaan käyntiin. Kaikkien työhön liittyvien tiedostojen on oltava tekijän ilmoittamassa wwwhakemistossa, josta työnohjaaja voi vaivattomasti käydä hakemassa tarvittavat lähdetiedostot ja lukea ohjelman API-dokumentaation. 3 Ohjelman toiminta Tämä luku on tarkoitettu henkilölle, joka haluaa muuttaa ohjelmaa tai on muuten kiinnostunut ohjelman toimintaperiaatteesta. Luvun tarkoituksena on hel- 5

6 pottaa ohjelmalistauksen lukemista. Ohjelman toiminta kuvataan suorasanaisesti. 3.1 Tietorakenteet Tässä kohdassa luetellaan ohjelman tietorakenteet (esimerkiksi taulukot, oliot) ja selitetään näiden merkitys ohjelman kannalta. Erityisesti on kerrottava, mihin tietorakenteita käytetään ja millaista tietoa ne pitävät sisällään. Tietorakenteita ja niiden käyttöä on selvintä havainnollistaa kuvin. 3.2 Ohjelman rakenne Ohjelman rakenteen kuvailu selvittää lyhyesti ohjelman keskeiset käsitteet ja yleisrakenteen. Kuvien käyttö on suotavaa. Tarkoituksena on kuvata tarkasti ohjelman luokkahierarkia. Erityisesti kannattaa kiinnittää huomiota luokkarakenteeseen ja siihen, miten luokkien toimintaa hyödynnetään. 3.3 Luokat, tietojäsenet ja metodit Kukin luokka kuvataan omassa alakohdassaan (3.3.1, jne.). Kuvauksessa on käytävä ilmi periytymissuhteet ja toteutetut rajapinnat. Lisäksi esitellään luokan sisältämät luokkavakiot, tietojäsenet ja metodit sekä selitetään niiden merkitys. Luokan mahdolliset alustajat kuvataan ennen metodeja. Jos luokan esittämää tietorakennetta ei voida ymmärtää pelkän selostuksen perusteella, piirretään siitä kaavio. 3.4 Muutosohjeet Lyhyet ohjeet ohjelman rajoitusten muuttamiseksi voidaan antaa tässä kohdassa. Laajamittaisia muutoksia ei tarvitse kuvailla, mutta ne on syytä mainita. 4 Testaus Tämä dokumentin osa on tarkoitettu vakuuttamaan lukija siitä, että ohjelma toimii virheettömästi ainakin testitapauksissa. (HUOM! Testaus on tärkeä osa ohjelmointityötä ja on hyvä muistaa, ettei virheetöntä ohjelmaa ole olemassakaan. Esimerkiksi Windows sisältää noin 17 virhettä 1000 ohjelmariviä kohti, vaikka sitä on testaamassa useita satoja ihmisiä.) Ohjelma ajetaan ennalta laaditulla, riittävän kattavalla testiaineistolla. Kaikki testitulokset on aina tarkistettava. Odotettavissa olevat tulokset lasketaan tai etsitään kirjallisuudesta ja verrataan ohjelman antamiin tuloksiin. Ellei kaikkia tapauksia käytännön syistä kyetä kohtuullisella vaivalla testaamaan, on kuitenkin pyrittävä hyvään kattavuuteen niin, että lähes kaikki ohjelmarivit tulevat ainakin kerran suoritetuiksi ja tämä on jotenkin osoitettava. 6

7 Testausraportissa kerrotaan, millaisia tilanteita on testattu (esim. syöttö komentoriviltä, hiiren napin painallus, pelin loppuminen jne.), minkä vuoksi ja millaiset syötteet kussakin testiajossa on annettu. Testauksesta antaa yleiskuvan esimerkiksi taulukko, josta ilmenee, mitä milläkin testimateriaalilla on haluttu testata. Jos ohjelmaa muutetaan, on kaikki aiemmat testit ajettava uudelleen ja varmistuttava siitä, että muutettu ohjelma toimii edelleen oikein. Tarpeen mukaan ajetaan lisäksi kokonaan uusia testejä. Esimerkki testaustaulukosta. HUOM! Oikean testaustaulukon on testattava lähes kaikkia mahdollisia tapahtumia: Testin tarkoitus: Odotettu tulos: Saatu tulos: Liikutetaan pelaajaa nuolinäppäimillä pelin aikana ja testataan liikkuuko pelihahmo oikein syötteisiin nähden. Testaaan hyväksyykö ohjelma virheellisen päivämäärän ( ) Pelihahmo liikkuu nuolinäppäinten osoittamaan suuntaan näppäintä painettaessa. Ohjelma ilmoittaa päivämäärän virheellisyydestä Nuolinäppäin vasemmalle liikuttaa pelihahmoa vasemmalle, oikea oikealle ja ylös hypäyttää hahmoa. Tulos oli odotetun tuloksen mukainen. Liitteet Liitteiden samoin kuin varsinaisen dokumentinkin osalta on pyrittävä A4- kokoon. Liitteet numeroidaan ja monisivuiset liitteet varustetaan kukin omalla sivunumeroinnillaan. Liite 1: Tehtäväpaperi Tehtävänanto liitetään dokumentin mukaan. Mahdolliset tehtävänantoa koskevat muutokset tulee sopia työnohjaajan kanssa erikseen. Liite 2: Projektisuunnitelma Ohjaajalle työn alkuvaiheessa lähetty projektisuunnitelma on myös liitettävä dokumentin mukaan. Ohjaajan on siitä helppo katsoa, mikä oli tehtävän tarkempi määrittely ja millaisiin osiin ohjelma alunperin oli jaettu. Toteutus ei aina noudata alkuperäistä suunnitelmaa, mutta siitä tekijäkin näkee mitä alussa suunnitteli. Liite 3: Ohjelmalistaus Dokumenttiin liitetään ohjelman listaus eli ohjelmakoodi täydellisenä. Kukin sivu numeroidaan juoksevasti. 7

8 OHJELMAKOODI Ohjelmakoodin tulee sisältää oma dokumentointinsa. Ohjelmaa muutettaessa on muutostiedot kirjattava heti ainakin ohjelmakoodin selitteiksi, jottei dokumentin jonkin osan päivitys unohtuisi. Koodin luettavuuden helpottamiseksi teksti on aseteltava ja muotoiltava selkeäksi ja kauttaaltaan yhdenmukaiseksi kokonaisuudeksi. Nasevasti nimetyt tunnukset ilmaisevat enemmän kuin lyhyet selitteet. Nimeämiskäytännön tulisi olla yhden mukaista ja noudattaa Javalle annettuja yleisiä ohjeita. Ohjelmakoodin asettelun sekä muuttujien ja luokkien nimeämisen osalta tulee koodin vastata Javalle asetettuja yleisiä ohjeita, jotka löytyvät osoitteesta Koodin dokumentoinnin osalta on käytettävä Javadoc työkalua ja sen määrityksiä. Lisäksi on syytä tutustua myös Javan omiin ohjesivuihin Javadocin käytöstä. Javadoc-työkalun kotisivu: Kuinka javadoc-ohjetiedostoja kirjoitetaan: Javadocin käyttö Windowsissa: Seuraavassa on kerrottu, minkälaisia tietoja jokaisen luokan ja metodin eteen on vähintään laitettu. Ennen jokaisen luokan alkua tulee kirjata kommentiksi seuraavat tiedot: kuvaus luokan tarkoituksesta laatija luokan versionumero ja version päivämäärä Jokaista metodia ennen tulisi olla seuraavat tiedot sisältävä kommentti: yksityiskohtainen toimintakuvaus metodin oikeellista toimintaa koskevat rajoitukset syöteparametrit merkityksineen nimi selitys) palautusarvon tyyppi ja merkitys selitys) mahdolliset poikkeukset, joita metodi voi aiheuttaa selitys) Lisäksi jokaisen yli 10 riviä pitkän metodin sisällä on yleensä kommentteja. 8

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

Used with permission of Microsoft. Kulttuurihistoria Syyskuu 2015

Used with permission of Microsoft. Kulttuurihistoria Syyskuu 2015 MUOTOSEIKKOJA Mitä asetuksia käytän? Tyypillisimpiä fontteja ovat Times New Roman (fonttikoko 12) tai Arial (fonttikoko 11). Käytä riviväliä 1,5, jotta asettelu on selkeä ja teksti on myös tältä osin helppolukuista.

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

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

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

Ohjelmiston testaus ja laatu. Testausmenetelmiä

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

Lisätiedot

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

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

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

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

Lisätiedot

KEMI-TORNION AMMATTIKORKEAKOULU

KEMI-TORNION AMMATTIKORKEAKOULU KEMI-TORNION AMMATTIKORKEAKOULU Kirjallinen tehtävä Kirjallisen tehtävän laatimisen ohjeet ja mallipohja Jouko Uusitalo Ohje KEMI 2012 2 TIIVISTELMÄ KEMI-TORNION AMMATTIKORKEAKOULU, Koulutusala Tekijä(t):

Lisätiedot

Testaussuunnitelma Labra

Testaussuunnitelma Labra Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

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

Ohjelmiston toteutussuunnitelma

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

Lisätiedot

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

TOIMINNALLINEN MÄÄRITTELY MS

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

Lisätiedot

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

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia

Lisätiedot

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Ohjelmointi 1 / 2009 syksy Tentti / 18.12 Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Lohtu-projekti. Testaussuunnitelma

Lohtu-projekti. Testaussuunnitelma Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

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

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

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausraportti Orava Helsinki 5.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juhani Bergström Peter

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Hakemistojen sisällöt säilötään linkitetyille listalle.

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 11.08.2010 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä keskustelualuetta simuloiva olioperustainen ohjelma (Simple Oope Board, S.O.B). Linkitetystä listasta perittyä omaa listaa käytetään muun muassa

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014. Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014. Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0 KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014 Käyttäjätutkimus ja käsitteellinen suunnittelu Järjestelmän nimi versio 1.0 Jakelu: Tulostettu: 201543 Samuli Hirvonen samuli.hirvonen@student.tut.fi

Lisätiedot

HARJOITTELURAPORTIN KIRJOITUSOHJE

HARJOITTELURAPORTIN KIRJOITUSOHJE HARJOITTELURAPORTIN KIRJOITUSOHJE Tekniikan toimiala HARJOITTELURAPORTIN KIRJOITUSOHJE 7/2010 jn SISÄLTÖ 1 HARJOITTELURAPORTIN RAKENNE JA ULKOASU.. 3 1.1 Rakenne. 3 1.2 Ulkoasu 3 2 HARJOITTELUKERTOMUS..

Lisätiedot

AMK-OPINNÄYTETYÖN ARVIOINTIKRITEERIT päivitetty 24.10.2008

AMK-OPINNÄYTETYÖN ARVIOINTIKRITEERIT päivitetty 24.10.2008 1 AMK-OPINNÄYTETYÖN ARVIOINTIKRITEERIT päivitetty 24.10.2008 Arviointikriteerit K 5 H 4 H 3 T 2 T 1 Hylätty Aiheen valinta Yhteys koulutusohjelman ammattiopintoihin Yhteys työelämään työ kehittää opiskelijan

Lisätiedot

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Suoritusraportointi: Loppuraportti

Suoritusraportointi: Loppuraportti 1 (5) Suoritusraportointi: Loppuraportti Tiimitehtävä, 20 % kurssin arvosanasta Ryhmän vetäjä toimittaa raportit keskitetysti projektiyrityksille Raportti sisältää kaksi osiota: Johdon tiivistelmän (Executive

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

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

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

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

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

Ohje tutkielman tekemiseen

Ohje tutkielman tekemiseen Sauvon koulukeskus 2011 Ohje tutkielman tekemiseen Aiheen valinta Etsi materiaalia Valitse itseäsi kiinnostava aihe. Sovi opettajan kanssa aiheen rajaus. Pyydä opettajalta tutkielmapassiin merkintä aiheen

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Harjoitus 5 (viikko 41)

Harjoitus 5 (viikko 41) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä, käytä

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

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

T harjoitustyö, kevät 2012

T harjoitustyö, kevät 2012 T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,

Lisätiedot

Laboratoriotyöselostuksen laatiminen

Laboratoriotyöselostuksen laatiminen CHEM-C2210 Alkuainekemia ja epäorgaanisten materiaalien synteesi ja karakterisointi Kevät 2016 Laboratoriotyöselostuksen laatiminen Työselostus tehdään kurssin ryhmätyöstä: Atomi/molekyylikerroskasvatuksella

Lisätiedot

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

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

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

T-76.115 Tietojenkäsittelyopin ohjelmatyö

T-76.115 Tietojenkäsittelyopin ohjelmatyö T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on jatkuvasti ajan tasalla pidettävä dokumentti johon luetellaan tiedostetut ongelmat ja niiden käsittelytilanne. Päivämäärä 8.2.2003 Projektiryhmä

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

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri Testausraportti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

Lisätiedot

HARJOITTELURAPORTIN KIRJOITUSOHJE Liiketalouden koulutusala HARJOITTELURAPORTIN KIRJOITUSOHJE

HARJOITTELURAPORTIN KIRJOITUSOHJE Liiketalouden koulutusala HARJOITTELURAPORTIN KIRJOITUSOHJE HARJOITTELURAPORTIN KIRJOITUSOHJE Liiketalouden koulutusala HARJOITTELURAPORTIN KIRJOITUSOHJE SISÄLTÖ 1 HARJOITTELURAPORTIN RAKENNE JA ULKOASU.. 3 1.1 Rakenne. 3 1.2 Ulkoasu 3 2 HARJOITTELUKERTOMUS.. 4

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

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Asdf Helsinki 22.2.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Kuisma Sami Louhio

Lisätiedot

ÄIDINKIELEN TEKSTITAIDON KOE

ÄIDINKIELEN TEKSTITAIDON KOE ÄIDINKIELEN TEKSTITAIDON KOE ERITASOISTEN SUORITUSTEN TUNTOMERKKEJÄ o pistettä vastaus ei täytä tehtävänantoa vastaus osoittaa, että kokelas ei ole ymmärtänyt lukemaansa vastauksessa ei ole tehtävän edellyttämiä

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

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

Toinen harjoitustyö. ASCII-grafiikkaa 2017

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

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

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

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

OHJELMOINNIN TYYLISÄÄNTÖJÄ

OHJELMOINNIN TYYLISÄÄNTÖJÄ Ohjelmoinnin tyylisääntöjä Sivu 1 OHJELMOINNIN TYYLISÄÄNTÖJÄ www.naturalprogramming.com Ohjelmointityylillä tarkoitetaan sääntöjä lähdekielisten ohjelmien kirjoittamiseen. Kääntäjähän hyväksyy varsin monella

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

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

Lisätiedot

Ohjelmoinnin perusteet, 1. välikoe

Ohjelmoinnin perusteet, 1. välikoe Ohjelmoinnin perusteet,. välikoe Nimi: Opiskelijanumero:.. 3. 4. Yhteensä Ohje: Ratkaise kaikki tehtävät. Lähdemateriaalia ja tietokonetta ei saa käyttää. Noudata ohjelmointitehtävissä Java-kielen vakiintuneita

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

Opinnäytetyön ulkoasu

Opinnäytetyön ulkoasu Opinnäytetyön ulkoasu Antti Leino Tampereen yliopisto Kieli-, käännös- ja kirjallisuustieteiden yksikkö Suomen kielen tutkinto-ohjelma Tutkielmaohje Syyskuu 2012 Tampereen yliopisto Suomen kielen tutkinto-ohjelma

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

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

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza Testaussuunnitelma Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma Versio 1.0 Ehdotus Laatija Raine Kauppinen VERSIOHISTORIA Versionotyyppi Versio- Päiväys Tekijä

Lisätiedot

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen

Lisätiedot

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

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

Lisätiedot

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Projektisuunnitelma KotKot Helsinki 22.9.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen

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

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

Lisätiedot

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus Projektisuunnitelma (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus Ville Toiviainen Tomi Tuovinen Lauri af Heurlin Tavoite Projektin tarkoituksena

Lisätiedot

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen Yksikkötestaus Kattava testaus Moduulitestaus Ohjelman testaus 1 Kattava testaus Testauksen perimmäinen tarkoitus on LÖYTÄÄ VIRHEITÄ Testaus pitäisi olla täydellinen: - Jokainen pyydetty arvo pitäisi testata

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

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

Matlabharjoitustyön ohjausta. ELEC-A3110 Mekaniikka / Sami Kujala

Matlabharjoitustyön ohjausta. ELEC-A3110 Mekaniikka / Sami Kujala Matlabharjoitustyön ohjausta ELEC-A3110 Mekaniikka / 11.10.2017 Sami Kujala Työn tavoitteet Tiedolliset tavoitteet Tutustua numeerisen laskennan ohjelmistoon (Matlab) Ratkaista fysikaalinen probleema Matlabin

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

HAJANAISIA AJATUKSIA DIPLOMITYÖSTÄ

HAJANAISIA AJATUKSIA DIPLOMITYÖSTÄ HAJANAISIA AJATUKSIA DIPLOMITYÖSTÄ 29.11.2013 Hannu Rantanen Professori hannu.rantanen@lut.fi Suunnittelu Diplomityön aiheidean jalostaminen työn tavoite rahoittajan kannalta aikataulu + alustava suunnitelma

Lisätiedot