OHJELMISTON ALUSTAN VAIHTO

Koko: px
Aloita esitys sivulta:

Download "OHJELMISTON ALUSTAN VAIHTO"

Transkriptio

1 Opinnäytetyö (AMK) Tietotekniikka Sulautetut ohjelmistot 2012 Samuli Sillsten OHJELMISTON ALUSTAN VAIHTO Unixista Linuxiin

2 OPINNÄYTETYÖ (AMK) TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tietotekniikka Sulautetut ohjelmistot Toukokuu s. Ohjaaja: TkL Jari-Pekka Paalassalo Samuli Sillsten OHJELMISTON ALUSTAN VAIHTO Tässä opinnäytetyössä toteutettiin ohjelmiston alustan vaihto. Työssä keskityttiin kääntäjän vaihtumisen tuomiin ongelmiin. Työn tarkoituksena oli kerätä lista ongelmista, joita ohjelmiston kääntämisen sekä testauksen aikana kohdattaisiin. Listaan kirjattiin myös ratkaisut näihin ongelmiin. Kun ohjelmisto saatiin käännettyä uudelle alustalle, asiakas aloitti testit. Asiakas kirjasi virheet niille erikseen varatulle sivustolle. Näiden virheiden lisäksi projektiryhmäläiset korjasivat sellaiset virheet, jotka heille tuli vastaan. Lopputuloksena saatiin lista virheistä sekä vaadittavista korjauksista. Lisäksi dokumentoitiin muutokset, joita kääntäjän vaihtuminen vaati make-tiedostoihin. ASIASANAT: Linux, Unix, alusta, ohjelmistoalusta, C++, kääntäjä, GCC, g++

3 BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Degree programme in Information Technology Embedded Software p. Instructor: M. Sc Jari-Pekka Paalassalo, Lic. Sc. (Tech.), Principal Lecturer Samuli Sillsten A PLATFORM CHANGE FOR SOFTWARE The subject of this thesis was to execute a platform change for software. This thesis concentrated on the problems that the change of compiler caused. The purpose of this thesis was to collect a list of problems and their solutions which the project group would encounter while compiling and testing software. After the software had successfully been compiled to a new platform the client started testing. The client posted the errors to a site reserved for them. In addition to these errors, the project group fixed the errors they encountered themselves. The result of the thesis was a list of errors and their solutions. In addition, there is a list of the changes that the change of compiler caused to makefiles. KEYWORDS: Linux, Unix, Software Platform, C++, Compiler, GCC, g++

4 SISÄLTÖ SANASTO 6 1 JOHDANTO 7 2 OHJELMISTO Esityskerros Logiikkakerros Datakerros 10 3 ALUSTA Alustan vaihdon syyt Vanha alusta Uusi alusta 11 4 KÄÄNTÄJÄ Käännöksen vaiheet Kääntäjän valinta 14 5 UUDEN ALUSTAN ASENNUS 16 6 KÄÄNTÄMINEN bittisyys Makefile-tiedostot Kooditiedostot 17 7 TESTAUS Tyhjän lukeminen For-silmukan toiminta 20 8 TULOKSET 21 9 YHTEENVETO 22 LÄHTEET 23

5 LIITTEET Liite 1. Tehdyt muutokset ja korjaukset KUVAT Kuva 1. Ohjelmiston rakenne 9 Kuva 2. Käännöksen vaiheet [8] 12

6 SANASTO EDI Varusohjelma Organisaatioiden välistä standardoitua tiedonsiirtoa. Varusohjelmat ovat atk-järjestelmien toteuttamista ja ylläpitoa varten, sekä koneiden ja tietoliikenteen käynnissä pitämiseen tarvittavia ohjelmia.

7 7 1 JOHDANTO Opinnäytetyön tarkoituksena on seurata ohjelmiston alustan vaihdon tuomia haasteita ja sitä kuinka ne ratkaistaan. Työtä tullaan mahdollisesti käyttämään apuna vastaavissa alustan vaihdoissa. Työn alussa tutustutaan alustan vaihdon kohteena olevaan ohjelmistoon ja sen toteutukseen. Tämän jälkeen käydään läpi tarpeet ja syyt, jonka vuoksi alusta vaihdettiin, sekä tutustutaan tarkemmin alustoihin. Työssä keskitytään kääntäjän vaihtumisen tuomiin ongelmiin. Jotta kääntämisen aiheuttamia ongelmia ymmärrettäisiin paremmin, käydään läpi hieman kääntäjän toimintaa. Työn tuloksena tullaan käymään läpi yleisimmät virhetyypit ja se mistä nämä johtuivat. Tarkoituksena on kerätä liitetiedostoon löydetyt virheet ja näiden korjaukset. Liitetiedostosta löytyy myös sellaiset muutokset, jotka kääntäjän vaihtuminen vaati. Vaadittavia muutoksia, jotka aiheutuvat kääntäjän vaihtumisesta, kutsutaan työssä virheiksi. Näitä ei kuitenkaan suoranaisesti voi lukea virheiksi, koska ohjelmisto on vanhalla kääntäjällä toiminut oikein.

