S60-ohjelmistoalustaisen älypuhelimen Java-ohjelmointi. Älypuhelimen kameran ja GPS-moduulin hallinta.

Koko: px
Aloita esitys sivulta:

Download "S60-ohjelmistoalustaisen älypuhelimen Java-ohjelmointi. Älypuhelimen kameran ja GPS-moduulin hallinta."

Transkriptio

1 Petja Laitila S60-ohjelmistoalustaisen älypuhelimen Java-ohjelmointi. Älypuhelimen kameran ja GPS-moduulin hallinta. Opinnäytetyö Tietotekniikan koulutusohjelma Lokakuu 2007

2 KUVAILULEHTI Opinnäytetyön päivämäärä Tekijä(t) Petja Laitila Koulutusohjelma ja suuntautuminen Tietotekniikan koulutusohjelma, Ohjelmistoja tietokonetekniikka Nimeke S60-ohjelmistoalustaisen älypuhelimen Java-ohjelmointi. Älypuhelimen kameran ja GPS-moduulin hallinta. Tiivistelmä Tämä opinnäytetyö kertoo puhelimien ohjelmoinnista Java kielellä. Ohjelmointia lähestytään Paikkatietopalvelut MHG Oy:ltä saadun projektin kannalta. Tarkastelen hieman puhelimiin suunnatun Javan rakennetta konfiguraatioiden ja profiilien kautta. Toimeksianto, jonka sain Paikkatietopalvelut MHG Oy:ltä, oli älypuhelimen kameran ja GPS-moduulin hallinta itsenäisessä sovelluksessa. Toiveena oli, että kyseinen toiminnallisuus tulisi toteuttaa Javalla, jos mahdollista. Alun tutkimustyön jälkeen kävi ilmi, että toivotunlainen ohjelma on mahdollista tehdä Javalla. Toteutukseen tarvittiin J2ME:tä ja siihen kohdistuvia valinnaisia luokkakirjastoja. Kameraa on mahdollista hallita Mobile Media rajapinnan kautta ja paikannus on toteutettavissa Location rajapinnan avulla. Puhelimeen sisäänrakennettu GPS paikannin on aivan uusi asia, joka helpottaa paikannukseen liittyviä toimintoja niin ohjelmistokehittäjän kuin myös normikäyttäjän kannalta. Tulevaisuudessa paikannus tullee saamaan yhä tärkeämmän aseman mobiilisovelluksissa. Asiasanat (avainsanat) J2ME, Älypuhelin, Java, Midlet Sivumäärä Kieli URN 41 Suomi URN:NBN:fi:mamkopinn Huomautus (huomautukset liitteistä) Ohjaavan opettajan nimi Opinnäytetyön toimeksiantaja Jukka Selin Paikkatietopalvelut MHG Oy

3 DESCRIPTION Date of the bachelor's thesis Author(s) Petja Laitila Degree programme and option Information Technology, Software and Computer technology Name of the bachelor's thesis Programming S60-platform based smart phones using Java. Abstract This thesis is about programming smart phones with Java programming language. Programming is viewed through a project I was given by Paikkatietopalvelut MHG Oy. I will explain architecture of mobile Java by explaining a little about configurations and profiles of J2ME (Java 2 platform, Micro Edition). The assignment that I got from Paikkatietopalvelut MHG Oy was to get control of integrated camera and GPS unit of smart phone to standalone Java program. First I did research work to find out if demonstration program is possible to make with Java as a programming language. Then I wrote a Java program that fullfils the goals of assignment. I used additional Java packages called Mobile Media API and Location API to implement desired functionality to the demonstration program. I was able to achieve the goals that were set for this thesis. Methods that I used for solving these problems are explained in this report as well as the program that I made for this thesis. Subject headings, (keywords) J2ME, Smart phones, Java, Midlet Pages Language URN 41 Finnish URN:NBN:fi:mamkopinn Remarks, notes on appendices Tutor Bachelor s thesis assigned by Jukka Selin Paikkatietopalvelut MHG Oy

4 SISÄLTÖ 1 JOHDANTO TOIMEKSIANTAJAYRITYS JA SEN TOIMINTA TEKNISET RATKAISUT J2ME Java Specification Request (JSR) Nokia N Testaus Ohjelman vaiheet KAMERAN JA PAIKANNUSTIETOJEN HALLINTA Mobile Media API (MMAPI,JSR-135) Kuvaus Mobile Media API:sta: Mobile Media API:n toteutus Kameran hallinta Mobile Media rajapintaa käyttäen Location API Location API rakenne Paikannustietojen noutaminen Location API:n avulla Datan lähetys ja vastaanotto Koko järjestelmän kuvaus POHDINTA LÄHTEET... 39

5 JOHDANTO 1 Tämä opinnäytetyö on tehty Mikkelin ammattikorkeakoululle ja toimeksiantajayritykselle Paikkatietopalvelut MHG Oy:lle. Työssä tullaan käsittelemään älypuhelimen ohjelmointia Java kielellä. Työn tutkimusongelma, joka minun tulee selvittää, on älypuhelimeen integroidun kameran ja GPS-moduulin hallinta omassa sovelluksessa. Tarkemmin sanottuna kameran hallinta tarkoittaa tässä työssä sitä, että puhelimessa olevalla kameralla tulisi voida ottaa kuvia käytettäväksi omassa ohjelmassa. Tarkempaa käyttötarkoitusta kuville ei ole määritelty, mutta jos kuvaaminen onnistuu, on pyrkimyksenäni näyttää kuva puhelimen näytöllä, minkä jälkeen käyttäjälle annettaisiin mahdollisuus lähettää kuva verkossa sijaitsevalle palvelimelle. Palvelimella kuva menisi tallennettavaksi ja näytettäväksi internetsivuilla, mahdollisen siihen liittyvän lisätiedon kanssa. GPS-moduulin hallinta taas tarkoittaa, että ohjelmassa tulisi saada puhelimen sijainnin koordinaatit näkyville ja ohjelman käyttöön puhelimen sisäistä GPS:ää hyödyntäen. Aiemmin mainittu mahdollinen lisäinformaatio kuvan yhteydessä muodostuisi näin ainakin kuvan koordinaateista. Paikkatietoisten kuvien käyttö on vielä hyvin harvinaista ainakin yleisessä käytössä olevissa ohjelmissa, joten tutkimuksen aihe on mielestäni todella mielenkiintoinen. Työ on ainakin aluksi puhtaasti selvitystyö. Toimeksiantajan toiveena on kuitenkin, että jos käy ilmi, että toivottu toiminnallisuus on mahdollista toteuttaa, tekisin siitä myös demonstraatio ohjelman, jota jo aiemmin kuvailin. Aluksi esittelen toimeksiantajayrityksen, sen avainhenkilöt ja toiminnan tavoitteen. Kappaleessa tekniset ratkaisut selostan yleisesti kannettaville ja resursseiltaan rajoitetuille laitteille tarkoitetusta Javasta J2ME:stä ja hieman tarkemmin sen puhelimiin suunnatusta profiilista MIDP:sta. Perustelen myös, miksi päädyin kehittämään ohjelmaa nimenomaan Javalla. Samasta luvusta löytyy myös selontekoa siitä, kuinka Javaan kehitetään uusia rajapintoja JCP yhteisön toimesta. Näitä rajapintoja ja parannusehdotuksia kutsutaan yleisesti JSR:ksi. JSR rajapinnoista on selontekoa, koska ilman niitä toivottua ohjelmaa ei olisi mahdollista kehittää käyttäen Javaa. Kappaleessa kameran ja paikannustietojen hallinta selostan, kuinka ratkaisin tutkimusongelman mukaisen ohjelmointiongelman. Ohjelmaan kuuluu myös palvelinpäähän ohjelmoitu servletti, joka vastaanottaa puhelimelta lähetettävää dataa. Tässä opinnäyteraportissa

