Aspektiohjelmointiympäristöt
|
|
- Kirsi Auvinen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 hyväksymispäivä arvosana arvostelija Aspektiohjelmointiympäristöt Jesse Hallio Helsinki seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Matemaattis luonnontieteellinen Tekijä Författare Author Jesse Hallio Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos Aspektiohjelmointiympäristöt Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages seminaari sivua Tiivistelmä Referat Abstract Aspektipohjainen ohjelmointi on kasvattanut suosiotaan 1990-luvun lopulta alkaen. Aspektipohjaista ohjelmointia helpottavat kehitystyökalut ovat yleistyneet vasta viimevuosina. AspectJ kieli, AspectJ developer tools (AJDT) ja Eclipsekehitysympäristö ovat työkalujen kehityksen kärjessä. Tämä kirjoitelma pyrkii kuvaamaan AJDT 1.3:sen tarjoamat työkalut Eclipse kehitysympäristössä AspectJ:lle. Avainsanat Nyckelord Keywords Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information
3 Sisältö ii 1 Johdanto 1 2 Aspektityökalut 2 3 AspectJ ja Eclipse AspectJ kääntäjä Selaaminen ja navigointi Muokkaaminen Muutoksenhallinta Debugger Dokumentointi Tulevaisuus Yhteenveto 7 Lähteet 7
4 1 Johdanto 1 Aspektipohjainen ohjelmointi[klm97] on saavuttanut ohjelmistokehittäjien keskuudessa suurta huomiota 1990-luvun lopulta alkaen. Aspektipohjaisessa ohjelmoinnissa on ajatuksena esittää ohjelmiston poikkileikkaavia ei-toiminnallisia ominaisuuksia, joiden toteuttaminen perinteisen ohjelmointiparadigman yhteydessä on äärimmäisen työlästä ja virhealtista [KLM97]. Poikkileikkaavia ominaisuuksia ovat esimerkiksi lokitus ja käyttöoikeuksien varmistaminen. Aspekteilla voidaan myös toteuttaa pienempään ohjelman osaan kohdistuvia toiminnallisuuksia, kuten välimuistitusta. Aspektipohjaisessa ohjelmoinnissa koko ohjelmakoodi koostuu toiminnallisesta ohjelmakoodista, aspektien liitoskohtamäärittelyistä sekä kehotteista. Kehotteet määrittelevät aspektin sisältämän ohjelmakoodin. Liitoskohtamäärittelyt määrittelevät millä perusteella kohdat (liitoskohdat) toiminnallisesta ohjelmakoodista valitaan joihin kehotteiden sisältämä koodi liitetään. Kehotteet ja liitoskohtamäärittelyt sijaitsevat eri tiedostoissa kuin toiminnallinen ohjelmakoodi, eikä toiminnallisessa ohjelmakoodissa ole mitään viitteitä suoraan liitoskohtamäärittelyihin. Aspektit lisätään toiminnalliseen ohjelmakoodiin punonnalla, joka voidaan suorittaa käännösaikaisesti (staattinen punonta) tai ajonaikaisesti (dynaaminen punonta) [KLM97]. Aspektit siirtävät läpileikkaavan toiminnallisuuden ohjelmakoodin keskitetysti kehotteisiin, joten läpileikkaavan toiminnallisuuden muuttuessa tai uusia läpileikkaavia toiminnallisuuksia lisätessä ohjelmakoodia tarvitsee muuttaa vain yhdestä paikasta ja se tulee käyttöön kaikkialla mihin liitoskohtamäärittely on kehotteen määritellyt liitettäväksi. Toinen aspektipohjaisen ohjelmoinnin hyöty on se, että toiminnallista ohjelmakoodia toteuttavan ohjelmoijan ei yleensä tarvitse olla tietoinen aspekteista toteuttaessaan ohjelmakoodia. Se on myös suuri haitta, sillä mikään toiminnallisessa ohjelmakoodissa ei osoita mitkä kehotteet vaikuttavat mihinkin kohtaan toiminnallista ohjelmakoodia [KLM97]. Seuraavassa luvussa käsitellään yleisesti toiminnallisuuksia mitkä liittyvät aspektiohjelmointiympäristöihin. Koska AspectJ:stä on tullut aspektikielien tunnustetuin toteutus sekä Eclipse kehitysympäristöstä suosituin aspektikehitysympäristö, luvussa kolme esitellään AspectJ:n käyttöä Eclipse kehitysympäristössä.
5 2 Aspektityökalut 2 Aspektipohjaisen ohjelmointikielen lisääminen olemassaolevaan kieleen vaatii vähintään yhden työkalun: punojan. Punojan tehtävänä on liittää määritellyt kehotteet toiminnalliseen ohjelmakoodiin joko ennen pääkielen kääntämistä, sen kääntämisen jälkeen tai ajonaikaisesti. Käytännössä jokainen aspektijärjestelmä tarjoaa vähintään komentoriviltä ajettavan punojan jotta kieltä pystyy käyttämään. Komentorivityökalut eivät tarjoa yleensä kehittämistä helpottavia palveluita vaan suorittavat vain pelkän punonnan. Esimerkiksi AspectC++:lle [SGS02] on tarjolla vain punoja. Integroidut kehitysympäristöt tarjoavat normaaleille ohjelmointikielille yksittäisen ohjelmakooditiedoston selailua tehokkaamman tavan navigoida ohjelmiston sisällä. Kehitysympäristö tunnistaa ohjelmointikielen ja rakentaa puumaisia listoja eri pakkausten, luokkien, metodeiden ja muuttujien sisällöstä ja mahdollistaa tehokkaan navigoinnin eri ohjelmakooditiedostojen välillä. Ohjelmaa kirjoittaessa editori tarjoaa erinäisiä kirjoitusapuja ohjelmoijalle, kuten luokka-, muuttuja- ja metodinimen täydennystä ja metodien mahdollisten argumenttilistojen esittämistä. Aspektipohjaiset ohjelmointikielet lisäävät tarvetta ohjelmakoodin selailun avuille sekä tukea aspektikielen kirjoittaselle kuten normaalillekin ohjelmointikielelle. Erityisen hyödyllinen navigointirakenne aspektikielille on esitys kehotteista ja liitoskohtamäärittelyistä niihin ohjelmiston liitoskohtiin joihin punonnassa kehotteen sisältö liitetään, sekä ohjelmakoodissa esitys siitä, mitkä kehotteet ollaan punomassa mihinkin kohtaan ohjelmakoodia [MWB01]. Normaalin ohjelmakoodin refaktorointityökalut ovat osoittautuneet myös hyödyllisiksi aspektiohjelmoinnissa. Niiden avulla saadaan tehokkaasti esille uusia liitoskohtia olemassaolevasta ohjelmakoodista johon on tarkoitus lisätä kehotteita [MWB01]. Myös aspekti refaktorointityökalut, joiden kohde on aspektit itse, auttavat itse aspektien ylläpidossa ja jatkokehityksessä. Aspektitietoinen virheidenpoistotyökalu (debugger) on myös olennainen osa aspektiohjelmointikielen integroimista ohjelmistoympäristöön. Muita hyödyllisiä työkaluja ovat automaattiset dokumentoinningeneroijat sekä hyvälaatuinen dokumentointi aspektikielestä itsestään ja aspektikielen integroinnin käytöstä kehitysympäristössä [Ker05b].
6 3 AspectJ ja Eclipse 3 Java alustalle on tarjolla useita aspektikieliä sekä integroituja kehitysympäristöjä. Aspektikielistä aktiivisimmin käytettyjä ovat AspectJ[Asp05], Spring AOP[Spr05] ja JBoss AOP[JBo05]. Integroiduista kehitysympäristöistä suosituimpia ovat Eclipse[Ecl05], NetBeans[Net05], JBuilder[JBu05] ja JDeveloper[JDe05]. Kaikista mahdollisista edellämainituista aspektikieli kehitysympäristö pareista vain AspectJ:n kehitystyökalut Eclipselle[AJD05] seuraavat sekä kehitysympäristön ja aspektikielen kehitystä aktiivisesti ja ovat jatkuvan kehityksen kohteena [Ker05a]. Tämä työkalukuvaus keskittyy AspectJ:n versioon 1.5, Eclipsen versioon 3.1 ja AspectJ:n kehitystyökalujen Eclipselle (AspectJ Development Tools, AJDT) versioon 1.3. Tätä kirjoittaessa AspectJ:n versio 1.5 ei ole vielä julkaistu, vaan kuvaus keskittyy milestoneen AspectJ kääntäjä Koska AspectJ laajentaa java kielen syntaksia, niin punoja on normaalista kääntäjästä eroava uusi kääntäjä, joka korvaa normaalin java kääntäjän ja tuottaa suoraan luokkatiedostojen tavukoodin. Punoja, ajc, on laajennus Eclipsen kääntäjän päälle, mutta toimii Eclipse kehitysympäristöstä täysin erillään ja myös komentoriviltä aivan kuten javan normaali kääntäjä, javac. AspectJ:n tapa toteuttaa aspektit laajentamalla javaa rajoittaa myös sillä tehtyjen projektien yhteydessä käytettäviä muita työkaluja. Työkalut, jotka käsittelevät java lähdekoodia suoraan, eivät toimi AspectJ:n kanssa. Jokainen ulkoinen ja erillinen työkalu pitää erikseen muokata tukemaan AspectJ:tä [Ker05b]. Koska AspectJ:n kääntäjä on laajennettu versio Eclipsen käyttämästä kääntäjästä, toimii se suoraan Eclipsen sisällä. Kääntäjä on täysin integroitu kehitysympäristöön ja tukee sen kaikkia ominaisuuksia, kuten ohjelmakoodin kääntämistä samaan aikaan tiedostojen muokkaamisen kanssa rinnakkain, sekä käännösvirheiden esittämistä problems näkymässä. Koska AspectJ on laajennus java kieleen, pystyy kääntäjä tarkistamaan staattisesti (käännösaikaisesti) aspektiohjelmakoodin ja esittämään koodista virheet ongelmat näkymässä (Problems) myös aspektikoodin osalta sitä mukaa kun aspektia muokataan [Ker05b]. Jos käytettävissä on vain class tiedostot tai jar paketti ohjelmakoodista, tai muusta syystä aspektit ovat erillään java lähdekoodista, eivät seuraavassa aliluvussa mainitut selaamiseen ja navigointiin tarkoitetut työkalut ole käytettävissä. AJDT tarjoaa
7 4 kuitenkin mahdollisuuden selvittää mihin aspektit punotaan. Eclipsen käännöksen saa tulostamaan ongelmat näkymään jokaisesta punonnasta ilmoitusrivin joka kertoo mihin luokkaan ja mille riville kehote on punottu. Lista päivittyy aina Eclipsen suorittaessa käännöksen, joten aspektien lisääminen vain binäärimuodossa saataviin ohjelmiin on mahdollista ilman että työskentelyn joutuu tekemään täysin ilman apuvälineita [Cha05]. 3.2 Selaaminen ja navigointi AJDT tarjoaa AspectJ projektien selailuun ja navigointiin tehokkaita työkaluja. Aspektitietoisuus on integroitu moniin Eclipsen normaaleista näkymistä, ja AJDT tuo mukanaan muutaman uuden näkymän. Pieni mutta äärimmäisen hyödyllinen lisäys Eclipsen normaaleihin näkymiin on koristaja (decorator), pieni oranssi nuolenpää joka lisätään java elementtien pikku ikonin vasempaan reunaan. Nuolenpää on nähtävillä kaikissa listoissa, joissa on java elementtejä, kuten paketti (Package), yleiskatsaus (Outline) ja ristiinviittaus näkymissä (Cross References). Nuolenpää kertoo, että java elementtiin vaikuttaa kehote suoraan, tai se sisältää liitoskohtamäärittelyn joka liittyy kehotteeseen [Cha05]. AJDT:hen liittymättömiä, mutta aspektien kanssa työskentelyssä käteviä työkaluja ovat Eclipsen kattavat refaktorointityökalut erityisesti vanhan ohjelmakoodin muokkaamisessa aspektikäyttöön. Eclipsen normaali Paketti näkymä näyttää AJDT:n kanssa myös aspektit ja aspektimäärittelyt. Erityyppiset kehotteet eritellään toisistaan erilaisen pikku ikonien avulla, ennen (before), jälkeen (after) ja ympärillä (around) [Cha05]. Myös muilla aspektimäärittelyillä on omat pikku ikoninsa, kuten määrittele varoitus (declare warning) ja määrittele virhe (declare error) [ChH04]. Eclipsen normaalin Yleiskatsaus näkymän rinnalle saa avattua ristiinviittaus näkymän. Ristiinviittaus näkymä seuraa oletuksena editori näkymää (tarvittaessa seuraamisen saa pois päältä) ja esittää ristiinviittauksia aspektien ja muun ohjelmakoodin välillä. Kun aktiivisessa editori näkymässä ja siten myös yleiskatsaus näkymässä on luokan lähdekoodi, näyttää ristiinviittaus näkymä mitkä kehotteet vaikuttavat mihinkin muokattavan luokan metodiin. Kehotteista pääsee navigoimaan kehotteiden lähdekoodiin. Kun aktiivisessa editori näkymässä ja siten myös yleiskatsaus näkymässä on kehotteen lähdekoodi, näyttää ristiinviittaus näkymä mihin luokkiin ja metodeihin kehote vaikuttaa. Listatuista metodeista pääsee navigoimaan metodien lähdekoodiinkoodiin [Cha05]. Yleiskatsaus näkymän ja ristiinviittaus näkymän avulla on tehokasta navigoida metodeiden ja niihin vaikuttavien aspektien väliä, jo-
8 5 ka vähentää olennaisesti ongelmia jotka muodostuvat tietämättömyydestä mitkä aspektit vaikuttavat mihinkin luokkiin, liitoksen molemmista päistä katsoen. Projektitason visualisointiin AJDT tarjoaa aspektivisualisointi perspektiivin (Aspect Visualization Perspective). Aspektivisualisaattori esittää projektissa olevat luokat pystyssä olevina palkkeina luokkien pituuksien mukaan. Viereiseltä listalta voi poimia projektiin kuuluvia aspekteja joiden vaikutukset eri luokkiin esitetään palkkeihin väritettyinä vaakaviivoina suhteellisiin kohtiin suhteessa lähdekoodiin. Visualisaattoria voi myös käyttää navigointiin; hiirellä voi valita palkeista kohdan minkä lähdekoodi ladataan perspektiivin editori näkymään. Aspektivisualisaattori tarjoaa hyvän yleiskuvan projektista ja aspektien vaikutusten laajuudesta, ja on hyvä työkalu tutustuessa uuteen aspekteja käyttävään projektiin [ChH04, Cha05]. 3.3 Muokkaaminen Lähdekoodia selatessa ja muokatessa AJDT lisää editori näkymän vasempaan reunaan pikku ikonin kertomaan jos riviin liittyy kehote. Ikonin tyyppi voi olla ennen, jälkeen tai ympärillä. Lisäksi ikonissa voi olla pieni kysymysmerkki, joka kertoo, että päätös kehotteen ajamisesta tapahtuu vasta ajonaikaisesti. Oikealla hiiren nappulalla saa ikonista esiin kontekstivalikon, josta voi navigoida ristiinviittaus-näkymän tavoin ohjelman lähdekoodista kohtaan liittyviin kehotteisiin, tai kehotteen lähdekoodista ohjelman lähdekoodin kohtiin mihin kehote vaikuttaa [Cha05]. 3.4 Muutoksenhallinta AJDT tarjoaa myös apua muutoksenhallintaan aspektiprojektissa. Läpileikkausten vertailu (Crosscutting Comparison) on työkalu kahden eri aikaan vallinneen tilanteen vertailuun aspektien vaikutuksissa ohjelmakoodiin. Työkalu on tehokas löytämään tilanteita missä ohjelmakoodin muutosten takia liitoskohtamäärittelyt eivät enää osu haluttuihin kohtiin. Työkalu tarjoaa aspektien käyttöön liittyvät muutokset listana, jossa on lisäykset ja poistot sekä luokat ja aspektit joihin muutokset kohdistuvat. Listaa voi rajoittaa yhteystyyppien mukaan ja aspektien sekä luokkien nimistä voi navigoida kyseisiin tiedostoihin, jos tiedostot ovat vielä olemassa. Vertailua voi tehdä kahden tallennetun ajan pisteen välillä, tai tallennetun ajan pisteen ja nykyhetken välillä. Nykyhetkeen vertaillessa lista päivittyy aina käännöksen yhteydessä automaattisesti, joka antaa hyvän kuvan muutosten vaikutuksista ohjelmakoodia kirjoittaessa [Cha05].
9 6 3.5 Debugger Virheidenpoistotyökalu, debugger, on tehokas työkalu virheiden poistamisessa. Eclipsen normaali debugger toimii AJDT:n kanssa täysin samalla tavalla, eikä eroa mitenkään Eclipsen normaalista, vaan on yhtä helppokäyttöinen myös aspektikoodin kanssa. Mitään rajoitteita debuggerin käytössä ei ole. Ainoastaan, jos tarvitsee kyetä pysähtymään ympärillä kehotteisiin, joutuu muuttamaan asetuksia kääntäjästä laittamalla inline toiminnon pois päältä [ChH04]. 3.6 Dokumentointi Dokumentointia kehitysympäristössä voidaan käsittää kahdella tavalla. Se voidaan käsittää tarjoittavan joko AJDT:n ja AspectJ:n dokumentointina, tai AspectJ:llä tehdyn projektin dokumentointina. AJDT:n ja AspectJ:n dokumentaatio integroituu saumattomasti osaksi Eclipsen help toiminnetta, ja haluamansa tiedon löytää tehokkaasti Eclipsen help:in hakutoiminnolla. AspectJ tarjoaa oman kääntäjänsä tavoin myös oman JavaDoc työkalun, ajdoc:n. Ajdoc on tarkoitettu korvaamaan javan oma javadoc komento aivan samalla tavalla kuin AspectJ:n ajc korvaa javan javac:in. Ajdoc luo ohjelmakoodista samanlaista dokumentaatiota kuin normaali javadoc:kin, mutta lisää jokaisen metodin kuvaukseen tiedon mitkä kehotteet liittyvät metodiin. Kehotteen nimi on linkki kehotteen omaan javadoc sivuun [ChH04]. 3.7 Tulevaisuus Tulevaisuuden näkymissä AJDT:lle nähdään refaktoroinnit aspekteille kun tutkimus edistyy aiheesta enemmän [Ker05b, Cha05], lisääntynyt tuki aspektikirjastojen kehittämiseen ja käyttämiseen [Cha05] sekä uusia työkaluja rajoittaa informaatiotulvaa mikä syntyy kun ohjelmassa käytetään valtavia määriä läpileikkaavia toimintoja [Cha05]. AJDT:n tulevaisuuden näkymät ovat kuitenkin epävarmat, sillä AJDT:n kehitysprosessi on hyvin käyttäjäläheinen. Kehityksen prioriteetit määrittelevät käyttäjät tarpeineen ja siksi käyttäjiä rohkaistaan osallistumaan keskusteluun tulevista laajennuksista [Cha05].
10 4 Yhteenveto 7 Aspektikielistä Javan AspectJ ja sen kehitystyökalu, AJDT, Eclipse kehitysympäristöön ovat toimiva kokonaisuus olennaisia työkaluja aspektiohjelmointiin. AJDT tarjoaa monia ohjelmakoodin ja aspektikoodin selailutyökaluja, integroidun kääntäjän, ohjelmakoodin kirjoittamista aspektiympäristöön helpottavia toimintoja, integroidun debuggaus työkalun ja dokumentointilaajennuksen javan normaaliin dokumentointityökaluun sekä yksinkertaisen aputyökalun muutoksenhallintaan erityisesti aspektiympäristössä. Työkalujen kehitys on aktiivista ja seuraa tehokkaasti sekä AspectJ:n että Eclipsen kehitystä joten AspectJ:n tulevaisuus näyttää hyvältä. Lähteet AJD05 Asp05 ChH04 Cha05 Ecl05 JBo05 JBu05 JDe05 Ker05a AJDT: AspectJ development tools website. ajdt/. [ ] AspectJ: a seamless aspect-oriented extension to the java tm programming language. [ ] Chapman, M. ja Hawkins, H., Develop aspect-oriented Java applications with Eclipse and AJDT. IBM developerworks. com/developerworks/library/j-ajdt/. [ ] Chapman, M., AOP@Work: New AJDT releases ease AOP development. IBM developerworks. developerworks/java/library/j-aopwork9/. [ ] The Eclipse Development Environment. [ ] JBoss Aspect Oriented Programming (AOP). products/aop. [ ] Borland JBuilder Development Environment. com/jbuilder/. [ ] Oracle JDeveloper integrated development environment. oracle.com/technology/products/jdev/index.html. [ ] Kersten, M., AOP@Work: AOP tools comparison, Part 1. IBM developerworks. j-aopwork1/. [ ]
11 8 Ker05b Kersten, M., AOP tools comparison, Part 2. IBM developerworks. j-aopwork2/. [ ] KLM97 MWB01 Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M. ja Irwin, J., Aspect-oriented programming. Teoksessa Proceedings European Conference on Object-Oriented Programming, Akşit, M. ja Matsuoka, S., toimittajat, osa 1241, Springer-Verlag, Berlin, Heidelberg, and New York, 1997, sivut Murphy, G. C., Walker, R. J., Baniassad, E. L. A., Robillard, M. P., Lai, A. ja Kersten, M. A., Does aspect-oriented programming work? Comm. ACM, 44,10(2001), sivut Net05 NetBeans Development Environment. [ ] SGS02 Spr05 Spinczyk, O., Gal, A. ja Schröder-Preikschat, W., AspectC++: An aspect-oriented extension to the C++ programming language. Proceedings of the Fortieth International Conference on Tools Pacific. Australian Computer Society, Inc., 2002, sivut Spring Framework: Spring AOP: Aspect Oriented Programming with Spring. html. [ ]
arvostelija OSDA ja UDDI palveluhakemistoina.
Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution
LisätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotTyön laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month
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ätiedotKoht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa
Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos
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ätiedotAika/Datum Month and year Kesäkuu 2012
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen
LisätiedotPro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg
Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen
Lisätiedot! #! %! & #!!!!! ()) +
! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets
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ätiedotArkkitehtuurinen reflektio
Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
LisätiedotMaailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan
Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,
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ätiedotLuonnontieteiden popularisointi ja sen ideologia
Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro
LisätiedotPythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat
Lisä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ätiedotKatsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin
INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta
LisätiedotOppimateriaalin kokoaminen ja paketointi
Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
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ätiedotYksikkö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ätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely
Lisä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ä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ätiedot4.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ätiedotVisual Basic -sovelluskehitin Juha Vitikka
Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen
Lisätiedot5. 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ä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ätiedotOpenUP ohjelmistokehitysprosessi
OpenUP ohjelmistokehitysprosessi Sami Männistö Helsinki 14.11.2008 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET Tiedekunta/Osasto Matemaattis-luonnontieteellinen
LisätiedotHallintaliittymän käyttöohje
Hallintaliittymän käyttöohje 1. Yleisiä huomioita Hallintaliittymän käyttöä helpottavia yleisiä huomioita: - Käytä listanäkymien hakukentissä kentän vieressä olevaa hakunappia, älä enter-näppäintä. - Älä
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ätiedotTiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta
Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
Lisätiedot11/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ätiedotP e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN
LisätiedotHallintomallit Suomen valtionhallinnon tietohallintostrategioissa
Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa
LisätiedotHellä ensikosketus. Tomi Kiviniemi
Hellä ensikosketus Tomi Kiviniemi Asialista Vähän debuggauksen filosofiaa. GDB:n peruskäyttö Netbeansissä. GDB:n peruskäyttö komentoriviympäristössä. Hieman edistyneempää sähellystä komentoriviympäristössä.
LisätiedotEclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä
Anne Benson/Tanja Bergius Opintojakson ict1td002 käyttöön Sivu 1 / 13 Eclipse 3.2 pikku opas versio 1.0 Ohjeen sisältö: Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä
Lisätiedotarvostelija Aspektiohjelmointi Juuso Hyvönen Helsinki Kandidaatintutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
hyväksymispäivä arvosana arvostelija Aspektiohjelmointi Juuso Hyvönen Helsinki 10.12.2012 Kandidaatintutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
LisätiedotTyökalut ohjelmistokehityksen tukena
1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan
Lisätiedot5. 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ätiedotUpdateIT 2010: Editorin käyttöohje
UpdateIT 2010: Editorin käyttöohje Käyttäjätuki: Suomen Golfpiste Oy Esterinportti 1 00240 HELSINKI Puhelin: (09) 1566 8800 Fax: (09) 1566 8801 E-mail: gp@golfpiste.com Sisällys Editorin käyttöohje...
LisätiedotEclipse 3.1 Pikaopas versio 1.0
Anne Benson/Tanja Bergius Opintojaksojen atk84d ja ict02d käyttöön 1/17 Eclipse 3.1 Pikaopas versio 1.0 Pikaohjeen sisältö 1. Esittely 2. Asennus ja poistaminen 3. Sovelluskehitys 4. Sovelluksen toteutus
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ätiedotOptimePortal ja OptimeEvent versioiden yhteenveto joulukuu
OptimePortal 1.12.2 ja OptimeEvent 1.16.1 versioiden yhteenveto joulukuu 2016 www.helsinki.fi/yliopisto 1 Tilavaraus Tilavarauspyyntöä luotaessa laskutusyksikkö (ns. H-koodi) voidaan nyt valita viimeisessä
LisätiedotTä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ätiedotHakemistojen sisällöt säilötään linkitetyille listalle.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ
Lisä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ätiedotTik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti
Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu JÄRJESTELMÄN KÄYTTÖOHJE LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001
LisätiedotYlläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.
Matematiikan oppifoorumi Ylläpito-ohje Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Ohjelmistotuotantoprojekti 17.12.1999 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
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ä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ätiedotCTRL+F Android-sovellus
CTRL+F Android-sovellus Vili-Robert Hietala Opinnäytteen raportointi Sähköosasto Toukokuu 2015 KUVAILULEHTI 14.04.2015 Tekijä(t) Vili-Robert Hietala Työn laji Opinnäytteen raportointi Sivumäärä 7 Luottamuksellisuus
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äpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
Lisätiedot.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
LisätiedotTiedostonhallinta. Yleistä
Tiedostonhallinta Tiedostonhallinnan kautta voi muokata kaikkia näkymän tiedostoja. Sitä tarvitaan näkymien räätälöintiin ja joidenkin asetusten muuttamiseen. Yleistä Tiedostojen tarkastelu ja muokkaus
LisätiedotAvoimet ohjelmistokehykset
arvosana päiväys arvostelija Avoimet ohjelmistokehykset Jyri Laukkanen 24.9.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET Tiedekunta/Osasto Fakultet/Sektion
LisätiedotOhjelmiston testaus ja laatu. Testaustasot
Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet Pakkaukset ja määreet Toisiinsa liittyvät luokkatiedostot voidaan koota pakkauksiksi. Luo hierarkiaa ja järjestystä ohjelmistotuotteeseen.
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ätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
LisätiedotDart. Ryhmä 38. Ville Tahvanainen. Juha Häkli
Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi
LisätiedotOpintokohteiden muokkaus WebOodissa. Sisällys. Aluksi
Opintokohteiden muokkaus ssa Sisällys Aluksi... 1 Opintokohteen tietojen muokkaaminen... 3 Opettajat... 3 Oppimateriaali... 5 Alemmat opintokohteet... 5 Vastaavat opintokohteet... 6 Kuvaukset... 7 Linkin
LisätiedotCODEONLINE. 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ätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 12.1.2017 presemo.aalto.fi/c17 1/12/17 Mikä C? 3 Ken Thompson & Dennis Ritchie http://www.computerhistory.org/fellowawards/hall/bios/ken,thompson/ 4 Mikä C?
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
LisätiedotAsko 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ätiedotYlläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
Lisä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ätiedotMalliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)
Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE) Pasi Lehtimäki Helsinki 10.9.2007 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY
LisätiedotAsuntojen neliöhinnan vaihtelu Helsingissä (1997-2010)
hyväksymispäivä arvosana arvostelija Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) Tuomas Puikkonen Helsinki 8.1.2010 Geoinformatiikan menetelmät ja kirjallisuus -kurssin harjoitustyö HELSINGIN
LisätiedotAlkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,
LisätiedotGroovy. Niko Jäntti Jesper Haapalinna Group 31
Groovy Niko Jäntti Jesper Haapalinna Group 31 Johdanto Groovy on Apachen kehittämä Javaan perustuva dynaaminen oliopohjainen ohjelmointikieli. Kielen kehitys alkoi vuonna 2003, versio 1.0 julkaistiin 2007
LisätiedotSQL Buddy JAMK Labranet Wiki
Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset
Lisätiedotarvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi
hyväksymispäivä arvosana arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi Helsinki 6.4.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
LisätiedotEclipse & WindowBuilder
Eclipse & WindowBuilder Yleistä asiaa WindowBuilder on Eclipsessä oleva työkalu, jolla voi graafisesti tehdä käyttöliittymiä. Käyttö perustuu siihen, ettei varsinaista ohjelmakoodia tarvitse itse tehdä,
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ätiedotSoveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen
Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt
LisätiedotTest-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ä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ätiedotJoonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011
1 Joonas Ruotsalainen GIT PIKAOPAS Tutkielma 2011 2 SISÄLTÖ 1. JOHDANTO... 3 2. ASENTAMINEN... 4 3. KÄYTTÖ... 4 3.1 Perusasetukset... 4 3.2 Git:n ottaminen käyttöön projektissa... 5 3.3 Tiedostojen lisääminen
Lisä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ätiedotAndroid ohjelmointi. Mobiiliohjelmointi 2-3T5245
Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille
LisätiedotDokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi
Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-3500 Ohjelmistotuotannon projektityö LOGO:) Ryhmä XXX: Projektiryhmän nimi Projektin nimi Dokumentin nimi Jakelu: (Ryhmä) (Kurssihenkilökunta)
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ätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
Lisä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ätiedotejuttu ohjeet kuinka sitä käytetään.
ejuttu ohjeet kuinka sitä käytetään. 1. Artikkelin lisääminen a. Kirjaudu sisään b. Lisää sisältöä c. Artikkeli i. Lisää pääkuva 1. Pääkuvalle kuvateksti ii. Anna artikkelille otsikko iii. Ingressi-kenttään
LisätiedotDXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/
DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotMainosankkuri.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ätiedotLiite 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ätiedotVisma Fivaldi -käsikirja Asiakaskohtaiset hinnat
Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat 2 Sisällys 1 Yleistä... 3 2 Ylävalikko... 4 3 Vasemman laidan painikkeet... 5 4 Erikoishinnoittelut ruutu... 6 5 Raportit... 12 1 Yleistä Fivaldi Asiakaskohtaiset
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ä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ätiedotMalliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki
Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,
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ätiedot