8 8 2 OHJELMISTO Ohjelmiston kehitys on aloitettu vuonna 2000 ja sen tuotantokäyttö on alkanut vuonna Ohjelmisto hallinnoi satamaoperaattorin tavaran kulkua ja sen raportointia sekä hoitaa myös laskutustiedot laskutusohjelmalle. Ohjelmistoa on päivitetty ja ylläpidetty vuosien varrella. Suurin viime aikana tullut päivitys on tuonti-puolen lisääminen järjestelmään helmikuussa Tätä ennen ohjelmisto hallinnoi vain lähtevää tavaraa. [1] Ohjelmistoon kuuluu sataman tilausohjelma (SATI), jolla lähetetään ja vastaanotetaan EDI-sanomia ja hallitaan tulosteiden käsittelyä. SATIn toteutus vastaa itse ohjelman toteutusta ja käsipäätteillä toimiva osa käyttää samoja palveluita kuin Windows-osa, eikä näin ollen ole tarvetta kohdistaa virheitä. [1] Pääasiallisena ohjelmointikielenä ohjelmistossa on käytetty C++:aa. Tietokannat on toteutettu Oraclen tietokantoina. Koodirivejä ohjelmistossa on yhteensä noin 1,75 miljoonaa, joista riviä on Delphi-koodia. Niin liittymistä kutsuttavia BL-palveluita kuin tietokantapalveluitakin on ohjelmistossa lähes tuhat. [1] Ohjelmisto on toteutettu kolmikerrosarkkitehtuurilla, eli ohjelmisto koostuu esityskerroksesta, logiikkakerroksesta ja datakerroksesta [2]. Välikerrosohjelmistona on käytetty Tuxedoa. Tuxedo hoitaa eri kerrosten ja ohjelmiston osien välisen tiedonkulun [3]. Kuvasta 1 selviää ohjelmiston rakenne.

9 9 Kuva 1. Ohjelmiston rakenne 2.1 Esityskerros Esityskerros koostuu kahdesta eri käyttöliittymästä ja noin kolmestakymmenestä muusta liittymästä. Käyttöliittyminä toimivat Windows ja Unix. Windowskäyttöliittymä on toteutettu Borland Delphillä. Delphillä on myös ohjelmoitu näytöille sellaista toiminnallisuutta, joka ei vaadi lisätietojen hakua tietokannoista. Unix-käyttöliittymään otetaan yhteys taljareiden käsipäätteillä. Muista liittymistä löytyy esimerkiksi asiakkaille tarkoitetun internet-pohjaisen ennakkotietojen syöttöjärjestelmän käyttämä liittymä sekä graafisen konttiohjelmiston käyttämä liittymää. 2.2 Logiikkakerros Logiikkakerros on toteutettu kahdessa tasossa: BL-palvelut, joita kutsutaan näytöltä, ja BL-luokat, jotka sisältävät ohjelmalogiikan. BL-palveluissa kutsutaan

10 10 luokkia ja metodeita, jotka sijaitsevat BL-luokissa. Näin pidetään BL-palvelut siistinä ja lisätään uudelleenkäytettävyyttä. BL-luokiin on ohjelmoitu ohjelmiston toiminnallisuus. BL-luokista kutsutaan datakerroksen tietokantapalveluita, joiden avulla tehdään haut, tarkastukset ja päivitykset. 2.3 Datakerros Datakerros koostuu erinäisistä tietokantapalveluista. Haut, listahaut, päivityspalvelut ja poistopalvelut ovat näistä yleisimmät. Sql-haut on toteutettu pääosin automaattihakuina mutta erikoisempia ja harvinaisia tapauksia varten on käytetty manuaalihakuja.

11 11 3 ALUSTA Alustalla tarkoitetaan laitteistoa ja ohjelmistoliittymiä, jotka mahdollistavat ohjelmistojen suorittamisen. Tyypillisesti alustaan sisältyy laitteisto, käyttöjärjestelmä, ohjelmointikieli sekä käyttöliittymä. [4] Alusta on tärkeä osa ohjelmistokehityksessä, koska sen valinnan mukaan määräytyy muut mahdollisesti käytettävät varusohjelmat. [4] 3.1 Alustan vaihdon syyt Ohjelmiston alustan vaihdolle on useita syitä. HP-UX alustaa ei enää päivitetä eikä se näin ollen tue uusimpia Tuxedon versioita. Myös Tuxedon lisenssit ovat kalliimmat HP-UX:lle kuin Linuxille. Koska Tuxedon lisenssit ovat prosessorien core kohtaisia, tarvitaan uudemmalla 64-bittisellä alustalla paljon vähemmän lisenssejä. Lisäksi alustan vaihdolla haluttiin taata arkkitehtuurin mahdollisimman hyvä jatkuvuus. [5] [6] 3.2 Vanha alusta Vanhana alustana toimiva HP-UX on HP:n versio UNIX-käyttöjärjestelmästä. Alustalla on käytetty Tuxedon versiota 7 ja kääntäjänä on käytetty ac++:n versiota A Tulostuspalveluissa käytetään Adoben JetFormia. 3.3 Uusi alusta Uudeksi alustaksi tulee Intel Xeon 64-bittisellä prosessorilla varustettu kone, jolle asennetaan SUSE Linux Enterprise Server 11 SP1 -käyttöjärjestelmä. Koneelle asennetaan Tuxedon versio 11gR1. Kääntäjänä käytetään GNU kääntäjä g++:n versiota 4.3. Tietokannat on sijoitettu omille tietokantapalvelinkoneilleen, eikä näin ollen tietokantoihin tule päivityksiä. [6]