6 2 keskityn nimenomaan puhelimen ohjelmointiin enkä tule selittämään servletin rakennetta ja ohjelmointia sen tarkemmin. Lopussa käyn kuitenkin koko ohjelman läpi, jolloin myös palvelinpäästä tulee hieman selontekoa. Pohdinta-luvussa arvion, kuinka tämä työ omasta mielestäni onnistui ja vision hieman puhelimille kehitettävien sovellusten tulevaisuutta.. TOIMEKSIANTAJAYRITYS JA SEN TOIMINTA Opinnäytetyöni toimeksiantaja on suomalainen tietotekniikka-alan palveluyritys MHG Systems, jonka pääkonttori sijaitsee Mikkelissä. Yrityksellä on toimipisteitä myös Savonlinnassa ja Joensuussa. Yritys toimii Mikkelin teknologiakeskuksen Miktechin yrityshautomossa. MHG Systemsin toimitusjohtava on Seppo Huurinainen, 50-vuotias biologi ja metsänhoitaja, jolla on jatkotutkinnot ekologisesta kasvitieteestä ja metsäympäristön hoidosta. Palvelupäällikkönä toimii Olli Ikonen, laajan ohjelmistoalan osaamisen omaava 44-vuotias IT-arkkitehti ja datanomi. Veli-Matti Plosila on yrityksen tuotekehityspäällikkö, hänellä on IT-tradenomin koulutus. Plosila on ollut MHG Systemsin palveluksessa sen perustamisesta saakka. MHG Systemsin ydinosaamista on syvällinen kansainvälisen bioenergia- ja metsäalan liiketoimintamallien tuntemus. Tätä tuntemusta hyödyntäen MHG Systemsillä toteutetaan ohjelmistosovelluksia bioenergia- ja metsäaloilla toimiville yrityksille. Sovellukset, jotka yrityksellä on tällä hetkellä markkinoilla, ovat selaimella toimivia, mutta kehitystyötä tehdään myös muilla ohjelmistokehityksen osa-alueilla, kuten mobiili ympäristössä. MHG Systemsin sovelluksissa käytetään laajalti hyväksi kartta- ja paikannustietoja, joiden avulla asiakasyritysten töitä pyritään helpottamaan. Yrityksen palveluilla on jo useita kymmeniä käyttäjiä eri puolilla Suomea. Yrityksen tavoitteena on kasvaa yhdeksi Euroopan johtavista bioenergia-alan ICT toimittajista. TEKNISET RATKAISUT

7 3 Alustavan selvitystyön aikana kävi ilmi, että tutkimusongelman mukainen toiminnallisuus on mahdollista saavuttaa käyttäen ohjelmointikielenä joko C++ kieltä tai Javaa. C on hyvin laitteistoläheinen ohjelmointikieli, ja oletinkin alusta asti, että toiminnallisuuden voi toteuttaa vähintään sillä. Itse puhelimen ohjelmistoalustakin on, aivan sen assembler kielistä ydintä lukuun ottamatta, kirjoitettu C-kielellä, joten tuki C-kielelle on ainakin S60-alustaisissa puhelimissa hyvä. Pienoisena yllätyksenä sen sijaan tuli, että myös Javalle on kehitetty rajapinnat, joita käyttämällä toiminnallisuus olisi mahdollista toteuttaa, käyttäen yksistään Javaa ohjelmointikielenä.moni asia ajoi minua kehittämään demonstraatiota käyttäen Javaa. Javaa on ehkä astetta helpompi käyttää kuin C-kieltä. Symbian puhelimissa käytettävä C-kielihän ei käytä standardeja C-kirjastoja, vaan sille on kehitetty omat kevyemmiksi tarkoitetut luokkakirjastot. Tämä osaltaan lisää C-kielisen ohjelmoinnin haasteellisuutta puhelimissa. Lisäksi C-kielen kehityskirjastot vaihtelevat puhelinmallien välillä, joten ohjelmaa jouduttaisiin muokkaamaan lähes aina siirryttäessä eri malleihin. Javan ehkä suurimpana etuna verrattuna muihin kieliin on juuri vahva laitteistoriippumattomuus. Käytettäessä yleisiä, ei valmistajakohtaisia rajapintoja valmista Javalla tehtyä ohjelmaa voi käyttää missä tahansa laitteessa, joka tukee Javaa ja on varustettu tarvittavilla rajapinnoilla ja profiililla. Profiileista myöhemmin tässä työssä lisää. Lisäksi toimeksiantaja yritys toivoi, että toteutus tehtäisiin Javalla, koska se on heille ennestään tuttu kehitysympäristö. Java nousi näiden seikkojen johdosta käytettäväksi ohjelmointikieleksi. Nykyisiä älypuhelimia voi myös ohjelmoida Python nimisellä ohjelmointi-kielellä joka on niin sanottu skriptikieli. Python soveltuu kuitenkin lähinnä nopeasti ohjelmoitaviin demonstraatioihin eikä niinkään isompiin sovelluksiin, joten en tutustunut siihen sen tarkemmin, koska toimeksiantaja ei olisi Python-kielisestä sovelluksesta juurikaan hyötynyt. 1.1 J2ME J2ME (Java 2 Platform, MicroEdition) on tarkoitettu sulautettujen järjestelmien sekä pienten ja resursseiltaan rajoitettujen laitteiden, kuten puhelinten, ohjelmointiin. J2SE-

8 4 alustaan verrattuna J2ME-alustassa on huomattavasti vähemmän luokkakirjastoja. Liikaa muistia vievät ja resursseja kuluttavat luokat on jätetty tarkoituksella pois, jotta saataisiin aikaan kevyt kehitysympäristö. J2ME:tä suunnitellessa on siis otettu huomioon pienempien laitteiden rajoitukset, joita ovat esimerkiksi näytön koko ja muistin vähyys. Matkapuhelimien tiheys asukasmäärään verrattuna on jatkuvassa nousussa, ja jo nykyään lähes jokaisella länsimaan asukilla on käytössään vähintään yksi matkapuhelin. Matkapuhelinten alkuaikoina käyttäjät tottuivat siihen, että uusien matkapuhelimien mukana tuli uusia ohjelmia ja toimintoja, ja jos halusi hyödyntää noita uutuuksia, piti ostaa kokonaan uusi puhelin. Tilanne on vielä nykyäänkin joiltain osin samanlainen, vaikka parannusta on tapahtunut huomattavasti yhtenäisten ohjelmistoalustojen ja juuri Javan matkapuhelimiin leviämisen ansiosta. Nykyään tilanne onkin melko usein niin, että jos käyttäjä tarvitsee uuden toiminnon matkapuhelimeensa ei hänen tarvitsekaan enää ostaa kokonaan uutta puhelinta, vaan hän voi tilata toiminnon, eli ohjelman vaikkapa internetistä suoraan puhelimeensa. Kuva 1. Javan arkkitehtuuri

