1 Sisällysluettelo 2 Johdanto 3 Menetelmän käyttö
|
|
- Saija Pakarinen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 SEPA-päiväkirja Aihe: Refaktorointi Tekijät: Markku Huttunen, Antti Poikela 1 Sisällysluettelo 1. Sisällysluettelo 2. Johdanto 3. Menetelmän käyttö 4. Kokemukset ja muutokset 5. Lähdeluettelo 2 Johdanto SEPA-aiheeksemme valitsimme refaktoroinnin. Ohjelmistokehityksessä tämä tarkoittaa lyhyesti sitä, että ei ole erillistä suunnitteluvaihetta ennen buildien tekoa, vaan suunnittelua muokataan tuotteen kehityksen aikana muuttamatta sen ulkoista toimintaa. [1] Refaktorointia käytetään ohjelmistokehityksessä jatkuvasti, osin sitä edes tiedostamatta, ohjelmiston ymmärrettävyyden ja toiminnan loogisuuden parantamiseksi. Refaktorointia voidaan suorittaa myös erillisenä työtehtävänä, jonka tavoitteena on parantaa koodin laatua esimerkiksi paremman ylläpidettävyyden ja laajennettavuuden saavuttamiseksi. Tämä voi olla tähdellistä varsinkin, jos joudutaan työskentelemään jo olemassa olevan koodin kanssa, jonka laadussa olisi parannettavaa, mutta jota ei kuitenkaan keretä kirjoittamaan uudelleen. Käytännössä refaktorointi näkyy ohjelman lähdekoodin uudelleenjärjestämisenä, usein erilaisten automatisoitujen työkalujen avulla. Valitimme refaktoroinnin aiheeksemme, koska siitä on todennäköiseesti hyötyä kaikille kehittäjille projektissamme. Lisäksi käyttämämme kehitystyökalu, Eclipse, tukee refaktorointia erinomaisesti. Uskomme myös, että refaktoroinnin avulla pystymme paremmin noudattamaan konventioita ja näin ollen tuottamaan yhdenmukaisempaa ja ymmärrettävämpää koodia. 3 Menetelmän käyttö Refaktorointia tulevat käyttämään kaikki kehittäjät. Tarkoituksena on käyttää refaktorointia jatkuvasti kehityksen aikana. Hyvä käytäntö on tarkistaa refaktorointitarve jokaisen metodin kirjoittamisen jälkeen sekä jokaisen työskentelyjakson päätteeksi. Vähintäänkin koodin ulkoasun muotoilu konventioiden mukaiseksi työrupeaman päätteeksi on välttämätöntä, jotta muun muassa testaajan työaika ei kuluisi hukkaan. Kannattavaa on myös varmistaa metodin järkevä suunnittelu metodin kirjoittamisen jälkeen, sillä myöhemmin tehtynä metodin toiminnan joutuu turhaan kertaamaan uudelleen. Myöhemmässä vaiheessa tapahtuvan refaktoroinnin jälkeen on aina syytä ajaa uudelleen mahdolliset automatisoidut testit koodin toiminnan varmistamiseksi.
2 Alla käymme läpi Eclipsen keskeisimpiä refaktorointitoimintoja, joita kehittäjien on suositeltavaa käyttää projektin kuluessa tarpeen vaatiessa. Suurimman osan operaatioista voi suorittaa myös manuaalisesti, mutta Eclipsen avulla se on nopeampaa ja turvallisempaa muun muassa viittauksien eheys säilyy. Kehittäjät käyttävät refaktorointitoimenpiteitä itsenäisesti oman harkintakykynsä mukaan. Eclipse tarjoaa muun muassa loistavat uudelleennimeämis- ja siirtomahdollisuudet kaikilla koodin tasoilla (mm. pakettien, metodien ja luokkien) säilyttäen koodin sisäiset viittaukset ehjinä. Siirtäminen toimii sekä Eclipsen Refactor -valikosta (Move) että Package Explorer -näkymässä drag&drop -toiminnolla. Siirtotoimintoja käytetään designin korjaamiseen, esimerkiksi kytkentöjen ja koheesion parantamiseen. Tarpeen sille voi havaita koodia tutkimalla tai esimerkiksi Together -työkalun metriikka-analysaattorilla. Change Method Signature -toiminnolla voidaan muuttaa metodin parametreja, näkyvyyksiä, palautusarvoja ja poikkeuksia siten, että viittaukset muualla koodissa pysyvät ehjinä. Convert Anonymous Class to Nested muuttaa nimensä mukaisesti anonyymin luokan sisäkkäiseksi (vrt. inner eli sisäinen) luokaksi. Tästä voi olla etua mm. haluttaessa välttää koodin kopiointia. Anonyymia luokkaa tulisi käyttää lähinnä vain ns. singleton -tapauksissa, ts. kun sisäisestä luokasta ei haluta tehdä kuin yksi instanssi (näin on usein muun muassa graafisten sovellusten kuuntelijoiden tapauksissa). Toiminnolla Move Member Type to New File voidaan erottaa sisäisiä luokkia uusiksi ulkoisiksi tiedostoiksi. Toiminto on hyödyllinen, jos sisäinen luokka esimerkiksi kasvaa kovin pitkäksi. Pull Up ja Push Down siirtävät metodeita ja kenttiä ylempiin ja alempiin luokkiin luokkahierarkiassa. Voidaan käyttää, jos esimerkiksi alaluokan kenttä tai metodi ei ole niin spesifinen, etteikö se olisi helposti yleistettävissä yläluokkaansa. Esimerkkinä voisi toimia Lehmä -luokalle tehty oliontuhoamismetodi kuole() joka paremminkin voisi esiintyä yläluokassa Eläin. Tällöin käytämme Pull Up -toimintoa. Extract Interface -toiminnolla voidaan luokan julkisista metodeista erottaa rajapinta. Toiminto osaa myös ottaa tämän uuden rajapinnan käyttöön sen toteuttavien luokkien sijasta muiden luokkien instanssimuuttujissa, mikä onkin hyvien koodauskäytäntöjen mukaista. Generalize Type muuttaa viittauksen sen mahdolliseksi yleistykseksi. Tämä toiminto voidaan suorittaa tyyppiviittauksille, kenttien ja paikallisten muuttujien määrityksille ja referenssityypitetyille parametreille. Toiminto tarkistaa, voidaanko muunnos suorittaa turvallisesti. Use Supertype Where Possible -toiminto voidaan ajaa luokalle, jolloin etsitään kyseisen projektin polulla olevista paketeista viittauksia kyseiseen luokkaan ja muutetaan ne halutuksi yleistykseksi, jos mahdollista. Toimii siis kuten Generalize Type, mutta ainoastaan tyypeille ja suoritetaan kerralla koko luokalle. Infer Generic Type Arguments -toiminnolla voidaan muuttaa raakojen kokoelmien (Collection) esiintymät niiden tyypitetyiksi versioiksi (esim. Collection<String>), jos mahdollista. Voidaan suorittaa joko yksittäiselle luokalle, paketille tai jopa koko projektille kerralla. Tyypitettyjen kokoelmien käyttö on erittäin suositeltavaa (muun muassa vältytään tyyppimuunnoksilta) ja siksi suosittelemme tämän toiminnon käyttämistä.
3 Extract Method luo uuden metodin valitusta koodipätkästä. Tämän toiminnon voi varsin helposti tehdä myös käsin ilman Eclipsen apua, ja haluammekin korostaa itse käytäntöä pitkien metodien sijaan kannattaa usein erottaa loogisia kokonaisuuksia yksityisiksi metodeiksi koodin hahmotettavuuden parantamiseksi. Sama tilanne on vakioiden ja paikallisten muuttujien tapauksissa, joiden erottamiseen Eclipse myös tarjoaa vastaavan työkalun. Kaikissa näissä refaktorointitoiminnoissa on esikatseluominaisuus, jonka avulla tulevia muutoksia voi tarkastella ennen niiden suorittamista. 4 Kokemukset ja muutokset Kappaleessa käymme läpi kehittäjien kokemuksia refaktoroinnista iteraatioiden aikana. Lisäksi listaamme mahdolliset muutokset käytäntöön. 1 Suunnitteluvaihe Suunnitteluvaiheessa ei vielä saatu varsinaisia kokemuksia refaktoroinnin käytöstä, koska ohjelmointitehtävät alkoivat vasta seuraavassa iteraatiossa. 2 Iteraatio 1 Keräsimme kokemuksia refaktoroinnin käytöstä ensimmäisen iteraation aikana lähettämällä kehittäjille sähköpostikyselyn. Kysyimme, kuinka paljon ja minkä tyyppistä refaktorointia kehittäjät käyttivät. Kysyimme myös heidän mielipiteitään refaktoroinnin käytön tarpeellisuudesta ja sen vaikutuksista ohjelmiston laatuun. Kyselystä kävi ilmi, että jokainen kehittäjä käytti refaktorointia projektissamme. Keskimäärin kehittäjät ovat käyttäneet ohjelmointiajastaan alle 10% refaktorointiin. Lähinnä Valppaan kehittäjät käyttivät hieman muita enemmän aikaa refaktorointiin. Useimmiten refaktorointia käytettiin koodin luettavuuden ja ymmärrettävyyden parantamiseen. Suosituimmat refaktorointimenetelmät olivat koodin automaattinen formatointi sekä uudelleennimeämistoiminnot. Osa kehittäjistä käytti refaktorointia myös koodin rakenteen muokkaamisessa esimerkiksi luokkien vastuiden muutoksissa ja toimintojen uudelleenjärjestämisessä. Eclipsen tarjoamasta runsaasta refaktorointivalikoimasta käytettiin kuitenkin vain murto-osaa. Kukaan kehittäjistä ei kokenut refaktoroinnin käyttöä työläänä vaan se nähtiin ennemminkin erottamattomana osatekijänä ohjelmointitehtävissä. Kehittäjät eivät oppineet ensimmäisen iteraation aikana refaktoroinnista varsinaisesti mitään uutta, vaan käytetyt menetelmät olivat heille tuttuja entuudestaan. Itse opimme uusista refaktorointimenetelmistä jo edellisessä iteraatiossa jolloin teimme SEPA:n ensimmäisen vaiheen. Käyttämämme IDE:n tarjoamat automaattiset refaktorointiominaisuudet koettiin varsin hyviksi, lukuun ottamatta koodin automaattisen formatoinnin toisinaan vajavaista toimintaa. Varsinkin Eclipsen tarjoama esikatselutoiminta nähtiin hyvänä ominaisuutena. Kokonaisuutena koettiin, että Eclipse toimi hyvänä apuna refaktoroinnissa ja kannusti sen käyttöön.
4 Ryhmämme kokee, että refaktoroinnin käyttö paransi ohjelmistomme laatua. Esimerkiksi muuttujannimien vaihto käyttämällä Find/Replace -toimintoa ei olisi todennäköisesti johtanut yhtä hyvään lopputulokseen. Aika-ajoin koettiin kuitenkin, että Eclipsen formatointitoiminto teki koodista epäselvempää huonoilla rivitysvalinnoilla. 3 Iteraatio 2 Iteraation alussa järjestimme kehittäjille noin puolen tunnin koulutustilaisuuden, jossa kävimme yksityiskohtaisesti läpi myös tässä dokumentissa esitellyt Eclipsen tärkeimmät refaktorointitoiminnot. Lisäksi kehittäjille oli varattu iteraation alusta puolentoista tunnin aika oman koodin läpikäymiseen refaktorointitarpeen varalta. Koska ensimmäisen iteraation lopussa lähettämämme sähköpostikysely kehittäjien refaktoroinnin käytöstä osoittautui näppäräksi keinoksi saada yleiskuva refaktoroinnin määrästä ja menetelmistä, päätimme tehdä samantyyppisen kyselyn myös Iteraatio 2:n lopussa. Tässä kyselyssä tiedustelimme kehittäjiltä perinteisesti, kuinka paljon he käyttivät refaktorointia ohjelmointityössään. Tämän lisäksi kysyimme, kokivatko he hyödylliseksi vuoden alussa pitämämme refaktorointikoulutuksen. Kuten ensimmäisessäkin iteraatiossa, myös toisessa kaikki kehittäjät tekivät refaktorointia. Keskimäärin refaktorointiin käytettiin kehittäjien omien arvioiden perusteilla noin 15% ohjelmointiajasta. Tosin vaihtelevuutta löytyi huimasti kehittäjien välillä joku tunnusti käyttäneensä ajasta alle 5% refaktorointiin kun taas toinen kertoi käyttäneensä jopa 50%. Kaikki kehittäjät myönsivät, että Eclipsen työkaluesittelystä oli hyötyä ainakin tulevaisuuden kannalta, joskaan kaikkien mielestä ei suoranaisesti tämän projektin kannalta. Eclipsen työkaluista monet tekevät aika isoja muutoksia, jonka takia kaikkia ei tarvittu käyttää projektissa. Kaksi viidestä kehittäjästä sanoo oppineensa jotain uutta refaktoroinnista tämän iteraation aikana. Kysyimme lisäksi oliko kehittäjien mielestä Eclipsen tarjoamissa työkaluissa puutteita. Yksi oli sitä mieltä, että oli välillä epävarma olo, toimivatko ne oikein, ja toisen mielestä joissain tilanteissa oli epäselvää, mikä kohta koodista täytyisi olla valittuna tiettyä toimintoa tehdessä. Muilta osin kehittäjät kokivat, ettei työkaluissa ollut puutteita. Vaikka Eclipsen tarjoama työkaluvalikoima onkin laaja, monet kehittäjät tekivät varsinkin monimutkaisimmat refaktorointitehtävät käsin. Automaattisia toimintoja käytettiin lähinnä uudelleennimeämisiin ja metodien ja muuttujien irrottamiseen koodista. Suurin osa kehittäjistä oli sitä mieltä, että refaktoroinnin käyttö paransi ohjelmistotuotteemme laatua merkittävästi. 4 Yhteenveto Yhteenvetona voidaan todeta aiheen olleen hyödyllinen projektin kannalta, sillä kaikki kehittäjät olivat sitä mieltä, että ohjelmiston laatu on merkittävästi parantunut refaktoroinnin ansiosta. Lisäksi järjestetty pikakoulutus ja lyhyt erillinen refaktorointihetki pakotti kehittäjät miettimään refaktorointitarvetta, ja vastaukset kertoivatkin kaikkien oppineen refaktoroinnista uutta. Itsellemme aiheesta voisi todeta syvyyden hieman loppuneen ensimmäisen iteraation jälkeen. Merkittävimmät uudet asiat ilmenivät ensimmäisessä iteraatiossa, ja lisäksi Antilla ei ollut lainkaan koodaustehtäviä toisessa iteraatiossa, joten refaktorointia hän ei päässyt
5 soveltamaan käytännössä. Ongelmallista refaktoroinnin yhteydessä oli sen käyttömäärän arviointi, ts. kuinka suuri osa kehittäjien ajasta kului refaktoroinnin parissa. Koska arviot vaihtelivat jopa 5 ja 50 prosentin välillä, on hyvinkin mahdollista, että kehittäjille jäi erilaiset kuvat siitä, mitkä toimet ovat refaktorointia. Toisaalta ero voi myös ainakin osittain selittyä myös toimintatapojen erilaisuudella. Todellisia käyttölukuja tärkeämpää on kuitenkin se, että refaktorointia selvästi käytettiin läpi projektin ja se koettiin yksinomaan hyödylliseksi. 5 Lähdeluettelo [1] Schach, Stephen R. Object-Oriented & Classical Software Engineering, 6th ed., [2] Eclipsen manuaali
4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T
SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen
LisätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotSEPA päiväkirja. Aihe: Staattiset menetelmät Tekijät: Mikko Halttunen 58198B, Mikko Närjänen 58122B Ryhmä: Neptune T Ohjelmistoprojekti I
SEPA päiväkirja Aihe: Staattiset menetelmät Tekijät: Mikko Halttunen 58198B, Mikko Närjänen 58122B Ryhmä: Neptune T-76.4110 Ohjelmistoprojekti I Sisällysluettelo Sisällysluettelo...2 1. Johdanto...3 2.
LisätiedotSEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus
SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön
Lisätiedotdokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant
AgilElephant Testausraportti I1 Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: Testausraportti Sivu 1 / 5 Dokumentti Historia Muutoshistoria Revision Numero Revision Päiväys Yhteenveto muutoksista Revision
LisätiedotEclipse ja JUnit-ohjelmoijatestit
Eclipse ja JUnit-ohjelmoijatestit Tarkoitus on tutustua Eclipsen käyttöön vähän lähemmin ja varsinkin JUnit-ohjelmoijatesteihin (ohjelmoijatesti on vanhalta nimeltä yksikkötesti). Ohjelmoijatestit ovat
LisätiedotMenetelmä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ätiedotCOTOOL dokumentaatio SEPA: Refaktorointi
Table of Contents Refaktorointi................................................................................ 1 1 Tehtävänanto.............................................................................
LisätiedotTT00AA12-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ätiedotYllä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ätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotJReleaser 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ätiedotOhjelmointi 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ätiedotSEPA 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ätiedotProject group Tete Work-time Attendance Software. Henkilökohtainen SE harjoitus: loppuraportti
Project group Tete Work-time Attendance Software Henkilökohtainen SE harjoitus: loppuraportti Staattiset menetelmät Jaakko Nyrölä T-76.115 Software project 2(8) Muutosloki Versio Pvm Tekijä Kuvaus 1.0
LisätiedotKieliversiointityö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ätiedotProject group Tete Work-time Attendance Software
Project group Tete Work-time Attendance Software Henkilökohtainen SE harjoitus: etenemisraportti Projektin etenemisen seuranta ja kontrollointi Niilo Fredrikson T-76.115 Software project 2(5) Muutosloki
LisätiedotFENG OFFICE -PROJEKTINHALLINTATYÖKALU
1(5) FENG OFFICE -PROJEKTINHALLINTATYÖKALU Verkkoprojektissa tarkoituksenmukaisen projektinhallintatyökalun käyttö vähentää viestintään kuluvaa työaikaa merkittävästi, kun projektin osapuolilla on reaaliaikainen
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton
2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.
LisätiedotBlueJ 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ätiedotAutomaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure
Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon
LisätiedotCOTOOL dokumentaatio Testausdokumentit
Table of Contents Testausraportti.............................................................................. 1 1 Tiivistelmä...............................................................................
Lisätiedot812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä
2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa
LisätiedotGood Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi
Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006-11-25 Janne Mäkelä Alustava 1.0 2006-12-10 Janne Mäkelä Valmis 1.
LisätiedotT SEPA - päiväkirja: Design Patterns. ETL työkalu
T-76.115 SEPA - päiväkirja: Design Patterns ETL työkalu Versio Päivämäärä Tekijä Kuvaus 1.0 25.10.2004 Jani Honkanen PP-vaiheen jälkeinen versio 1,1 26.11.2004 Mika Suvanto I1- vaiheen kokemuksia lisätty
LisätiedotOppilaan pikaopas. Project 2013 käyttöliittymä ja näkymät
1 Oppilaan pikaopas Project 2013 käyttöliittymä ja näkymät Kun avaat Project 2013 -ohjelman, näet ensimmäisenä pelkistetyn näkymän. Uusi Project 2013 voi auttaa projektinhallinnassa kuten esim. projektitietojen
LisätiedotOliosuunnitteluesimerkki: 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ätiedotTarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen
Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit
LisätiedotTestivetoinen ohjelmistokehitys
Testivetoinen ohjelmistokehitys Ohjelman luominen pienin askelin 1. Kirjoita testi, joka testaa ohjelmalle myöhemmin lisättävää toiminnallisuutta. 2. Suorita testi. Testin ei tule mennä läpi. Mikäli testi
LisätiedotHirviö. Design Patterns
Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 8. helmikuuta 2005 1 Sisältö 1 Johdanto 3 2 Menetelmän käytäntöön soveltaminen 3 3 Kokemuksia ja muutoksia 3 3.1 PP..........................................
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse
LisätiedotMaastotietokannan 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ätiedotC# 3.0:n uudet ominaisuudet Language Integrated Query...45
Luku 1 Johdanto... IX Tutustutaan Visual Studioon Visual Studion uusin versio...2 Mikä Visual Studio on?...2 Tuki tiimityölle eli Visual Studio Team System...4 Microsoft Expression -tuoteperhe...5 Visual
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
LisätiedotOhjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto
Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Mäkinen / Ohjelmistojen laadun parantaminen / Ohjelmistoprosessit ja ohjelmistojen laatu
LisätiedotSisällys. 16. Lohkot. Lohkot. Lohkot
Sisällys 16. ohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.1 16.2 ohkot aarisulut
LisätiedotKäyttöliittymän muutokset ProCountorin versiossa 3.0
13.04.2008 Sivu 1(6) Käyttöliittymän muutokset ProCountorin versiossa 3.0 Tiivistelmä ProCountor-taloushallinto-ohjelmistosta on julkistettu uusi versio 3.0. Uusi ohjelmistoversio sisältää monia parannuksia
LisätiedotSuomi.fi: Asiointi ja lomakkeet osion käyttöliittymämallien käyttäjätestaus. Testaustulosten esittely
1 Suomi.fi: Asiointi ja lomakkeet osion käyttöliittymämallien käyttäjätestaus Testaustulosten esittely 14.1.2009 Paula Hupponen ja Tino Rossi / Steerco Oy 2 Esityksen sisältö Käyttäjätestauksen toteutus
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotCLOUDBACKUP TSM varmistusohjelmiston asennus
Luottamuksellinen JAVERDEL OY CLOUDBACKUP TSM varmistusohjelmiston asennus Copyright 2 (9) SISÄLLYSLUETTELO 1 ASENNUSOHJE WINDOWS KÄYTTÖJÄRJESTELMÄLLÄ VARUSTETTUIHIN LAITTEISIIN... 3 1.1 Yleistä... 3 1.2
LisätiedotOhjelmoinnin 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ätiedot13/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ätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
LisätiedotRajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
LisätiedotAsiakas ja tavoite. Tekninen toteutus
Asiakas ja tavoite Heikieli on vuonna 2015 perustettu yhden hengen asiantuntijayritys, joka tarjoaa käännös- ja oikolukupalveluita englannista ja saksasta suomeksi. Freelance-kääntäjiä on Suomessa paljon,
LisätiedotVersio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio
Testiraportti 26.2.2006 1/5 - Noheva II Testiraportti Versio Päiväys Tekijä Kuvaus 1.0 26.2.2006 Tikkanen varsinainen versio 1 Yleistä Toteutusvaiheen 2 virallinen testaus on muodostunut automaattisista
LisätiedotTekstinkäsittelyn jatko. KSAO Liiketalous 1
KSAO Liiketalous 1 Tyylien käyttö on keskeinen osa tehokasta tekstinkäsittelyä. Merkki- ja kappalemuotoilujen tallentaminen valmiiksi tyyleiksi nopeuttavat tekstinkäsittelyä; tekstin kirjoittamista ja
LisätiedotSisä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ätiedotVERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D
VERSIONHALLINTA PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D Versio Päivä Tekijä Kuvaus 0.1 26.10.2005 Kaarlo Lahtela Ensimmäinen versio 0.2 10.12.2006 Lauri Kiiski Suomennettu 3 (8 ) SISÄLLYS
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
LisätiedotPakkauksen kokoaminen
13. Pakkaukset 13.1 Sisällys Pakkauksen kokoaminen package-määrettä käyttäen. Pakkaukset ja hakemistorakenne. Pakkauksen luokkien käyttö muissa pakkauksissa importlauseen avulla. Pakkaukset ja näkyvyys.
LisätiedotSisällys. 11. Rajapinnat. Johdanto. Johdanto
Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.
LisätiedotSATAKUNNAN AMMATTIKORKEAKOULU. Hakala Toni Varpelaide Heidi TEKSTINKÄSITTELYN OHJEET CASE: OPINNÄYTETYÖN RAPORTOINTI WORDILLA
SATAKUNNAN AMMATTIKORKEAKOULU Hakala Toni Varpelaide Heidi TEKSTINKÄSITTELYN OHJEET CASE: OPINNÄYTETYÖN RAPORTOINTI WORDILLA Liiketalous ja tietojenkäsittely Huittinen Liiketalous Taloushallinto 2005 1
LisätiedotHELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu
HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /
LisätiedotTAMK Ohjelmistotekniikka G Graafisten käyttöliittymien ohjelmointi Herkko Noponen Osmo Someroja. Harjoitustehtävä 2: Karttasovellus Kartta
TAMK Ohjelmistotekniikka G-04237 Graafisten käyttöliittymien ohjelmointi Harjoitustehtävä 2: Karttasovellus Kartta TAMK Karttasovellus Kartta Sivu 2/8 Sisällysluettelo 1. JOHDANTO...3 2. VAATIMUSMÄÄRITTELY...
LisätiedotVisma Business AddOn Tositteiden tuonti. Käsikirja
Visma Business AddOn Tositteiden tuonti Käsikirja Oppaan päiväys: 10.2.2012. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin
LisätiedotSisällys. 15. Lohkot. Lohkot. Lohkot
Sisällys 15. Lohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.1 15.2 Lohkot Aaltosulkeet
LisätiedotKysely lähetettiin Helmen kautta toukokuun lopussa 2018 Vastausaika kaksi viikkoa Vastauksia tuli 548 suomenkielistä ( peruskoululaisia n 4000) ja
2018 Kysely lähetettiin Helmen kautta toukokuun lopussa 2018 Vastausaika kaksi viikkoa Vastauksia tuli 548 suomenkielistä ( peruskoululaisia n 4000) ja 161 ruotsinkielistä (peruskouluikäisiä n 900) 21%
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotSisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2
6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma
LisätiedotTEEMA 3 TEKSTIDATAN KÄSITTELY JA JULKAISEMINEN LUENTO 5 TEKSTINKÄSITTELY
TEEMA 3 TEKSTIDATAN KÄSITTELY JA JULKAISEMINEN LUENTO 5 TEKSTINKÄSITTELY TIEY4 Tietotekniikkataidot Kevät 2019 Juhani Linna 3.4.2019 LUENTO 5 2.4.2019 Tällä luennolla Taustaa harjoituksiin 7 ja 8: 1. Yleistä
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
LisätiedotFiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen
FiSMA 1.1 Monikerrosarkkitehtuuri 1 (7) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen
LisätiedotVersion päivittäminen
Version päivittäminen Puh: 02-2767 171 Fax: 02-2767 170 www.ecom.fi asiakaspalvelu@ecom.fi 1 Uuden version haku internetistä ja ohjelmiston rekisteröinti...3 1.1 Ohjelmiston Rekisteröiminen...3 1.2 Internet-rekisteröinnin
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3
15. Lohkot 15.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.2 Lohkot Aaltosulkeet
LisätiedotWeb-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k
1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.
LisätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia
LisätiedotCIRI Ontologiaperustainen tiedonhakuliittymä
CIRI Ontologiaperustainen tiedonhakuliittymä Eija Airio, Kalervo Järvelin, Sari Suomela, Pirkko Saatsi ja Jaana Kekäläinen Tampereen yliopisto Informaatiotutkimuksen laitos Ontologian kolmitasomalli kehitetty
LisätiedotOnnistunut ohjelmistoprojekti
Onnistunut ohjelmistoprojekti ICT-ajankohtaisseminaari 15.4.2009 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt
Lisätiedot7/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ätiedotTIE Principles of Programming Languages CEYLON
TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita
Lisätiedoterasmartcardkortinlukijaohjelmiston
erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...
LisätiedotVäitöskirja -mallipohja
Väitöskirja -mallipohja Ohje: Word 2003 -versiolle Tietohallintokeskus hannele.rajaniemi@jyu.fi Sisältö Miksi tyylit ovat käteviä? Miten toimii asiakirjamallipohja? Miten lisään tekstiä: a) kirjoitan itse
LisätiedotDigi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat
Selvitys GPL-lisensoinnin tuomat ongelmat Sisällysluettelo 1. Johdanto...3 2. Ongelman kuvaus...4 3. Eri tulkinnat GPL-lisenssistä...5 3.1. Tiukka tulkinta...5 3.2. Väljä tulkinta...5 3.3. Kompromissitulkinta...5
LisätiedotWritten by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36
!!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat
LisätiedotTekstinkäsittely ja opinnäytetyö I sisällysluettelo ja sivunumerointi. Word 2007
Tekstinkäsittely ja opinnäytetyö I sisällysluettelo ja sivunumerointi Word 2007 Perttu Suhonen 2008 Sisällysluettelo 1 Sisällysluettelon tekeminen...5 1.1 Monitasoinen numerointi...5 1.2 Otsikkotyylien
LisätiedotAutomaattinen 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ätiedotSOLIDPDM 6 Plus uudet ominaisuudet osa 2
SolidPDM 6 Plus 1 (8) SOLIDPDM 6 Plus uudet ominaisuudet osa 2 SolidPDM 6 Plus -versioon on lisätty uusia ominaisuuksia. Tämä dokumentti on jatkoa aiemmin ilmestyneelle SolidPDM uudet ominaisuudet julkaisulle,
LisätiedotEclipse, SVN ja HelloWorld
Eclipse, SVN ja HelloWorld Lähtökohtana tälle harjoitukselle on, että tietokoneeseen on jo asennettu Eclipse ja siihen SVN-lisäke. Kun käynnistät Eclipsen ensimmäistä kertaa uudella työtilalla, se näyttää
LisätiedotXPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy
IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,
LisätiedotAS-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ätiedotSEPA - Design Patterns
SEPA - Design Patterns Kimmo Karlsson, 51066R & Antti Pirinen, 51406N 15. maaliskuuta 2005 1 Sisältö 1. Sisältö 2. Johdanto 3. Käyttöönotto 4. Käyttökokemukset 2 Johdanto Valitsemamme ohjelmistonkehityskäytäntö
LisätiedotTyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006
Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet TIES341 Funktio-ohjelmointi 2 Kevät 2006 Alkuperäislähteitä Philip Wadler & Stephen Blott: How to make ad-hoc polymorphism less ad-hoc,
LisätiedotMOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT
MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa
LisätiedotJohdanto 1. Projektille esiteltävä versio. Kokemukset ja muutokset 3. Projektille esiteltävä versio. Iteraatio 2., suunnitelma
SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön
LisätiedotSokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen
LisätiedotSisäänrakennettu tietosuoja ja ohjelmistokehitys
Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology
LisätiedotOhjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista
582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)
LisätiedotOffice 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ätiedotMatopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö
Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut
LisätiedotOlio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin
Olio-ohjelmointi: Luokkien toteuttaminen Jukka Juslin Luokkien kirjoittaminen Tähän mennessä on käytetty valmiiksi määritettyjä luokkia. Nyt opimme kirjoittamaan omia luokkia olioiden kuvaamiseksi Seuraavaksi
LisätiedotVisma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle
Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle 2 Sisällys 1 Palvelunhallinta... 3 1.1 Käyttäjäryhmän luominen... 3 2 Tehtävienhallinta- perustiedot... 4 2.1 Yhtiön perustiedot... 4 2.2 Tehtävä-/
LisätiedotSolidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi
Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on
LisätiedotPredictable 5 Uudet ominaisuudet
Predictable 5 Uudet ominaisuudet Sisällys 1. Sisäänkirjautuminen ja varmuuskopiointi... 3 2. Lauseiden etsiminen... 3 3. ios-äänet... 4 4. 10-näppäiminen näppäimistö... 4 5. Apple & näppäimistön laajennukset...
LisätiedotTest-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ätiedotT Refaktorointi
T-76.115 SEPA päiväkirja Refaktorointi Jani Heikkinen Kim Nylund 15. maaliskuuta 2005 1 Sisältö 1 Esittely 3 2 Menetelmä projektikäytössä 3 3 Kokemukset ja muutokset suunnitelmaan 4 3.1 Suunnitteluvaihe...........................
LisätiedotOperaattorin ylikuormitus ja käyttäjän muunnokset
13 Operaattorin ylikuormitus ja käyttäjän muunnokset Luvussa 7, "Ominaisuudet, taulukot ja indeksoijat," opit, miten luokan yhteydessä käytetään ohjelmallisesti []-operaattoria, jolloin objektia voidaan
Lisätiedot