12 12 4 KÄÄNTÄJÄ Kääntäjä on tietokoneohjelma, joka kääntää ohjelmointikoodia tietokoneen ymmärtämään binäärimuotoon. Toisin sanoen kääntäjä siis mahdollistaa ihmiselle ymmärrettävän koodin kirjoittamisen. [7] 4.1 Käännöksen vaiheet Kuvassa 2 on kuvattu kääntäjän toiminta ja sen suorittamia toimenpiteitä. Kaikki kääntäjät eivät välttämättä käy joka vaihetta läpi. Kuva 2. Käännöksen vaiheet [8] Leksikaalianalyysistä (Lexical Analyzer) ja syntaktisesta analyysistä (Syntactic Analyzer) voidaan käyttää yhteisnimeä jäsennys. Ensimmäisessä vaiheessa,

13 13 leksikaalianalyysissä, lähdekoodi pilkotaan merkityksellisiksi symboleiksi säännöllisten lausekkeiden kieliopin mukaan. Esimerkiksi (tasku)laskinohjelma selaa syötettyjä näppäilyjä "12*(3+4)^2" ja pilkkoo sen tokeneiksi: 12, *, (, 3, +, 4, ), ^, ja 2. Kukin on merkityksellinen symboli aritmeettisen lauseen kontekstissa. Jäsentimessä voi olla sääntö, että merkit *, +, ^, ( ja ) ovat uuden tokenin aloitusmerkkejä. Siten merkityksettömiä tokeneita, kuten 12* tai (3, ei generoida. [9] Jäsennyksen toisessa vaiheessa tarkistetaan, että tokenit muodostavat hyväksyttävän lausekkeen. Tämä tehdään tavallisesti kontekstivapaiden kielioppien kanssa. Ne määrittelevät rekursiivisesti komponentit, jotka voivat muodostaa lausekkeen ja missä järjestyksessä niiden on esiinnyttävä. [9] Semanttisessa analyysissä tutkitaan ilmaisujen merkityksen järkevyyttä. Toisin sanottuna semanttisessa analyysissä tutkitaan muuttujien ja aliohjelmien tyypit, kontrollivuo sekä nimien oikeaa käyttöä. [10] Koodin generointivaiheessa tapahtuu itse käännös. Tässä vaiheessa muutetaan koodi tietokoneen ymmärtämään muotoon. [8] Viimeinen vaihe on optimointi. Nykypäivän optimoivat kääntäjät ovat hyvin tehokkaita optimoimaan koodia. Usein on viisasta jättää koodin viritys kääntäjän huoleksi. Tarkastellaan tätä esimerkin avulla. Oletetaan, että haluttaisiin ohjelman laskevan kaksiulotteisen taulukon alkiot yhteen. Tarkastellaan ensin suoraa ja helppoa tapaa toteuttaa tämä, jonka jälkeen käydään läpi esimerkki, kuinka optimointi voitaisiin toteuttaa. Koodiesimerkissä 1 on yksi, ja varmasti hyvin yleinen, toteutus tapa tällaiselle toiminnallisuudelle. [11]

14 14 Koodiesimerkki 1. Lasketaan taulukon alkiot yhteen for-silmukoissa [11] Koska taulukon alkiot sijaitsevat fyysisessä muistissa peräkkäisissä muistiosoitteissa, voidaan koodia optimoida käymällä muistiosoitteet peräkkäin läpi osoitinmuuttujan avulla. Koodiesimerkissä 2 on optimoitu koodi. [11] Koodiesimerkki 2. Lasketaan taulukon alkiot yhteen osoitinmuuttujaa apuna käyttäen [11] Jos nämä kaksi esimerkkiä kääntäisi ja suorittaisi, saataisiin samanlaisia suoritusaikoja, koska kääntäjä itse optimoisi koodin kuvassa 3 esitetyllä tavalla. Tämän kaltaisten optimointien teko olisi siis pelkästään ajan hukkaa oikeaa ohjelmaa ohjelmoidessa. 4.2 Kääntäjän valinta Kääntäjän valintaan voi vaikuttaa moni tekijä. Jokaiselle ohjelmointikielelle on olemassa omat kääntäjänsä. Tästä syystä tuleekin ensin tutustua kääntäjävaihtoehtoihin, joita valitulle kielelle on. Toiseksi kääntäjän valintaan vaikuttaa käytettävä alusta. Kaikki kääntäjät eivät toimi kaikilla alustoilla, joten alusta tulee tietää ennen kääntäjän valintaa. [12]

15 15 Hinta on yksi alustan valintaan vaikuttavista tekijöistä. Kannattaa valita maksuton kääntäjä, mikäli tämä vain on mahdollista. Lisäksi työpaikka tai muu ryhmä, jossa työskentely tapahtuu, voi määrätä tietyn kääntäjän käytöstä. [12]

16 16 5 UUDEN ALUSTAN ASENNUS Uuden alustan asennus tapahtui kolmannen osapuolen toimesta ja se suoritettiin suoraan asiakkaan omalle koneelle. Ennen käännöksien aloittamista ryhmälle jäi Tuxedon palvelin sekä openssl-kirjaston asentaminen. Näissä kummassakaan ei tullut mitään tavallisuudesta poikkeavaa vastaan. Lisäksi Tuxedon asetukset piti määrittää ja luoda Linuxille käyttäjätunnukset. [1]

17 17 6 KÄÄNTÄMINEN Kääntäminen päätettiin toteuttaa kokeilemalla, koska projektiryhmällä ei ollut aiheesta aiempaa kokemusta. Aina yhden ongelman ratkettua koitettiin kääntämistä uudestaan ja alettiin selvittää, mistä seuraava virheviesti johtui. Näin toimittiin, kunnes ohjelma saatiin kääntymään ongelmitta bittisyys Uuden alustan 64-bittisyys aiheutti suuren osan ongelmista. Aluksi Oracle oli asennettuna sekä 32- että 64-bittisenä. Käännös ei kuitenkaan onnistunut, joten Oracle jouduttiin asentamaan uudestaan ainoastaan 32-bittisenä. 6.2 Makefile-tiedostot Vanhoja Makefile-tiedostoja päätettiin käyttää ja tehdä muutokset niihin. Koska kääntäjä oli muuttunut, piti se ilmoittaa Makefile-tiedostoille. Kääntäjän vaihtumisen myötä acc-kääntäjän komento +O1, jolla säädetään optimoinnin tasoa, piti poistaa, koska kyseistä komentoa ei g++:ssa ole. Makefile-tiedostossa tuli ilmoittaa, että käännöksestä haluttiin 32-bittinen, koska muuten kääntäjä käänsi tiedostot 64-bittisiksi. Joissain Makefile-tiedostoissa oli turhia komentoja. Ennen hyödyttömät komennot estivät nyt tiedostojen kääntymisen. Komennot $(ORALIBS) ja lsql poistettiin näistä tiedostoista. 6.3 Kooditiedostot Kooditiedostoissa oli kohtia, jotka estivät kääntymisprosessin. Tällaisia olivat ainakin kirjastojen muuttuneet nimet, esim. iostream.h -> iostream. Lisäksi ongelmia aiheutti acc-kääntäjän ominaisuus, joka toimi C++:n sääntöjen vastai-

18 18 sesti. acc-kääntäjä määritteli for-silmukan kierroslaskurin ylemmälle tasolle ja muuttujaa pystyi käyttämään for-silmukan jälkeenkin. Tämä ongelma ratkaistiin esittelemällä muuttuja yleisesti ennen ensimmäistä silmukkaa, jossa sitä käytettiin. Koodiesimerkissä 3 on esitettynä vanha ja uusi toteutus. Koodiesimerkki 3. For-silmukka Vanhalla toteutuksella: for(int i = 0; i < Lista.GetCount(); i++) { total += i; } printf("i:n arvo: %ld\n", i); for(i = 0; i < total; i++) { total2 += i; } Korjattu: int i = 0; for(i = 0; i < Lista.GetCount(); i++) { total += i; } printf("i:n arvo: %ld\n", i);... Lauseen using namespace std; lisääminen vaadittiin muutamaan tiedostoon. Syitä, miksi g++-kääntäjä vaati lauseen lisäämisen ja acc oli toiminut ilman, ei tutkittu.

19 19 7 TESTAUS Kun tiedostot oli saatu käännettyä ja ohjelmisto käyntiin uudella alustalla, ohjelmisto testattiin. Alustan muuttumisen jälkeen tuli testata jokainen ominaisuus, jonka ohjelmisto sisälsi. Ohjelmiston laajuuden vuoksi testaamista oli hyvin paljon. Testattavien tapausten suuren määrän vuoksi asiakas suoritti testauksen, mikä mahdollisti ryhmän keskittymisen löydettyjen virheiden korjaamiseen. Suurin osa virheistä kaatoi palvelun, ja ne olivat näin ollen helppo todeta, mutta ohjelmistossa oli myös virheitä, jotka eivät yhtä selvästi tulleet esille. Testauksissa löydettiin lisäksi virheitä, jotka eivät johtuneet alustan vaihtumisesta. Näihin virheisiin ei tässä työssä kiinnitetä huomiota. 7.1 Tyhjän lukeminen Ehdottomasti suurimman osan virheistä aiheutti tyhjän lukeminen. Nämä virheet olivat joko listan ensimmäisestä alkiosta tiedon lukeminen tai tyhjän char*- muuttujan käsittely. Listojen ensimmäisestä alkiosta lukeminen korjattiin tarkastamalla, oliko listanssa yhtään alkiota, ennen kuin luettiin ensimmäistä alkiota. Niissä kohdissa, joissa ensimmäisen alkion lukeminen tapahtui vanhoissa tarkastustulosteissa, poistettiin rivi tai kommentoitiin rivi pois. Koodiesimerkissä 4 on lisätty tarkastus ennen ensimmäisestä alkiosta tiedon lukemista. Koodiesimerkki 4. Listan tarkastus ennen lukua int luku = 0; if(lista.getcount() > 0){ // Lisätty tarkistus // Nyt tiedetään ettei lista ole tyhjä. // Voidaan lukea ensimmäisestä alkiosta luku = Lista[0].GetValue(); printf( Listan alkion arvo: %ld\n, Lista[0].GetValue()); }

20 20 char*-muuttujien käsittelyssä tarkastettiin, oliko char*-muuttujan arvo eri kuin nolla, minkä jälkeen voitiin tarkastaa esim. pituus. Vaikka korjaus oli yksinkertainen, oli joissain tiedostoissa samaa virhettä hyvin paljon ja monen if-, for- tai while-lauseen sisällä. Tästä syystä joissain tapauksissa virheen löytäminen oli ongelmallista. Mistään ei myöskään pystynyt tarkistamaan, mikä kohta tarkalleen aiheutti virheen. Virheen sijainti piti päätellä viimeisestä tulosteesta ennen palvelun kaatumista tai seurata koodia virheen löytymiseksi. Tässä kohtaa olisi ollut mahdollista käyttää virheiden jäljittäjä, mutta niitä ei haluttu, koska ne olisivat estäneet samanaikaisen testaustoiminnan. 7.2 For-silmukan toiminta For-silmukan käyttö tietokantapalveluiden hakujen tulosten läpikäynnissä kaatoi palvelun. Tämän virheen löytäminen oli ongelmallista, koska kohta oli ennen toiminut oikein eikä kääntäjä antanut virheilmoitusta siitä. Pääasiassa vastaavat kohdat oli toteutettu while-silmukalla, mutta muutamassa kohtaa oli käytetty forsilmukkaa (Koodiesimerkki 5). Koodiesimerkki 5. Tietokantahaun tulosten läpikäyminen table.movefirst(); /*for( ;! table.iseof();table.movenext()){ tietokantalista.addtolist((void*)&table); }*/ while(!table.iseof()){ tietokantalista.addtolist((void*)&table); table.movenext(); } Esimerkissä näkyy, kuinka for-silmukalla toteutettu osa on kommentoitu pois ja korvattu vastaavalla while-silmukalla. Päällisin puolin for-silmukalla tehdyn toteutuksen pitäisi tehdä sama kuin while-silmukalla. Asiaa ei kuitenkaan lähdetty sen enempää tutkimaan, vaan todettiin, että on nopeampaa korjata virheelliset toteutukset.

21 21 8 TULOKSET Alustan vaihdon työmäärä yllätti suuruudellaan niin asiakkaan kuin projektiryhmänkin. Koska Linux on Unixin kaltainen käyttöjärjestelmä, odotettiin koodin kääntymisen ja toimintaan saamisen vaativan huomattavasti vähemmän työtä kuin se todellisuudessa aiheutti. [5] Korjattuja virheitä ei kirjattu, joten ei ole tietoa, kuinka monta virhettä on korjattu. Virheitä ei kirjatt,u koska jotkut projektiryhmäläiset tekivät projektia toisten projektien ohessa. Toinen syy tähän on se, että vaikka asiakas suoritti testit, projektiryhmäläiset korjasivat virheitä, joita heille tuli itselleen vastaan niitä mihinkään kirjaamatta. Projektin myötä selvisi hyvin, kuinka erilaisia kääntäjät voivat olla. Vaikka kieli ja lopputulos on määritelty, ei kääntäjille ole määritelty, kuinka lopputulokseen tulee päästä. Tästä syystä kääntäjät voivat erota toisistaan. Esimerkiksi muuttujien muistipaikkojen käsittelyn erilaisuus aiheutti paljon virheitä.

22 22 9 YHTEENVETO Tässä työssä toimittiin osana ohjelmiston alustan vaihdon suorittavaa projektiryhmää ja seurattiin alustan vaihdon kulkua. Virheitä tulee varmasti vielä löytymään lisää, kun uutta alustaa aletaan käyttää tuotannossa. Alustan vaihto ennen ohjelmiston testauksen aloittamista sujuin hyvin. Ensimmäiset ongelmat tulivat esille vasta sitten, kun ohjelmistoa käännettiin. Näistä ongelmista suurin osa aiheutui uuden alustan 64-bittisyydestä. Suurin osa testaamisvaiheen aikana ilmenneistä virheistä johtui huonoista ohjelmointitavoista. Esimerkiksi listaa luettaessa tulee aina muistaa tarkistaa, ettei lista ole tyhjä. Koska ohjelmisto on vanha ja hyvät ohjelmointitavat ovat yleistyneet, on oletettavissa, että mitä uudempi ohjelmisto on, sitä helpommin onnistuu alustan vaihto. Tämä on kuitenkin vain olettamus, eikä mahdollisia työmääräarviota voida laskea sen mukaan.

23 23 LÄHTEET 1. Sivonen, Ville, henkilökohtainen keskustelu, Three Layer Architecture in C#.NET, [Verkkodokumentti]. Saatavilla: (luettu ) 3. Middleware, [www-dokumentti]. Saatavilla: (luettu ) 4. Computing platform, [www-dokumentti]. Saatavilla: (luettu ) 5. Asiakas, henkilökohtainen keskustelu, Asiakkaan oma esiselvitys, (luettu ) 7. Ohjelmointikielen kääntäjä, [www-dokumentti]. Saatavilla: (luettu ) 8. Compilers and Translators, [www-dokumentti]. Saatavilla: (luettu ) 9. Jäsennys, [Verkkodokumentti]. Saatavilla: (luettu ) 10. Semanttinen analyysi, [www-dokumentti]. Saatavilla: (luettu ) 11. Ohjelmointikielten ja kääntäjien vaikutukset ohjelman suorituskykyyn, [wwwdokumentti]. Saatavilla: (luettu ) 12. What are the differences between C++ compilers?, [www-dokumentti]. Saatavilla : (luettu )

24 Liite 1/1 (2) Tehdyt muutokset ja korjaukset Tälle liitteelle on kerätty luettelomaisesti tehdyt muutokset ja korjaukset Makefile-tiedostot Lista muutoksista jotka tehtiin Makefile-tiedostoihin Muutos Vaikutus Lisätiedot Tuxedon version muutos Ei löytänyt tuxedoa TUXDIR=/progs/tuxedo/7.1-> TUXDIR=/app/tuxedo11 Kääntäjän muutos Ei löytänyt kääntäjää CC=aCC -> CC=g++ acc:n optimoinnin Ei kääntynyt +O1\ poistettu komento pois Kääntö 32-bittiseksi Ei toiminut 64-bittisenä -m32 komennolla Turhat komennot pois Ei kääntynyt $(ORALIBS) ja lsql poistettu Muut tiedostot Tässä kohdassa käsitellään muut virheet jotka estivät kääntymisen, kaatoivat palvelun tai aiheuttivat ohjelman toimimattomuuden. Alla lista virheistä Ongelma Kuvaus ongelmasta Vaikutus Korjaus Peruskirjastojen nimet Joidenkin peruskirjastojen nimet olivat muuttuneet Ei kääntynyt Muutettu: iostream.h -> iostream fstream.h -> fstream string.h -> string nimiavaruus Vaadittiin using namespace Ei kääntynyt Lisätty ko. lause ltd; ltoa functio Funktio puuttui Ei kääntynyt Koodattu itse vastaava funktio samalla nimellä

25 Liite 1/2 for-silmukan kierroslaskurin esittely Tyhjien lukeminen char* muuttujan käsittely Muuttujien esittely Tuxedolle acc-kääntäjällä toimi C++:san sääntöjen vastaisesti, muuttuja säilyi silmukan jälkeen Luettiin listan ensimmäisestä alkiosta, käsiteltiin tyhjää muuttujaa tyhjän char* muuttujan käsittely, esim pituuden tarkistus (strlen(tyhjä char*)) Jotkut char*-muuttujat esiteltiin liian lyhyinä Ei kääntynyt Esitelty muuttuja ennen for-silmukkaa mahdollistaen sen käytön myöhempänä Kaatoi palvelun Tarkistus ettei ole tyhjä ennen lukua Kaatoi palvelun Tehty omia funktioita, tarkistettu ennen käyt- tämistä onko char* tyhjä Kaatoi palvelun Lisätty muuttujien pituutta printf- Annetaan vähemmän Kaatoi pal- Kommentoitu tulostus tulostaminen parametreja kuin odote- velun pois tai korjattu taan for-silmukan Tietokantapalvelun haun Kaatoi pal- Vaihdettu toteutus whi- käyttö tulosten läpikäynnissä velun le-silmukkaan Viittausmuuttu- Toimivat erikoisesti Toimi väärin Muutettu toteutusta jat / Ei toiminut Moniperinnän Koodeja ei löytynyt Toimi väärin Kopioitu koodit header- puuttuminen / Ei toiminut tiedostoihin Set-metodin Kun parametriksi annettiin Toimi väärin Poistettu turhana. Set- käyttö saman muuttujan Get- / Ei toiminut metodi tyhensi itsensä metodi ennen asetusta, eli tyhjensi myös mitä oltiin asettamassa. char*- Mikäli metodi palautti Toimi väärin Lisätty static, Muuttu- pa- muuttujan lautus char*-muuttujan piti se määritellä staticmuuttujaksi / Ei toiminut jan muistialue vapautetaan ennen kuin se palautetaan kutsuvalle metodille.

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

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

Lisätiedot

Kääntäjän virheilmoituksia

Kääntäjän virheilmoituksia OHJ-1101 Ohjelmointi 1e 2008-09 1 Kääntäjän virheilmoituksia Kun progvh2 ohjelma käännetään antaa tutg++ seuraavat virheilmoitukset ja varoitukset: proffa> tutg++ progvh2.cc progvh2.cc:29:13: warning:

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

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

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

2 Konekieli, aliohjelmat, keskeytykset

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

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä olevilla komponenteilla? Voisiko jollakin ohjelmointikielellä

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

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

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin. TIETOKANTA MERIKOTKIEN SEURANTAAN Käyttöohje Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 11.12.2007 Ensimmäinen luonnos Janne Piippo 2.0 13.12.2007 Virallinen verio Janne Piippo HELSINGIN YLIOPISTO

Lisätiedot

HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus)

HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus) HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus) Microsoft Windows Vista Business Microsoft Winodows 7 Professional Upgrade

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

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