9 5 Kuva 1 esittää Javan koko arkkitehtuuria kohdealustoineen. Kuten kuvasta näkyy, J2ME:tä käytetään paljon laajemmalla laitevalikoimalla kuin esimerkiksi J2EE:tä, jolla ohjelmoidaan lähinnä järeitä palvelinsovelluksia. Koska J2ME on käytössä niin erilaisissa laitteissa, on se päätetty jakaa osiin. Seuraavaksi kerron näistä J2ME:ssä olevista määrityksistä. Laitteet erotettiin fyysisten ominaisuuksiensa perusteella ja J2ME:n määriteltiin koostuvan konfiguraatioista, jotka on kohdistettu fyysisesti tietynlaisille laitteille. Voidaan sanoa, että konfiguraatiot ovat laitevalmistajien ja Java-ympäristön toteuttajien välisiä sopimuksia, jotka määrittelevät jonkin laiteryhmän vähimmäisvaatimukset. Konfiguraatioiden tarkoituksena on tarjota ohjelmistoille mahdollisimman toimivat alustat, jotta ohjelmistokehitys olisi tehokasta. Konfiguraatio ei kuitenkaan saa olla liian raskas omalle laiteryhmälleen, muuten se kuluttaisi liikaa resursseja kohdelaitteiltaan. Täytyy muistaa, että sulautetuissa ja mobiileissa laitteissa on lähes aina rajallinen muistikapasiteetti. Tällä hetkellä J2ME:hen on kaksi konfiguraatiota CDC ja CLDC. [1;2] Kuva 2. J2ME rakenne Kuvasta 2 nähdään virtuaalikoneen, konfiguraatioiden ja konfiguraatioiden päälle rakennettujen profiilien väliset suhteet. CDC on tarkoitettu resursseiltaan vähäisille laitteille, joissa on kiinteä verkkoyhteys. CDC vaatii vähintään 512 kilotavua muistia. Tyypillisiä CDC-laitteita ovat esimerkiksi digi-tv:t ja jotkin kehittyneemmät kommu-

10 6 nikointilaitteet. CLDC määrittelee J2ME:n minimin, ja se on tarkoitettu resursseiltaan hyvin vähäisille, henkilökohtaisiin verkkoihin kytketyille laitteille, kuten matkapuhelimille. CLDC:ssä mobiilien laitteiden piirteet on otettu hyvin huomioon. Yleistä tähän konfiguraatioon kuuluville laitteille on heikkotehoinen prosessori, alhainen muistin määrä ja hidas verkkoyhteys. Konfiguraation määrityksen mukaan laitteessa on oltava CLDC:n kirjastoa varten vähintään 128 kilotavua pysyvää muistia ja Javaajoympäristölle ja olioille puolestaan vähintään 32 kilotavua käyttömuistia. Konfiguraatiot määrittelevät systeemitason ominaisuuksia, jotka ovat periaatteessa piilotettu ohjelmoijalta. Seuraavaksi käsittelen profiileja, jotka yhdessä konfiguraatioiden kanssa muodostavat J2ME:n. Profiilit on määritelty tarkemmin tietynlaisille laitteille, ja ne on kehitetty joko CDC (Connected Device Configuration) tai CLDC (Connected Limited Device Configuration) konfiguraatioiden kanssa toimiviksi. Sama konfiguraatio voi kuitenkin käsittää käyttötarkoituksiltaan erilaisia laitteita kuten; astianpesukoneita ja matkapuhelimia. Ei liene kovin tarkoituksenmukaista pystyä ajamaan pesukoneen ohjelmia matkapuhelimessa tai toisinpäin. Tästä on tullut tarve määritellä ominaisuuksia ja palveluita, jotka ovat tyypillisiä vain tietyille laitetyypeille. Näiden erilaisten laitteiden tukeminen vaatii ylimääräisiä toimintoja, jotka voidaan toteuttaa profiilien avulla. Profiilit ovat määrityksiä, joissa kuvataan tarkasti konfiguraatioiden päälle rakentuvat Java-rajapinnat, jotka tarjoavat tuen tietynlaisille laitteille, kuten matkapuhelimille. Jollekin tietylle profiilille tehtyjen ohjelmien tulisi periaatteessa toimia kaikissa saman profiilin tarjoamissa laitteissa. Profiili-määritys nimenomaan mahdollistaa ohjelmien siirtämisen laitteesta toiseen ilman, että kärsitään yhteensopivuus ongelmista. Profiilit laajentavat konfiguraatioita ja niiden avulla voidaan ottaa hyöty irti laitteiden erityisominaisuuksista. Profiileja voitaisiin luonnehtia ohjelmoijien ja Java-ympäristön kehittäjien välisiksi sopimuksiksi. Kuten konfiguraatiot myös profiilit määrittelee JCP (Java Community Process) yhteistyössä kyseisen alan laitteistovalmistajien kanssa. Ensimmäinen päivänvalon nähnyt profiili oli MIDP (Mobile Information Device Profile), joka suunniteltiin toimivaksi CLDC konfiguraation päällä. Sittemmin MIDP profiili on jo päivittynyt versioon 2.0, ja seuraava versio 3.0 on jo kehitteillä ja ottanee ensiaskeliaan älypuhelimien puolella jo piakkoin. Koska esimerkkiohjelma, jonka

11 ohjelmoin lopputyöhöni, tuli nimenomaan älypuhelimeen ja siinä käytettävään MIDPprofiiliin, selostan kyseistä profiilia seuraavaksi tarkemmin. 7 MIDP-profiilin vaatimukset laitteille, joissa sen on tarkoitus toimia, ovat 128 kilotavua muistia Java-sovellukselle 32 kilotavua ajonaikaista muisti 8 kilotavua tiedon tallentamiseen. Profiili vaatii myös kaksisuuntaisen tietoliikenneyhteyden. MIDP 1.0 vaati vähintään http-yhteyden mukaista verkkoyhteyttä. Lisäksi laitteessa on oltava tuki tietojen syöttöön, esimerkiksi näppäimistön välityksellä. Myös laitteiden näytöille on vähimmäisvaatimukset. MIDP-profiilista löytyy mahdollisuus tiedon tallentamiseen laitteen muistiin ja sen myöhempää käyttöä varten. Tallennustekniikan nimi on RMS eli Record Management System. Tallennetut tiedot ovat saman MIDlet suiten sisällä olevien MIDlettien käytössä, joten toinen MIDlet voi vaikka tallentaa tietoja, joita toinen sitten voi käsitellä. RMS tallentaa kaiken tietonsa tavutaulukkoina, joiden tallentamiseen se tarjoaa valmiin rajapinnan, eli tallennettava tieto voi olla minkä muotoista dataa tahansa. Nykyään monissa puhelimissa on lisättynä myös valinnainen paketti File- Connection API, jolla voidaan tallentaa tietoa myös suoraan puhelimen muistiin tai vaikkapa muistikortille tiedostoina. Näin tallennettu tieto on puhelimen kaikkien sovelluksien käytettävissä. Javalle ominaista on, että se tarjoaa paljon valmiita luokkia, joiden avulla sovelluskehittäjä voi toteuttaa haluamansa toiminnallisuuden. Myös MIDP-profiiliin kehitettävät sovellukset on tarkoitettu kehitettäväksi samalla tavalla. Jos haluaa kehittää sovelluksia älypuhelimille käyttäen MIDP:ia, on sovelluskehittäjän tutustuttava ensin hyvin sen tarjoamiin luokkiin ja rajoituksiin tai ainakin pitää tietää, mistä tietoa voi hakea tarvittaessa. Ensimmäinen julkistettu versio MIDP:stä oli 1.0, joka tarjosi mahdollisuuden kehittää sovelluksia puhelimille käyttäen niille standardisoitua Javan ajonaikaista ympäristöä. Kuten Java sovellukset yleisestikin, MIDP-ohjelmat hyötyvät suuresti Javan järjestelmäriippumattomuudesta. Kerran tehty sovellus toimi kaikilla laitteilla, joissa on tuki MIDP Javalle. Lisäksi sovellukset näyttävät samalta, vaikka niitä