Lisätiedot

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

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

Lisätiedot

SQL Server 2005 Express Edition tietokannan asennusohje

SQL Server 2005 Express Edition tietokannan asennusohje 1 SQL Server 2005 Express Edition tietokannan asennusohje SQL Server 2005 Express Edition on Microsoftin tietokantaohjelmiston ilmaisversio. Asennukset tulee tehdä käyttäjätunnuksella, jolla on administrator-oikeudet.

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Asteri Vuokrankanto (Dos) Vuosipäivitys 1.11.2007

Asteri Vuokrankanto (Dos) Vuosipäivitys 1.11.2007 Asteri Vuokrankanto (Dos) Vuosipäivitys 1.11.2007 Päivityksen asentaminen... 4 Vista... 6 Uuteen koneeseen siirtäminen... 7 - pikakuvake työpöydälle... 9 Tulostusongelmat uusissa koneissa... 12 - Tulostaminen

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska

Lisätiedot

Käytin tehtävän tekemiseen Xubuntu 13.04 -käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Käytin tehtävän tekemiseen Xubuntu 13.04 -käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta. Tehtävänanto - Asenna ja testaa LAMP - Aiheuta vähintään 3 virhettä ja analysoi lokista - Tee nimipohjainen virtuaalipalvelin, joissa toimii myös www. (Karvinen, T. 23.09.2013) Työympäristö Tein tehtävän

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

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