12 ajettaisiin täysin erilaisissa laitteissa ja käyttöjärjestelmissä. Seuraavaksi tarkastellaan kuinka virhetilanteet on otettu huomioon tässä profiilissa. [1;2] 8 Javassa olevan roskienkeruuksi kutsutun muistin vapautuksen ansiosta myöskään MIDP sovelluksessa ei ole mahdollista saada aikaan C++-tyyppistä muistin ylivuotoa, jolloin olion varaama muisti jää vapauttamatta. Java sovellukset osaavat roskien keräämisen automaattisesti, mutta se on myös mahdollista tehdä halutussa kohdassa koodia kutsumalla roskien keruuta, jolloin voidaan olla varmoja, että maksimimäärä muistia on vapaana tulevia tehtäviä varten. Puhelinta ohjelmoitaessa tulisikin ottaa huomioon laitteessa olevan muistin vähyys ja tehdä mahdollisimman vähän muistivarauksia. Sovelluksen tulisi myös vapauttaa kaikki varaamansa muisti lopetettaessa. Erityisen tärkeää tämä on matkapuhelinmaailmassa, jossa muistia ei välttämättä ole paljoakaan tarjolla. MIDP Javalla ohjelmoitaessa kehittäjän ei tarvitse erikseen vapauttaa muistia sovelluksen lopetuksen yhteydessä, koska Java osaa huolehtia siitä itsenäisesti. Pöytäkoneille tarkoitettuun Javaan verrattuna J2ME, ja siihen kuuluva MIDP-profiili tarjoaa vain rajoitetun määrän virheenkäsittelyä. CLDC:ssä on kuitenkin määritelty useita poikkeusluokkia (Exception), joita voidaan heittää (throw). Lisäksi valinnaiset paketit tuovat yleensä mukanaan niille kohdistettuja poikkeuksia, joita voidaan heittää ja käsitellä try-catch lohkoissa virheen sattuessa. Näiden avulla virheenkäsittely MIDP-profiilissa on saatu tehtyä hyvin toimivaksi ja riittäväksi, jotta profiilille voidaan kehittää sieto- ja palautumiskykyisiä ohjelmia. Lisäksi CLDC:hen kuuluu kolme ajonaikaisten virheiden käsittelyyn kuuluvaa luokkaa, joista sovelluksen ei tarvitse toipua. Nämä ovat Error, OutOfMemory ja VirtualMachineError. MIDP-profiilia kehitetään jatkuvasti ohjelmistokehittäjien ja laitevalmistajien välisessä yhteistyössä. Yleisin käytössä oleva versio tämän hetken älypuhelimissa on MIDP 2.0, joka toi mukanaan huomattavan määrän parannuksia ensimmäiseen versioon. Seuraavaksi käyn lyhyesti läpi tärkeimmät näistä parannuksista. MIDP 2.0:n myötä puhelimille voi tehdä entistä monipuolisempia ja parempia sovelluksia. Parannuksia ensimmäiseen versioon verrattuna tuli lukuisia. Muun muassa näyttökomponentteja paranneltiin ja lisättiin toiseen versioon. Toisen version myötä

13 9 myös äänet tulivat MIDP-profiiliin ABB:n (Audio Building Block) mukana, joka on myös osa Mobile Media API valinnaista pakettia. Pelinkehittäjät hyötyvät toiseen versioon tulleesta Game API:sta, jonka tarkoituksena on helpottaa monipuolisten pelien kehitystä. Myös MIDP 1.0 -profiilista pois jätetyt liukuluvut lisättiin MIDP profiiliin. Myös liitettävyyttä ulkoiseen verkkoon lisättiin monella eri yhteyskäytännöllä, kuten datagrammeilla ja socket-yhteyksillä. [1;2] 1.2 Java Specification Request (JSR) Nykypäivän älypuhelimissa muistin ja näytönkin kokoja nostetaan jatkuvasti. Näille laitteille tulee kiivaalla tahdilla laitteiden uusia ominaisuuksia ja parantunutta suorituskykyä hyödyntäviä rajapintoja Javaan. Näitä rajapintoja kutsutaan JSRstandardeiksi. JSR:t ovat siis lisäyksiä Java teknologiaan, joita kehitetään yhteistyössä laitevalmistajien, ohjelmoijien ja Sunin välillä. Tähän päivään mennessä Javan Micro Editioniakin on jo laajennettu monilla JSR lisäyksillä, joita käyttämällä voidaan hyödyntää älypuhelimien uusia ominaisuuksia Java ohjelmissa. JSR:ien kehityksen valvonnasta vastaa JCP yhteisö. JSR:iä voitaneen suomeksi kutsua myös Javan kehitysehdotuksiksi. Nämä kehitysehdotukset seuraavat kehityksessä kaikki melko lailla samanlaista polkua, ennen kuin ne saavat lopullisen muotonsa. Periaatteessa mikä tahansa yhteisö tai yritys, joka on rekisteröitynyt JCP-yhteisön jäseneksi, voi tehdä Javaan kehitysehdotuksia JCP-sivuston kautta. Aluksi ehdotus voi olla vain dokumentti, jossa ehdotetaan kehitettäväksi jotain Javasta kokonaan puuttuvaa tai puutteellista aluetta. Tämä dokumentti otetaan yhteisön vetäjien toimesta käsittelyyn, ja jos se havaitaan kehityskelpoiseksi ja tarpeelliseksi, sitä ruvetaan kehittämään sitä varten perustettavassa asiantuntijaryhmässä. Kehitysehdotuksen lähettäjä toimii ehdotuksen vetäjänä ja on myös velvollinen kokoamaan kehityksestä vastaavan asiantuntijaryhmän. Kehitykseen voi myös liittyä kuka tahansa JCP-yhteisön jäsen, vaikka alun perin ei olisikaan asiantuntijaryhmässä. Itseään voi ehdottaa liitettäväksi kehitystyöryhmään yhteisön internetsivujen kautta. Jos ehdotus hyväksytään, siitä tehdään vedos, joka on julkisesti kaikkien tarkasteltavissa. Tämä vedos menee taas vetäjien tarkastettavaksi, jossa se hyväksytään tai siihen pyydetään tekemään korjauksia. Jos vedos hyväksytään, asiantuntijaryhmä tekee siitä vielä lopullisen version, joka käy vielä hyväksyttävänä. Koko prosessin tuloksena on yleensä parannuksia jo Javas-