Lisätiedot

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

Datatähti 2009 -alkukilpailu

Datatähti 2009 -alkukilpailu Datatähti 2009 -alkukilpailu Ohjelmointitehtävä 1/3: Hissimatka HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Joukko ohjelmoijia on talon pohjakerroksessa, ja he haluavat

Lisätiedot

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: KERTAUSTEHTÄVIÄ Tietue Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: struct henkilotiedot char nimi [20]; int ika; char puh [10]; ; Edellä esitetty kuvaus määrittelee

Lisätiedot

Opponointitestaus VYM -> LiKe 29.03.2001

Opponointitestaus VYM -> LiKe 29.03.2001 Opponointitestaus VYM -> LiKe 29.03.2001 Opponoinnin testitapaukset Opponoinnin testitapaukset on pääosin suoritettu loggautumalla sisään käyttäjällä Minna Reino, joka on I -käyttäjä After Sales-projektissa.

Lisätiedot

Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt

Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt Dedicated to Your Success. Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt Puitesopimustoimittaja Pasi Parkkonen Director, Citrus Solutions Oy pasi.parkkonen@citrus.fi 040-5905307

Lisätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TESTIRAPORTTI LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001 Tekijä:

Lisätiedot

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma 5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma Every cloud has a silver line. - englantilainen sananlasku Tässä osiossa tärkeää: yksi- ja moniulotteinen taulukko Sisältö Yleistä Yksiulotteinen

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