14 sa oleviin tekniikoihin tai kokonaan uusi rajapinta, jonka kautta ohjelmistokehittäjät pääsevät hyödyntämään uusimpia markkinoilla olevia laitteita ja niiden osia. 10 Laitevalmistajilla on kuitenkin mahdollisuus jättää JSR laajennukset pois omien laitteidensa virtuaalikoneista, sillä nämä eivät ole pakollisia J2ME:n osia. JSR:t kyllä monesti päätyvät loppujen lopuksi standardeiksi alustalle, joille ne on kehitetty, mutta tämä on yleensä monta vuotta vievä prosessi. Jotkin rajapinnat jätetään tarkoituksella valinnaisiksi toteutuksiksi, koska niitä ei ole tarkoituksenmukaista lisätä esimerkiksi puhelimiin, joissa ei ole tarvittavaa laitteistoa niiden käyttämiseen. Älypuhelimen ohjelmoijan on siis oltava tietoinen siitä, mitä laajennuksia ohjelmassaan käyttää, jotta voi tarkastaa, mitkä puhelinmallit tukevat laajennuksia ja näin ollen myös tekeillä olevaa ohjelmaa. Yleensä halutaan, että kehitettävä ohjelma toimisi mahdollisimman laajalla valikoimalla laitteita, joka mahdollistaisi ohjelman leviämisen mahdollisimman monen kuluttajan käyttöön. On kuitenkin ohjelmia joita ei ole alun perinkään tarkoitettu jokaisen matkapuhelimen käyttäjän työkaluksi. Näitä ohjelmia tehdessä voidaan käyttää hieman eksoottisempiakin ratkaisuja ohjelmoidessa ja hyödyntää tekeillä olevia rajapintoja, kunhan pidetään huoli, että tiedetään millä laitteilla ohjelma toimii, jotta tämä tieto voidaan sitten saattaa ohjelman käyttäjien/ostajien tietoon. Jos ratkaisut ovat hyvinkin erikoisia, voidaan ohjelman mukana tarjota laitetta, jolla ohjelmaa on tarkoitus käyttää. Lopputyöni aiheena on tutkia mahdollisuutta kehittää juuri tällaista ohjelmaa. [8.] 1.3 Nokia N95 Ohjelmani testausta varten sain MHG Systems Oy:ltä aivan uuden Nokian N95- mallisen puhelimen, jolle kehittämäni ohjelma on ensisijaisesti suunniteltu toimivaksi. N95-malli on kirjoitushetkellä Nokian lippulaivamalli, johon on laitettu yksiin kuoriin lähes kaikki Nokian matkapuhelinosaaminen ja hieman enemmänkin. N95:stä löytyy muun muassa sisäänrakennettu GPS ja WLAN moduuli, 5 megapikselin kamera Carl Zeissin optiikalla ja selkeä iso näyttö. Resoluutio näytössä on 240x320 pikseliä 24 bitin värisyvyydellä. Käyttöjärjestelmänä tässä mallissa on uusin Symbian versio 9.2. Kehitysalustana on niin ikään uusin S60 3rd Edition, Feature Pack 1, joka on käytössä

15 11 ensimmäistä kertaa nimenomaan tässä puhelinmallissa. Laitteeseen on sisällytetty myös paljon erilaista multimediatoiminnallisuutta, kuten mp3-soitin ja FM-radio. Uusimmista ohjelmistoista ja laiteratkaisuista puhelimissa on yleensä paljon etuja, kuten tarkoitus onkin, mutta monesti myös hieman haittaa. Nokian N95 puhelimesta oli paljon puhetta ja mainostusta, ennen kuin se edes tuli markkinoille, joten odotukset nousivat tietenkin korkealle. Sain puhelimen melkein heti, kun se ilmestyi kauppoihin, ja pääsin testaamaan omaa ohjelmaani sillä. Ajattelin laittaa tähän osion omista käyttökokemuksistani kyseisestä puhelimesta. Puhelin tuntui melko isolta, kun sain sen ensimmäisen kerran käteeni, mutta en tuominnut sitä sen perusteella, olihan siinä todella paljon ominaisuuksiakin. Puhelin käynnistyy yhtä nopeasti kuin muutkin Nokian älypuhelimet. Valikoissa liikkuminen on loogista, mutta joidenkin valikoiden aukeaminen kestää harmillisen pitkään, jolloin tuntuu kuin koko puhelin olisi mennyt jumiin. Koska tällaista hitautta ei ole saatu pois valikoista, olisin toivonut, että näytöllä olisi edes näkynyt jonkinlainen viesti käyttäjälle, joka pyytäisi odottamaan valikkoa aukaistaessa. Toivottavasti alkukankeudet saadaan hiottua pois tulevista ohjelmistoversioista. Muuten puhelin tuntuu pätevältä laitteelta, ja se tuntuisi täyttävän sille asetettuja odotuksia melko hyvin. N95 on Nokian ensimmäinen malli, jossa on sisäänrakennettu GPS, ja juuri siitä on ollut paljon puhetta. Ensimmäiseksi testasin GPS:n toimivuutta puhelimessa valmiiksi olevalla ohjelmalla. Ulkona täysin esteettömässä paikassakin GPS:llä menee yllättävän pitkään saada satelliitit lukittua paikannusta varten. Kyseisestä hitaudesta olin kuitenkin lukenut jo internetin foorumeilta, joten odotin kärsivällisesti, ja lopulta paikannus onnistuikin. Tämän niin sanotun cold fixin keskimääräinen hakuaika on sekuntia. Hitaus satelliittien lukituksessa ei kuitenkaan ole vakava ongelma, koska se tapahtuu vain, kun satelliitit lukitaan ensimmäistä kertaa paikannusta käynnistettäessä. Niin sanottu warm fix onkin kiitettävän vikkelä. Toiveena kuitenkin on jatkoa ajatellen, että myös puhelimiin tulevat GPS-moduulit toimisivat yhtä hyvin kuin ulkoisetkin, muuten niiden antama lisäarvo jää hieman kyseenalaiseksi. Suuri plussa integroidussa paikantimessa on juuri se, että kun sellainen löytyy puhelimesta, on ai-

16 nakin varmaa, että se on yhteensopiva puhelimen kanssa, eikä ylimääräisiä säätöjä tarvitse tehdä. 12 Myös N95-mallin kamerasta oli melko paljon puhetta mediassa ja foorumeilla ennen julkistusta. Kamera on varustettu Carl Zeissin optiikalla, joten odotus hyvälaatuisista kuvista ei liene ollut perusteeton. Kuva osoittautuikin teräväksi ja tarkaksi. Täysin puhtain arvosanoin en kameraakaan päästä, sillä osoittautui, että saadakseen hyvälaatuisen kuvan on kuvaajalla oltava erinomaisen vakaa käsi. Tämä kertoo siitä, että kamerassa ei ole tarpeeksi hyvää tai ei ollenkaan kuvanvakaajaa, joka on jo halvemmissakin digitaalikameroissa kunnossa oleva piirre. Tämä ei suinkaan pilaa kameraa, mutta laskee hieman sen käytettävyyttä, ja kun optiikka muuten on niinkin hyvä kuin on, olisin toivonut myös tämän osa-alueen olevan hyvin viimeistelty. Kamera N95:ssä on kuitenkin paras mihin olen tähän mennessä puhelimissa törmännyt, joten sanoisin sen täyttävän siihen asetetut odotukset. Kuva 3. Nokia N95 Kuvassa 3 näkyy Nokian N95. Siinä on kumpaankin suuntaan liukuvan etuosan takana numeronäppäimistö ja erikseen yläpuolella multimediaominaisuuksien hallintaan tarkoitetut näppäimet, joilla voi esimerkiksi ohjata puhelimessa olevaa musiikkisoitinta.