T 76.115 Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

T 76.115 Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi Hirviö Projektikatselmointi Mikä Hirviö on? Hajautettu muistikirja Professoreille Muistiinpanoja keskusteluista opiskelijan kanssa Diplomitöiden ja jatko opintojen seuranta Raportointi Opetushenkilökunnalle

Lisätiedot

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011 1 Joonas Ruotsalainen GIT PIKAOPAS Tutkielma 2011 2 SISÄLTÖ 1. JOHDANTO... 3 2. ASENTAMINEN... 4 3. KÄYTTÖ... 4 3.1 Perusasetukset... 4 3.2 Git:n ottaminen käyttöön projektissa... 5 3.3 Tiedostojen lisääminen

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

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

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

WINE API ja Virtualisointiohjelmistot

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

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Toukokuu 2013 1 (10) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Päivitysohje Copyright Aditro 2013 Toukokuu 2013 2 (10) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Harjoitustyö 3 - Millosemeni

Harjoitustyö 3 - Millosemeni Harjoitustyö 3 - Millosemeni Tampereen kaupunki tarjoaa avoin data -sivuillaan Tampereen joukkoliikenteen aikataulut, reitit sekä rajapinnan joukkoliikenteen reaaliaikaiseen seurantaan. Näinpä erilaisille

Lisätiedot

Qt kaikkialla? 9.4.2010

Qt kaikkialla? 9.4.2010 Qt kaikkialla? Helsinki Tammasaarenkatu 5, 00180 Helsinki, Tel. 09 431 551 Tampere Satakunnankatu 18, 33210 Tampere, Tel. 03 315 861 Turku Lemminkäisenkatu 32 A, 20520 Turku, Tel. 02 263 571 Qt Qton C++

Lisätiedot

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

Lisätiedot

Webforum. Version 14.3 uudet ominaisuudet. Viimeisin päivitys: 2014-09-14

Webforum. Version 14.3 uudet ominaisuudet. Viimeisin päivitys: 2014-09-14 Webforum Version 14.3 uudet ominaisuudet Viimeisin päivitys: 2014-09-14 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Yleistä & hallinnointi... 5 Käyttäjien tuonti toiselta alustalta... 5 Uusi sisäänkirjautumisen

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

Mitä Uutta - SURFCAM V5.1 Sisällysluettelo

Mitä Uutta - SURFCAM V5.1 Sisällysluettelo VER CAD/CAM Software with world class precision and control... Mitä uutta Mitä Uutta - SURFCAM V5.1 Sisällysluettelo 1) Parannettu muistinhallinta 32 ja 64 bitin järjestelmissä 3 2) Konesimulointi Optio

Lisätiedot

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5

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

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

11.4. Context-free kielet 1 / 17

11.4. Context-free kielet 1 / 17 11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä

Lisätiedot

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

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

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU

KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN FYSIIKAN, KEMIAN JA MATEMATIIKAN XXIII KILPAILUN OSANA 23.1.2014 Huom: Tehtävä

Lisätiedot

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

Lisätiedot

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto VMS-, Alpro- tai DelProtuotannonohjausjärjestelmästä Ammuohjelmistoon 5/2014 Asennettavat ohjelmat ja versiot VMS-Management

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

Käyttöoppaasi. F-SECURE PSB E-MAIL AND SERVER SECURITY http://fi.yourpdfguides.com/dref/2859688

Käyttöoppaasi. F-SECURE PSB E-MAIL AND SERVER SECURITY http://fi.yourpdfguides.com/dref/2859688 Voit lukea suosituksia käyttäjän oppaista, teknisistä ohjeista tai asennusohjeista tuotteelle F-SECURE PSB E-MAIL AND SERVER SECURITY. Löydät kysymyksiisi vastaukset käyttöoppaasta ( tiedot, ohjearvot,