17 13 Puhelimen pääkamera sijaitsee laitteen selkäpuolella, ja linssi on suojattu liukuvan linssisuojan taakse. N95-mallin kamerassa on myös salama, joka näkyy kuvassa linssin oikealla puolella. 1.4 Testaus Omaa ohjelmaani testasin emulaattorilla ja älypuhelimella. Testaus alkoi oikeastaan jo ohjelman ollessa vasta kehitysvaiheessa. Ohjelman eri osia oli aina syytä testata vähintäänkin emulaattorissa, ennen kuin siirtyi tekemään uutta toiminnallisuutta sisältävää osaa. Muutaman kerran työtä tehdessä kävi kuitenkin niin, että ohjelma toimi täysin emulaattorilla, mutta matkapuhelimella testatessa ohjelma heitti tuntemattoman virheilmoituksen. Esimerkiksi Location API:a käyttävä luokka, jonka tarkoitus on hakea puhelimen sijaintikoordinaatit sisäistä GPS-paikanninta käyttäen, sai puhelimen käyttäytymään hyvinkin oudosti, vaikka emulaattorilla ajaessa ohjelma toimi varsin hyvin. Ongelma ratkesi kuitenkin loppujen lopuksi. Tässä tapauksessa ongelmana oli se, että paikkatiedot eivät tulleet tarpeeksi nopeasti GPS-moduulilta ohjelman käyttöön. Tämä taas aiheutti ohjelmaan virheen, koska paikannusta suorittava metodi ei silloin vielä toteuttanut synchronized-rajapintaa ja näin lukinnut paikannusta suorittavaa säiettä vain omaan käyttöönsä. Tämä aiheutti sen, että ohjelmassa tapahtui laiton ohjelman tilan vaihto. Tätä virhettä ei tullut emulaattorilla, sillä ohjelman suoritus ajettaessa ohjelmaa emulaattorilla on yleensä hyvin paljon nopeampaa kuin puhelimessa ajettaessa. Testasin ohjelmaa myös aika paljon sen jälkeen, kun olin saanut toiminnallisuuden siihen vaiheesen, että ohjelma toimi toivotulla tavalla. Tässä testauksen vaiheessa ilmeni ongelma. Huomasin, että kun ohjelmalla ottaa kuvia yli kolme peräkkäin, heittää se virheen. Virheen jäljitin olevan Bad Format Exception. Tämä virhe on vielä kirjoitusvaiheessa ratkaisematta, mutta se tultaneen ratkaisemaan myöhemmin. Virhe ei edes välttämättä aina tule kolmen peräkkäisen kuvan jälkeen, ja se tuntuu esiintyvän yleisemmin ottaessa kuvia jpeg-formaatissa kuin png-formaatissa. Olen laittanut Nokian kehitysfoorumille kysymyksen tästä ja odottelen parhaillaan vastausta, onko tämä vika nimenomaan minun ohjelmassani vai onko kyse virtuaalikoneessa olevasta virheestä. Tämä voi olla hyvinkin häiritsevä ominaisuus, jos ohjelmaa haluaa kehittää

18 siihen suuntaan, että sillä voisi ottaa paljon kuvia ja tallentaa niitä joko puhelimen muistiin taikka palvelimelle. 14 Nokian N95 on kirjoitushetkellä ainoa puhelinmalli, jolla olen ohjelman testannut varmasti toimivaksi. Voitaneen kuitenkin olettaa, että ohjelma toimii kaikilla puhelinmalleilla, joista löytyy Mobile Media API ja Location API, koska ohjelmassa ei ole käytetty esimerkiksi Nokian itse kirjoittamia kirjastoja, jotka rajaisivat puhelinmalleja, joilla ohjelma toimisi. Lopputyön raportoinnin aikana Nokia on jo kerinnyt julkaisemaan muutaman uuden puhelinmallin, joissa on myös sisäinen GPS ja yli kahden megapikselin kamera. Ainakin näillä uusilla malleilla tällä tekniikalla toteutetun ohjelman pitäisi toimia moitteettomasti. Osoitteesta voi käydä tarkistamassa puhelinmallit, joissa on Mobile Media API ja Location API. Lista on Sunin ylläpitämillä sivuilla. Listasta ei välttämättä löydy jokaista puhelinta maanpäällä joissa on tuki eri rajapinnoille, mutta se on kuitenkin melko kattava ja sitä päivitetään jatkuvasti. 1.5 Ohjelman vaiheet Tässä esittelen tämän lopputyön tuloksena syntyneen demonstraatio-ohjelman vaiheet. Käyn vaiheet läpi kuvien, jotka otin ajaessani ohjelmaa emulaattorilla, ja lyhyiden selityksien avulla. Ensimmäiseksi ohjelma tarkastaa, onko puhelimessa, jolla ohjelmaa ajetaan, tuki kuvien ottamiseen ja paikannustietojen hakuun. Tarkastuksen tulos näytetään myös käyttäjälle kuvan 4 mukaisesti. Myös tuetut kuvaformaatit näytetään. Jos puhelimessa ei ole tukea kuvien ottamiseen tai paikannustietojen hakuun Java ohjelman kautta, käyttäjälle näytetään viesti kuvan 4 oikeanpuolen mukaisesti.

19 15 Kuva 4. Demonstraatio-ohjelman ensimmäinen näyttö Jos puhelimessa on tuki ohjelmalle, voi käyttäjä seuraavaksi siirtyä kuvan ottamiseen valitsemalla Kamera -komennon. Kamera-komento antaa näytölle etsimen, jota käytetään kuvaamisen apuna kuvan 5 mukaisesti.

20 16 Kuva 5. Demonstraatio-ohjelman etsimen näyttö Kuvan 5 mukaisessa näytössä on komennot Takaisin ja Ota kuva. Ota kuva -komento tallentaa sen kuvan, joka suoritushetkellä näkyy etsimessä ja Takaisin-komento vie alkuvalikkoon. Kun kuva otetaan Ota kuva -painiketta käyttäen, ohjelmassa kutsutaan metodia, joka muodostaa otetusta kuvasta sopivan kokoisen puhelimen näytölle, joka sitten asetetaan näyttöön kuvan 6 mukaisesti. Kuvan esikatselu näytöllä on myös tekstikenttä, johon käyttäjä voi syöttää tietoja kuvasta. Kuvassa 6 on näkyvissä valikko, jonka saa auki Menu -komennon takaa. Menu-valikosta käyttäjä voi valita, haluaako hakea paikannustiedot kuvan kanssa lähetettäväksi, ottaa uuden kuvan vai lähettää kuvan tietoineen palvelimelle. Käytössä on tässä valikossa myös Lopeta - komento ohjelman helppoa sulkemista varten.

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

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

Mainosankkuri.fi-palvelun käyttöohjeita

Mainosankkuri.fi-palvelun käyttöohjeita Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...

Lisätiedot

MUSEOT KULTTUURIPALVELUINA

MUSEOT KULTTUURIPALVELUINA Elina Arola MUSEOT KULTTUURIPALVELUINA Tutkimuskohteena Mikkelin museot Opinnäytetyö Kulttuuripalvelujen koulutusohjelma Marraskuu 2005 KUVAILULEHTI Opinnäytetyön päivämäärä 25.11.2005 Tekijä(t) Elina

Lisätiedot

Ulkoiset laitteet. Asiakirjan osanumero: Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä.

Ulkoiset laitteet. Asiakirjan osanumero: Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä. Ulkoiset laitteet Asiakirjan osanumero: 419462-351 Tammikuu 2007 Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä. Sisällysluettelo 1 USB-laitteen käyttäminen USB-laitteen

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat

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

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

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

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

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Laatijat: Veli Mikko Puupponen ja Ilkka Rautiainen Päivämäärä: 26.5.2014 Versio: 1.0.0 1. Testausympäristö ja yhteenveto Testatun

Lisätiedot

Tietotalo Insight. Digitaalinen markkinointi. Beacon FAQ: Vastaukset yleisimpiin kysymyksiin beaconeista

Tietotalo Insight. Digitaalinen markkinointi. Beacon FAQ: Vastaukset yleisimpiin kysymyksiin beaconeista Tietotalo Insight Digitaalinen markkinointi Beacon FAQ: Vastaukset yleisimpiin kysymyksiin beaconeista 1 Beacon FAQ Digitaalisesta kontekstisidonnaisesta markkinoinnista puhuttaessa mennään usein monelle

Lisätiedot

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

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

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

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

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

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

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

Julkaisun laji Opinnäytetyö. Sivumäärä 43

Julkaisun laji Opinnäytetyö. Sivumäärä 43 OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010

Lisätiedot

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen Näissä ohjeissa käydään läpi Microsoftin MS-DOS 6.22 -käyttöjärjestelmän asennus Microsoftin Virtual PC 2007 -virtuaalikoneeseen. Asennusta varten sinulla on oltava Virtual PC 2007 asennettuna tietokoneellasi

Lisätiedot

Informaatiotekniikan kehitysyksikkö

Informaatiotekniikan kehitysyksikkö SAVONIA Savonia RPM Käyttöopas Informaatiotekniikan kehitysyksikkö 18.8.2011 Sisällysluettelo 1. Perusnäkymä... 3 2. Kirjautuminen... 4 3. Rekisteröinti... 5 4. Idean jättäminen... 6 4. Arviointi... 8

Lisätiedot

Opettajan pikaopas Opintojaksopalaute-järjestelmään

Opettajan pikaopas Opintojaksopalaute-järjestelmään Opettajan pikaopas Opintojaksopalaute-järjestelmään Yleistä... 3 Sijainti... 3 Kirjautuminen... 3 Kyselyn rakenne... 3 Opettajan toiminnot kirjautumisen jälkeen... 3 Lukuvuoden opintojaksojen listaaminen...

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

Lisätiedot

Sanomapavelinohjelmiston käyttöohje (Vanha versio RO)

Sanomapavelinohjelmiston käyttöohje (Vanha versio RO) Sanomapavelinohjelmiston käyttöohje (Vanha versio 22.5.2015 RO) Asio Sanomapalvelinohjelmiston ja viestintäpalvelun käyttö nettiselaimella Kirjautuminen palveluun, Viestin lähetys, Sanomaryhmän luominen

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

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

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

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

7/20: Paketti kasassa ensimmäistä kertaa

7/20: Paketti kasassa ensimmäistä kertaa Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

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

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Turvallinen veneily -näyttö. VesselView-ohjelmiston päivittäminen. Automaattinen WiFi-haku. Micro SD -kortin käyttäminen. Osa 1 - Alkuvalmistelut

Turvallinen veneily -näyttö. VesselView-ohjelmiston päivittäminen. Automaattinen WiFi-haku. Micro SD -kortin käyttäminen. Osa 1 - Alkuvalmistelut Turvallinen veneily -näyttö Kun VesselView käynnistetään sen oltua sammutettuna vähintään 30 sekuntia, näyttöön tulee turvalliseen veneilyyn liittyviä ohjeita sisältävä ikkuna. Jatka painamalla Accept

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

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

Lisätiedot

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

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

Lisätiedot

PIKAOPAS NOKIA PC SUITE 4.88. Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään

PIKAOPAS NOKIA PC SUITE 4.88. Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään PIKAOPAS NOKIA PC SUITE 4.88 Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON ASENTAMINEN...2 4. KÄYTÖN ALOITTAMINEN...3

Lisätiedot

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio 1 Loppuraportti Virtuaali-Frami, CAVE-ohjelmisto Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu Versio 1.0 15.1.2006 2 Sisällys Tiivistelmä... 3 1 Johdanto... 4 1.1 Dokumentin tarkoitus...

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

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA ILMAISTA MOTIVOIVAA

QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA ILMAISTA MOTIVOIVAA QR-koodit QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA MOTIVOIVAA ILMAISTA QR-koodi paljon tietoa Koodin avulla pääsee nopeasti halutulle verkkosivulle tai esim. YouTube-videoon ilman osoitteen

Lisätiedot

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima Esityksen sisältö Johdanto Yleistä leimausmenettelystä ja leimasta Leimausmenettelyn vaiheet Kuinka määrittelyjen mukaisuus testataan: esimerkkejä testitapauksista Olennaisimmat kysymykset leimausmenettelyn

Lisätiedot

Nokia E5 ja Mail for Exchange

Nokia E5 ja Mail for Exchange Nokia E5 ja Mail for Exchange Uuden esiasennetun puhelinlaitteen käyttöönotto tapahtuu DataInfon käyttäjälle lähettämien ohjeiden mukaan. Ohjeistetussa käyttöönotossa puhelimeen asentuu langattoman verkon

Lisätiedot

PIKAOPAS NOKIA PC SUITE 4.51a NOKIA 6510 -PUHELIMELLE

PIKAOPAS NOKIA PC SUITE 4.51a NOKIA 6510 -PUHELIMELLE PIKAOPAS NOKIA PC SUITE 4.51a NOKIA 6510 -PUHELIMELLE Copyright Nokia Oyj 2002. Kaikki oikeudet pidätetään. Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON ASENTAMINEN...2

Lisätiedot

OP-eTraderin käyttöopas

OP-eTraderin käyttöopas OP-eTraderin käyttöopas Tämä käyttöopas on lyhennetty versio virallisesta englanninkielisestä käyttöoppaasta, joka löytyy etrader - sovelluksen Help-valikosta tai painamalla sovelluksessa F1 -näppäintä.

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

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

Käyttöohjeet. Sovellussivusto

Käyttöohjeet. Sovellussivusto Käyttöohjeet Sovellussivusto SISÄLLYSLUETTELO Tietoja oppaasta...2 Oppaassa käytetyt symbolit...2 Vastuuvapauslauseke...3 Huomautuksia...3 Mitä sovellussivustolla voi tehdä... 4 Ennen sovellussivuston

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

DNA Netti. Sisältö. DNA Netti - Käyttöohje v.0.1

DNA Netti. Sisältö. DNA Netti - Käyttöohje v.0.1 DNA Netti DNA Netti on Mokkuloiden yhteysohjelma. Ohjelman avulla voit hallita Mokkulan asetuksia sekä luoda yhteyden internetiin Mokkulan, WLANin tai Ethernet -yhteyden avulla. Sisältö DNA Netti - Testaa

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

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

Lisätiedot

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

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

10 Lock Lock-lause

10 Lock Lock-lause 10 Lock Avainsanan lock (Lock keyword) avulla voidaan toteuttaa prosessien ja säikeiden välisessä keskinäisessä kommunikoinnissa käytettäviä synkronointi- ja poissuljentarakenteita. Tämän niin sanotun

Lisätiedot

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla 19.1.2017 Sisällys Slide 3. Mikä on PaikkaOppi Mobiili? Slide 4. Kaavio PaikkaOppi Mobiilin käytön aloituksesta. Slidet 5-7. Tunnusten ja kurssin luominen ennen sovelluksen käyttöä. Slide 8. Hae sovellus

Lisätiedot

JOHDANTO AirPrint on käytettävissä vain tulostimissa tai monitoimilaitteissa, jotka tukevat AirPrintiä. Huomaa

JOHDANTO AirPrint on käytettävissä vain tulostimissa tai monitoimilaitteissa, jotka tukevat AirPrintiä. Huomaa Käyttöopas AirPrint JOHDANTO Tässä oppaassa olevien tietojen täydellisyys, täsmällisyys ja ajantasaisuus on pyritty varmistamaan kaikin keinoin. Valmistaja ei vastaa omien vaikutusmahdollisuuksiensa ulkopuolella

Lisätiedot

VINKKEJÄ CV-NETIN KÄYTTÖÖN. www.te-palvelut.fi

VINKKEJÄ CV-NETIN KÄYTTÖÖN. www.te-palvelut.fi VINKKEJÄ CV-NETIN KÄYTTÖÖN www.te-palvelut.fi TE-toimiston verkkoasiointiin pääset kirjautumaan www.te-palvelut.fi Oma asiointi Henkilöasiakas Kirjaudu sisään verkkopankkitunnuksilla ja hyväksy käyttöehdot

Lisätiedot

Webforum. Version 16.3 uudet ominaisuudet. Päivitetty:

Webforum. Version 16.3 uudet ominaisuudet. Päivitetty: Webforum Version 16.3 uudet ominaisuudet Päivitetty: 2016-09-26 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Aloita-sivu... 5 Uusi kalenteri... 5 Dokumentit... 6 Tarkastus ja hyväksyminen viimeistellään

Lisätiedot

7.4 Sormenjälkitekniikka

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

Lisätiedot

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1 1. Testattavat asiat Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1 selainyhteensopivuustesti käyttäen Suomessa eniten käytössä olevia selaimia. Uuden keräyksen lisääminen

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Motorola Phone Tools. Pikaopas

Motorola Phone Tools. Pikaopas Motorola Phone Tools Pikaopas Sisältö Vähimmäisvaatimukset... 2 Ennen asennusta Motorola Phone Tools... 3 Asentaminen Motorola Phone Tools... 4 Matkapuhelimen asennus ja määritys... 5 Online-rekisteröinti...

Lisätiedot

Mirva Jääskeläinen Espoon kaupungin työväenopisto

Mirva Jääskeläinen Espoon kaupungin työväenopisto Mirva Jääskeläinen Espoon kaupungin työväenopisto Windows Phonet yleisesti Nokian Lumiat Vanhemmat WindowsPhone 7 Uudemmat WindowsPhone 8 Samsungin Windows Phone mallit HTC:n mallit www.windowsphone.com

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla

GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla Viimeksi muokattu 30. tammikuuta 2012 GDAL tukee WFS-palvelun käyttämistä vektoritietolähteenä yhtenä muiden joukossa. WFS-ajurin käyttöohjeet löytyvät osoitteesta

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

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 1.0 19.10.2007 Suanto 0.3 18.10.2007 Matti Eerola 0.2 17.10.2007

Lisätiedot

DNA Prepaid WLAN Mokkula

DNA Prepaid WLAN Mokkula DNA Prepaid WLAN Mokkula Mokkula käyttää normaalikokoista / suurempaa SIM-korttia. Irrota SIM-kortti kokonaisena ja laita se Mokkulaan alla olevan kuvan mukaisesti. Jos irrotat vahingossa pienemmän SIM-kortin,

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

MY KNX, KNX sivu sinua varten Mitä pitää muistaa: Pidä tietosi ajan tasalla

MY KNX, KNX sivu sinua varten Mitä pitää muistaa: Pidä tietosi ajan tasalla MY KNX, KNX sivu sinua varten Mitä pitää muistaa: Pidä tietosi ajan tasalla Tervetuloa mukaan Sisällysluettelo yleistä... 3 MY KNX... 3 Kirjaudu KNX organisaation kotisivulle... 4 Partnerluettelo... 5

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

Ohjeisto Trimble Pro 6H yhdistämisestä Juno 5:een

Ohjeisto Trimble Pro 6H yhdistämisestä Juno 5:een Liite 4 1(19) KEMIN ENERGIA Ohjeisto Trimble Pro 6H yhdistämisestä Juno 5:een Janne Pirttimaa 12.2.2013 Liite 4 2(19) SISÄLLYSLUETTELO 1 Yhdistäminen bluetoothilla... 3 2. Ongelmatilanteet ja ratkaisut...

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

Ohjeita informaation saavutettavuuteen

Ohjeita informaation saavutettavuuteen Ohjeita informaation saavutettavuuteen Tarkoitus Kasvattaa tietoisuutta ja lisätä esteettömän informaation aiheen näkyvyyttä ja sen merkitystä elinikäisen tasapuolisen oppimisen mahdollisuuksista Tukea

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje InnoGIS- hankkeen aikana kehitetylle pilottiversiolle Dokumentti sisältää pilottiversiona toimivan kyselyn laatimiseen ja vastaamiseen liittyvän ohjeistuksen.

Lisätiedot

oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu?

oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu? Oppimispäiväkirjablogi Hannu Hämäläinen oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu? Parhaimmillaan oppimispäiväkirja toimii oppilaan oppimisen arvioinnin työkaluna. Pahimmillaan se tekee

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ 1. Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla 02/2016, ed. 5 KÄYTTÖOHJE Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla Maahantuoja: Tiilenlyöjänkuja 9 A 01720 Vantaa www.scanvarm.fi Kiitos

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

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

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

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

Sankarihautausmaat Suomessa -projekti Kuvausohjeet Tietojen kerääminen

Sankarihautausmaat Suomessa -projekti Kuvausohjeet Tietojen kerääminen OTETTAVAT KUVAT Kuva 1 - yleiskuva sankarihautausmaasta Kuva mieluiten yläviistosta niin, että kaikki hautapaikat näkyvät. Kuvakulma valitaan niin, että pääpaino kuvassa tulee nimenomaan itse sankarihautausmaalle.

Lisätiedot

F-Secure Mobile Security. Android

F-Secure Mobile Security. Android F-Secure Mobile Security Android F-Secure Mobile Security Sisällysluettelo 3 Sisällys Luku 1:Asennus...5 Asentaminen...6 Aktivointi...7 Luku 2:Luottamuksellisten tietojen suojaaminen...9 Anti-Theftin

Lisätiedot

DNA Netti. DNA Netti - Käyttöohje v.1.0

DNA Netti. DNA Netti - Käyttöohje v.1.0 DNA Netti DNA Netti on Mokkuloiden yhteysohjelma. Ohjelman avulla voit hallita Mokkulan asetuksia sekä luoda yhteyden internetiin Mokkulan, WLANin tai Ethernet -yhteyden avulla. Sisältö DNA Netti asennus...

Lisätiedot

lizengo Asennusopas Windows: in kopioiminen

lizengo Asennusopas Windows: in kopioiminen lizengo Asennusopas Windows: in kopioiminen Windows: in kopioiminen lizengo Asennusopas Klikkaa sitä Windows-versiota, jonka haluat kopioida USB-tikulle, niin pääset suoraan oikeaan oppaaseen. Windows

Lisätiedot

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB Android ohjelmointi Tunti 5 SQLite, Cursor, Intent ja ADB SQLite Tuetut tietotyypit: NULL INTEGER kokonaisluku REAL Reaaliluku, float, desimaali. Tallennetaan 1-8 tavun tarkkuudella luvun suuruudesta riippien

Lisätiedot

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

<e.g. must, essential, conditional> Käyttötapaukset Kurssin malli käyttötapauksille: Tila < List of users and the other systems that interacts directly with a system>

Lisätiedot

Lumme-verkkokirjaston tiedonhaun opas Pieksämäen kaupunginkirjasto

Lumme-verkkokirjaston tiedonhaun opas Pieksämäen kaupunginkirjasto Lumme-verkkokirjaston tiedonhaun opas Pieksämäen kaupunginkirjasto Tervetuloa Lumme-kirjastojen verkkokirjastoon! Ilman kirjautumista voit selata aineistotietokantaa tarkistaa onko teos hyllyssä vai lainassa

Lisätiedot

Asko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Asko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen Asko Ikävalko, k0201291 22.2.2004 TP02S-D Ohjelmointi (C-kieli) Projektityö Työn valvoja: Olli Hämäläinen Asko Ikävalko LOPPURAPORTTI 1(11) Ratkaisun kuvaus Käytetyt tiedostot Tietuerakenteet Onnistuin

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

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

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

Lisätiedot

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

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia

Lisätiedot

itslearning-julkaisu 67

itslearning-julkaisu 67 itslearning-julkaisu 67 Julkaisun pääkohdat Tervetuloa itslearning-julkaisuun nro 67. Julkaisussa keskitytään erityisesti uuteen itslearningkirjastoon. Se on suunniteltu entistä nopeammaksi, helppokäyttöisemmäksi

Lisätiedot