Lisätiedot

Uuden työ- tai mittavälineen luominen tietokantaan

Uuden työ- tai mittavälineen luominen tietokantaan Sivu:1(12) Työ- ja mittaväline-tietokanta löytyy serveriltä APPL14.DE.ABB.COM/SRV/ABB Tarvitset read-oikeudet tietokannan tarkasteluun ja editor mainusers-oikeudet tietokannan muokkaukseen. Jos tarkoituksenasi

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen FiSMA 1.1 Monikerrosarkkitehtuuri 1 (6) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

SQL Server 2008 asennus

SQL Server 2008 asennus SQL Server 2008 asennus 1. Yleistä... 3 2. Edellytykset... 3 3. SQL Server 2008 Express asennus... 4 4. Yhteystiedot... 6 2/6 1. YLEISTÄ Tässä ohjeessa käydään vaiheittain Microsoft SQL Server 2008 tietokantaohjelmiston

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Aditro Tikon ostolaskujen käsittely versio 6.2.0 Lokakuu 2012 1 (9) Aditro versio 6.2.0 Päivitysohje Lokakuu 2012 2 (9) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Aditro Pankkipalvelut yhteensopiva

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Kristopher Vuorela UBUNTUN ASENNUS JA ALKEET 206101312 Linux järjestelmät Lukukausi: Kevät 2015 Työ valmistui: 15.04.2015

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

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

Lisätiedot

Harjoitustyö: virtuaalikone

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti Järjestelmäprojekti 1 projektisuunnitelma ICT4TN007-2 SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti Versio 0.1 Tekijät Keijo Nykänen Tarkastanut Hyväksynyt HAAGA-HELIA

Lisätiedot

Fiscal Media Server STD ohje

Fiscal Media Server STD ohje Fiscal Media Server STD ohje 1. Johdanto 2. Ohjelmien käyttöoikeudet 3. Fiscal Media Server STD 4. Ongelmia käyttöönotossa 5. Esimerkkejä 1. Johdanto Nämä ohjeet ovat tarkoitettu Fiscal Media Server STD

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

Fakta versio 5.3.0.1069 Forecast versio 1.3.0.53

Fakta versio 5.3.0.1069 Forecast versio 1.3.0.53 1 (7) Fakta versio 5.3.0.1069 versio 1.3.0.53 Ohessa on luettelo uusista ja muuttuneista toiminnoista ja ominaisuuksista version x.2.1 jälkeen. Porautuminen saldoista tapahtuariveille.. Jako on mahdollista

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Asteri Laskutus (Dos)

Asteri Laskutus (Dos) Asteri Laskutus (Dos) Vuosipäivitys 3.11.2007 Päivityksen asentaminen... 4 Uudelle koneelle siirtäminen... 6 - pikakuvake Vistan työpöydälle... 7 Tulostaminen kun tulostaminen ei onnistu... 11 - tulostaminen

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

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

Lisätiedot

BL40A1810 Mikroprosessorit, harjoitus 1

BL40A1810 Mikroprosessorit, harjoitus 1 BL40A1810 Mikroprosessorit, harjoitus 1 Käytettävä laitteisto Kurssin opetuslaitteistona käytetään Legon MINDSTORMS laitteita, jonka pääosia ovat ohjelmoitava NXT-yksikkö (Atmel ARM7, 64k RAM, 256k Flash),

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Toukokuu 2014 1 (11) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Päivitysohje Toukokuu 2014 2 (11) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku...

Lisätiedot

Korkeakoulujen kansallinen julkaisuportaali. OKM:n bibliometriikkaseminaari, 11.3.2013 Jyrki Ilva (jyrki.ilva@helsinki.fi)

Korkeakoulujen kansallinen julkaisuportaali. OKM:n bibliometriikkaseminaari, 11.3.2013 Jyrki Ilva (jyrki.ilva@helsinki.fi) Korkeakoulujen kansallinen julkaisuportaali OKM:n bibliometriikkaseminaari, 11.3.2013 Jyrki Ilva (jyrki.ilva@helsinki.fi) OKM:n tiedonkeruu ja raportointiportaali Yliopistojen julkaisutiedot (v. 2011 lähes

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

sivu 1 SURFCAM V5 JÄRJESTELMÄN VAATIMUKSET

sivu 1 SURFCAM V5 JÄRJESTELMÄN VAATIMUKSET sivu 1 Minimi: Käyttöjärjestelmä: Windows XP Service Pack 3 Prosessori: Duo Core II tai nopeampi Muisti: 2 GB RAM Kovalevytila: 1 GB vapaana DVD asema Näytönohjain: 512 MB näyttömuistia. DirectX 9.0c tai

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

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

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

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

Lisätiedot

Visma Econet -ohjelmat ActiveX on epävakaa -virheilmoituksen korjausohjeet

Visma Econet -ohjelmat ActiveX on epävakaa -virheilmoituksen korjausohjeet 1 Visma Econet -ohjelmat ActiveX on epävakaa -virheilmoituksen korjausohjeet Microsoft on julkaissut Office-paketteihin tietoturvapäivitykset. Seuraavat päivitykset aiheuttavat Visma Econet -ohjelmissa

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

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