JavaBeans Components
|
|
- Juho-Matti Hakola
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 JavaBeans Components OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Software Architectures 6. helmikuuta 2004 Mikael Kujanpää LuTK / TOL -03
2 Tiivistelmä Ohjelmistokomponentit ovat looginen jatke 80-luvulla kehitetylle olio-ohjelmoinnille. Komponentit ovat erilaisia pieniä keskenään eri tavoin kommunikoivia ohjelmapalasia, joiden tehtävänä on auttaa luomaan suurempia järjestelmiä ikäänkuin legopalikoista. Sun Microsystems kehitti JavaBeans-nimisen komponenttipohjaisen teknologian. Sen toteutus on niin sanotusti kieliriippuvainen, mutta toisaalta Javan alustariippumattomuus mahdollistaa beansien ajamisen mitä lukuisimmissa ympäristöissä. Itse JavaBeansit eivät käytännössä saavuttaneet juuri minkäänlaista jalansijaa johtuen niiden hyvin rajoittuneesta toteutuksesta, jonka tähden beansien koodaaminen oli liian työlästä. Sun Microsystems kehittikin myöhemmin niin sanotun Enterprise JavaBeansin, joka mahdollisti sovelluskehittäjien keskittymisen itse sovelluksessa käsillä olevaan ongelmaan. EJB:t saavuttivatkin sitten jo paremmin suosiota. Ohjelmistokomponentteja käytetään varsin paljon käyttöliittymäelementteinä, mutta muuten niitä hyödynnetään varsin vähän. Organisaatiot jonkin verran hyödyntävät eri tekniikoin toteutettuja komponentteja omissa projekteissaan, mutta komponenteilla tapahtuva kauppa on jäänyt ainakin toistaiseksi odotettua pienemmäksi.
3 Sisältö Tiivistelmä Sisältö 1 Johdanto 2 2 Aiheen kartoitus Ohjelmistokomponenteista yleisesti sekä niiden historiaa Java-pavut Java-pavun toiminta Analyysi Ohjelmistokomponenttien hyviä ja huonoja puolia Esimerkkiohjelma Lähdekoodit PikkuPapu.java makefile Pavun käyttöönottaminen Yhteenveto 10 Viitteet
4 1 Johdanto 90-luvulla lupaavimmaksi ohjelmistotuotannon apukeinoksi muodostui ajatus ohjelmistojen komponenttipohjaisuudesta. Tällöin muodostui monia uusia tekniikoita tavoitteen saavuttamiksi luvulla kuohunta on hiukan laantunut, eikä uusia komponenttitekniikoita olekaan enää syntynyt. Sen sijaan olemassaolevat tekniikat ovat kypsyneet. JavaBeans 1 on Sun Microsystemsin[3] kehittämä komponettipohjainen tekniikka, joka omalta osaltaan yrittää edesauttaa ohjelmistokehityksen muuttumista komponettimaisemmaksi. Käsittelen tässä kirjoituksessani Java-papujen historiaa, nykytilaa sekä papujen hyviä ja huonoja puolia. Kerron myös hiukan vastaavia asioita Java-papujen kilpailijoista. Luvussa neljä esittelen erittäin yksinkertaisen esimerkkiohjelman, jonka tehtävänä on demonstroida pientä Java-papua, sekä miten sitä voidaan hyödyntää toisen ohjelman käyttöliittymän rakentamisessa. Esimerkkiohjelma sinänsä ei ole millään tavoin käyttökelpoinen, mutta se ei ole sen tarkoituskaan. 1 Jatkossa puhuessani Java-pavuista tai pelkistä pavuista, tarkoitan JavaBeans-tekniikkaa 2
5 2 Aiheen kartoitus Tässä luvussa käsittelen aiheen taustoja. 2.1 Ohjelmistokomponenteista yleisesti sekä niiden historiaa 70-luvulla ohjelmistoteollisuus havaitsi rakenteisen ohjelmoinnin edut, ja tänä ajanjaksona ohjelmistotuotannosta tuli tarkemmin määriteltyä, hallittua ja suunniteltua toimintaa. Ohjelmat jaettiin alkeellisella tasolla tiettyihin kokonaisuuksiin. 80-luvulla rakenteellisen ohjelmoinnin ajatus jalostui: ongelmalähtöisesti tapahtunut ohjelman osittaminen erilaisiin tehtäviin havaittiin riittämättömäksi tavaksi tuottaa ohjelmistoja, joten kehittyi olio-ohjelmointi. Tällöin ohjelmistot pyrkivät mallintamaan ympäristöä mahdollisimman luontevasti jakamalla sen olioihin sekä antamalla näille tiettyjä ominaisuuksia jotka sitten määrittelivät olion. 90-luvulla Internet alkoi levitä etenkin WWW:n ansiosta, jolloin jälleen havaittiin olio-ohjelmoinnin tarjoavan riittämättömät välineet ajan haasteille. Syntyi ajatus ohjelmistojen jakamisesta komponentteihin, jotka sitten suorittavat tiettyjä tehtäviä. Osittain komponentteja hyödynnettiin jo tätäkin ennen, mutta voitaneen silti perustellusti katsoa Internetin antaneen komponenttipohjaiselle ohjelmistotuotannolle varsinaisen alkusysäyksen. Komponenttien avulla saatiin mahdolliseksi esimerkiksi tietyn toiminnon suorittaminen fyysisesti eri tietokoneella; riittää että asiakasohjelmisto ottaa yhteyttä etätietokoneeseen ja antaa sille tietyt parametrit. Etätietokone puolestaan käsittelee parametreja haluamallaan tavalla ja palauttaa asiakkaalle sitten jotain. Huomattavaa on, että etätietokoneen ei tarvitse kuitenkaan olla toinen kone: asiakasohjelmisto voi kutsua myös paikallisella tietokoneella olevaa komponenttia, esimerkiksi käyttöliittymän piirtämiseen liittyvissä asioissa. Microsoft[2] Windows on eräs ensimmäisiä suurempia ohjelmistoja, jossa komponenttiajattelua on hyödynnetty. Alunperin Windows tarjosi sovellusohjelmille niin sanotun COM-rajapinnan 2, jonka avulla muun muassa käyttöliittymäelementtien rakentaminen Windows-ohjelmiin onnistui varsin helposti. Tätä täydennettiin myöhemmin OLE-tekniikalla 3, joka mahdollisti toisen sovellusohjelman vaikkapa tekstinkäsittelyohjelman dokumentin upottamisen toiseen ohjelmaan. Tietokoneiden verkottumisen myötä Microsoft laajensi COM-malliaan kehittämällä Distributed Component Object Modelin sekä ActiveX-tekniikan, joka mahdollisti etätietokoneelta koodin ajamisen paikallisella tietokoneella. Vielä 90-luvun lopulla näytti, että ActiveX-tekniikasta tulee hyvinkin suosittu, mutta toisin kävi: etenkin lä- 2 Component Object Model 3 Object Linking and Embedding 3
6 hes täydellinen turvallisuusnäkökohtien ohittaminen loi ActiveX-tekniikasta oikean tietoturvapainajaisen, jonka seurauksena tekniikkaa hyödynnetään varsin harvoissa yhteyksissä. ActiveX on kuitenkin hyvin joustava ohjelmoijan kannalta, koska se ei ota kantaa käytettyyn ohjelmointikieleen. Sun Microsystemsin kehitti JavaBeans-tekniikan varsin myöhään, ja vasta 1997 JDK 1.1-version myötä tekniikkaa päästiin testaamaan laajemmalti käytännössä. Koska suunnittelu aloitettiin puhtaalta pöydältä, ei mallin tarvinnut kantaa historian painolastia ja näin ollen Java-pavuista kyettiinkin kehittämään varsin joustavia komponentteja. Sunin ensimmäinen versio oli kuitenkin varsin rajoittunut, eikä sen aikaisilla pavuilla voinut tehdä kovinkaan paljon mitään hyödyllistä. Sun tiedosti ongelman, ja myöhemmin ilmestyikin Enterprise JavaBeans, johon oli sisällytetty monia alkeistason toimintoja joiden ansiosta varsinaisessa sovelluksessa voitiin keskittyä käsillä olevaan ongelmaan. Keskityn tässä tekstissäni kuitenkin ainoastaan alkuperäisiin papuihin. Nimitys JavaBeans tulee johdannaisena sanasta Java. Käytetäänhän Java-papujen kanssa nimenomaisesti ohjelmointikielenä Javaa. Java-kieli puolestaan sai nimensä samannimisestä kahvista, joten loogisesti Javaan perustuva komponenttipohjainen ajattelu sai nimekseen kahvin raaka-ainekomponentin, pavun. Ohjelmistokomponentti voi toki olla myöskin paljon pienenpi palanen kuin toimiva sovellusohjelma. Pienimmillään kyse on pienen pienestä rakennuspalikasta. Sanan ohjelmistokomponentti määrittely on kuitenkin vaikeaa: esimerkiksi tunnettu komponenttitutkija Clemens Szyperski on onnistunut kokoamaan kirjallisuudesta peräti yhdeksän toisistaan huomattavasti poikkeavaa määritelmää. [6]. 2.2 Java-pavut Sun Microsystems toteutti idean Java-pavuista käytännössä ensimmäisen kerran vuonna 1997 Java Development Kitin versiossa 1.1[1]. Java-pavut perustuvat yhteen kieleen Javaan mikä on täysin päinvastainen lähestymisnäkökulma kuin Microsoftin COM-tekniikassa. Toisaalta Javan laitteistoriippumattomuus mahdollistaa papujen ajamisen missä vain Javaa tukevassa ympäristössä, COM-tekniikan rajoittuessa ainoastaan Microsoft Windowsiin. Javan ja sitä myöten myös Javapapujen etuja on sen toimivuus korkealla abstraktiotasolla. Toisaalta tämä johtaa myös suorituskykyongelmiin. JavaBeans-spesifikaatio[5] määrittelee Beanin seuraavalla tavalla: Uudelleenkäytettävä ohjelmistokomponentti, jota voidaan käsitellä visuaalisella sovelluskehittimellä 4
7 2.2.1 Java-pavun toiminta Java-pavut toimivat kahdella tasolla: [1] 1. sovelluksen kokoamisvaiheessa pavulle voidaan käyttää niin sanottuja introspektiomekanismeja sekä asettaa pavulle ominaisuuksia. 2. suoritusvaiheessa papu toimii osana sovellusta reagoiden tiettyihin tapahtumiin. JavaBeans-teknologia sisältää seuraavat pääosat: [1] Tapahtumankäsittely: Papu ilmoittaa olevansa tiettyjen tapahtumien tuottaja tai tarkkailija. Tapahtumien avulla pavut kommunikoivat keskenään. Ominaisuudet: Pavulla on ominaisuuksia, attribuutteja, joita voidaan muuttaa ohjelmallisesti tai erityisen papujensuunnitteluun tarkoitetun työkalun avulla. Itsekuvaavuus: Papu kuvailee itse itsensä, jolloin papuja voidaan käsitellä ohjelmallisesti. Räätälöitävyys: Pavun ominaisuuksien arvoja muuttamalla voidaan pavun ilmentymää muuttaa tarpeen mukaan hyvinkin radikaalisti. Muuttaminen voidaan hoitaa ohjelmallisesti tai käyttämällä erityistä työkalua. Pysyvyys: Pavun tila voidaan ladata ja tallentaa. 5
8 3 Analyysi Yleistin tämän luvun koskemaan ohjelmistokomponentteja yleisesti, koska esittämäni näkökohdat eivät ole mitenkään rajautuneet Java-papuihin. 3.1 Ohjelmistokomponenttien hyviä ja huonoja puolia Ohjelmistokomponenttien eduiksi luetaan muun muassa [1] niillä toteutettujen ohjelmistojen luotettavuus, edullisuus, nopeutunut kehitysprosessi, joustavuus, yhteensopivuus muiden järjestelmien kanssa sekä projektien parempi ennustettavuus. Luotettavuus syntyy lähes itsestään, koska käyttämällä samaa komponenttia monessa eri tilanteessa hioutuu siitä suurin osa virheistä pois. Myöskin suurempia kokonaisuuksia on helpompi suunnitella kun käytössä on tietynlaisia, perustoimintoja toteuttavia palikoita. Mikäli peruskomponentit ovat hyvin suunniteltuja, on niiden avulla erittäin helppoa rakentaa mitä erilaisimpia ohjelmistoja, ja keskittyä näin ollen juuri kyseisen sovelluksen omien ongelmien ratkomiseen. Yhteensopivuutta muiden järjestelmien kanssa saavutetaan sillä, että ohjelmistokomponenttien käyttämät rajapinnat ovat yhdenmukaisia, ja esimerkiksi johonkin tiettyyn tarkoitukseen suunniteltua verkkoprotokollaa voidaan käyttää samanlaisena eri yhteyksissä. Nämä edut yhdistettynä johtavat kokonaisuudessaan edullisempiin ja nopeammin valmistuviin ohjelmistoihin. Ohjelmistokomponentit kuulostavat teoriassa erittäin käyttökelpoisilta, ja onkin oikeastaan pieni ihme etteivät ne ole yleistyneet eri yhteyksissä sen enempää kuin ovat. Tilanteeseen vaikuttavat monet eri tekijät, mutta syyllisiä ovat myös komponentit itse: on vaikeata löytää sopivaa komponenttia suuresta tarjonnasta, komponentit itsessään eivät ole keskenään yhteensopivia, 6
9 komponentti ei välttämättä tee sitä mitä sen pitäisi. Oikean komponentin löytäminen voi olla vaikeata, koska eri ohjelmistoyritykset tarjoavat erilaisia keskenään hiukan erilaisia komponentteja eri tehtäviä hoitamaan. Tästä seuraa myös, että vaikka komponenttien avulla voidaankin luoda optimissa tilanteessa yhteensopivampia järjestelmiä, eivät itse komponentit ole keskenään yhteensopivia: rajapinnat eroavat toisinaan paljonkin. Komponentti ei myöskään välttämättä tee sitä mitä sen haluttaisiin tekevän. Tällaisessa tilanteessa, mitä isommasta komponentista on kyse, ohjelmisto joutuu mukautumaan käytettävään komponenttiin. Hankalassa tapauksessa alkuperäisestä tuotteesta voidaan joutua jättämään jopa jotain toiminnallisuutta pois. Pahimmillaan puolestaan koko projekti voi kaatua komponentin soveltumattomuuteen tällainen tilanne tosin ei liene itse ohjelmistokomponentin vika, vaan äärimmäisen kehnon suunnittelun. Reaalimaailmassa ohjelmistokomponentit eivät ole saavuttaneet kovinkaan merkittävää asemaa. Yksi poikkeus tosin löytyy: graafiset käyttöliittymäkomponentit. Niihin oliomainen ja näin syntyvä komponenttipohjainen ohjelmistokehitys sopii erittäin hyvin. Ohjelmistokomponenttien ongelmiksi luetellut asiat eivät useinkaan ole itse komponenttien vikoja, vaan reaalimaailman tavan niiden hyödyntämisessä. Toki ohjelmistokomponentteja käytetään paljon pienemmässä mittakaavassa, esimerkiksi organisaation sisällä. Tyypillisesti komponentteja hyödynnetäänkin juuri näin. 7
10 4 Esimerkkiohjelma Esittelen tässä luvussa äärimmäisen yksinkertaisen Java-pavun. Luon pavun, joka esittää visuaalisesti mustan neliön, jonka sivun pituus on 100 pikseliä. Kyseinen papu voidaan ottaa käyttöliittymäelementiksi esimerkiksi Sun Microsystemsin Bean Builderiin[4]. Esimerkkiohjelman pavulla ei tee yhtään mitään, eikä sillä ole edes omia attribuutteja, ainoastaan Canvas-yläluokalta perityt. Tällaisenaan pavulla ei siis tee yhtään mitään, mutta esimerkin tarkoitus onkin vain olla mahdollisimman yksinkertainen, Java-papujen käyttöä esittelevä ohjelmanpätkä. 4.1 Lähdekoodit PikkuPapu.java import java.awt.*; import java.io.serializable; public class PikkuPapu extends Canvas implements Serializable { } // Konstruktori alkuarvoille: public PikkuPapu(){ setsize(100,100); setbackground(color.black); } makefile CLASSFILES= PikkuPapu.class JARFILE= PikkuPapu.jar ALL: $(JARFILE) $(JARFILE): $(CLASSFILES) $(DATAFILES) echo "Name: PikkuPapu.class" >> manifest.tmp echo "Java-Bean: True" >> manifest.tmp jar cfm $(JARFILE) manifest.tmp manifest.tmp %.class: %.java export CLASSPATH; CLASSPATH=. ; \ javac $< clean: /bin/rm -f *.class /bin/rm -f $(JARFILE) 8
11 4.2 Pavun käyttöönottaminen Papu täytyy ensin kääntää. Tekemäni makefilen avulla se onnistuu GNU/Makea käyttämällä kirjoittamalla yksinkertaisesti komennoksi make. Tällöin luodaan tiedostot PikkuPapu.class ja PikkuPapu.jar. Hetkellisenä tilapäistiedostona palvelee manifest.tmp, tämä kuitenkin poistetaan käännöksen lopussa. Java-papu ladataan Bean Builderiin valitsemalla file -valikosta kohta Load Jar File. Sen jälkeen Papu-ilmestyy User-välilehdelle, josta se voidaan tiputtaa osaksi muuta ohjelmaa muiden käyttöliittymäkomponenttien joukkoon. Kuvassa 1 on yleisnäkymä, kun papu on lisätty uuteen projektiin. Kuvassa 2 on korostettu työkaluriviin lisätty uusi papu, ja kuvassa 3 on korostettu lomakkeelle tiputettu uusi papu. Kuva 1: Yleisnäkymä Bean Builderissa Kuva 2: Bean Builderin työkalupakki 9
12 Kuva 3: Bean Builderilla rakennettu lomake 5 Yhteenveto Ohjelmistokomponentit ovat saavuttaneet suosiota etenkin käyttöliittymäteknisissä tehtävissä. Tosin Java-pavut eivät ole saavuttaneet suosiota oikeastaan missään paikoissa niiden rajoittuneesta luonteesta johtuen. Tätä ongelmaa korjaamaan Sun Microsystems suunnittelikin kehittyneemmän version Java-pavuista, Enterprise Java Beans. Java-pavut olivat aikanaan kuitenkin hyvänä suunnannäyttäjä kehitykselle, ja jatkojalostuksen tuloksena Enterprise Java-papuja käytetäänkin jonkin verran etenkin verkon yli toimivissa sovelluksissa. 10
13 Viitteet [1] Kai Koskimies. Oliokirja. Satku Kauppakaari, Gummerus kirjapaino, Jyväskylä, [2] Microsoft. [3] Sun Microsystems. [4] Sun Microsystems. The Bean Builder. Welcome.jsp?StoreId=22&PartDetailId=7262-bean_builder-1.0-beta-oth-JPR &SiteId=JSC&TransactionId=noreg. [5] Sun Microsystems. JavaBeans 1.01 Specification. Ecom/docs/Welcome.jsp?StoreId=22&PartDetailId=7224-javabeans-1.01-fr-s pec-oth-jspec&siteid=jsc&transactionid=noreg. [6] Clemens Szyperski. Component Software Beyond Object-Oriented Programming. Addison-Wesley,
Pedacode 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ätiedotS11-09 Control System for an. Autonomous Household Robot Platform
S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on
Lisä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ätiedot1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
LisätiedotUudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
Lisä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ätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti
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ätiedotohjelman arkkitehtuurista.
1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä
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ätiedotUCOT-Sovellusprojekti. Asennusohje
UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä
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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotSovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
LisätiedotSoftware product lines
Thomas Gustafsson, Henrik Heikkilä Software product lines Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Asiantuntijateksti 17.11.2013 Sisällys 1 Johdanto 1 2 Software product
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ä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ätiedotJärjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat
Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
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ätiedotRekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
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ä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ä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ä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ä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ätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
LisätiedotKäyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite
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ätiedot8/20: Luokat, oliot ja APIt
Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti
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ätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
LisätiedotArkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
Lisätiedot19/20: Ikkuna olio-ohjelmoinnin maailmaan
Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotAlkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,
LisätiedotIT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT
IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.
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ätiedot812341A Olio-ohjelmointi, I Johdanto
812341A Olio-ohjelmointi, 2016 I Johdanto Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden kertausta 812341A Olio-ohjelmointi, Johdanto 2 1 Abstraktiosta
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ätiedotOhjelmoinnin 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ä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ätiedotOhjelmistojen 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ätiedot4. Olio-ohjelmoinista lyhyesti 4.1
4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin
Lisätiedot1 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ätiedotJAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++
JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.
LisätiedotHistoriaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux
Historiaa Linux on Unix-yhteensopiva käyttöjärjestelmä. Unixin perusta luotiin 1964 MIT:ssa aloitetussa MULTICS-projektissa (http://www.cs.helsinki.fi/u/kerola/tkhist/k2000/alustukset/unix_hist/unix_historia.htm)
Lisätiedot2. Olio-ohjelmoinista lyhyesti 2.1
2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin
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ä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ätiedot812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
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ä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ätiedotVesisika. metsiemme työmyyrä. http://www.billybear4kids.com/animal/whose-toes/capybara.jpg
Vesisika metsiemme työmyyrä http://www.billybear4kids.com/animal/whose-toes/capybara.jpg Faktat Vesisika tykkää vedestä ja näyttää (ja kuulemma maistuu) hieman sialta. Käyttää myös nickiä kapybara. kapiÿva
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
Lisä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ätiedotAalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa
Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan
LisätiedotTestausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari
LisätiedotHSMT J2EE & EJB & SOAP &...
HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotPedacode Pikaopas. Web-sovelluksen luominen
Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen
LisätiedotMuutamia peruskäsitteitä
Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä
LisätiedotTITANIC TEMPPU, vaan ei karille
TITANIC TEMPPU, vaan ei karille Mikko Mäkelä Tuomo Rintamäki 17/10/10 Helsinki Metropolia University of Applied Sciences 1 Metropolia- ammattikorkeakoulusta Suomen suurin ammattikorkeakoulu, joka aloitti
LisätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
LisätiedotVirtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).
1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.
LisätiedotKäytettävyyslaatumallin rakentaminen verkkosivustolle
Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan
LisätiedotInternet-pohjainen ryhmätyöympäristö
Menetelmäohje Internet-pohjainen ryhmätyöympäristö Riku Hurmalainen, 24.3.2002 Sisällysluettelo 1. Johdanto...3 2. Termit...4 3. Toteutus...5 3.1. Yleiskuvaus...5 3.2. Tekninen ratkaisu...5 3.3. Tietoturva...6
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
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ätiedotHOJ J2EE & EJB & SOAP &...
HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
LisätiedotYhteisöllinen tapa työskennellä
Yhteisöllinen tapa työskennellä Pilvipalvelu mahdollistaa uudenlaisten työtapojen täysipainoisen hyödyntämisen yrityksissä Digitalisoituminen ei ainoastaan muuta tapaamme työskennellä. Se muuttaa meitä
LisätiedotSalasanojen turvallinen tallentaminen KeePass ohjelmalla
Salasanojen turvallinen tallentaminen KeePass ohjelmalla KeePass on vapaasti saatavilla oleva, avoimen lähdekoodin ohjelma, jonka tarkoituksena on auttaa salasanojen hallinnassa. Tämä KeePass ohje on päivitetty
LisätiedotOhjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
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ä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ä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ä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ätiedotUudessa Excel-2007 on muutettuja / uusia ominaisuuksia jotka tulee huomioida kun Excel-2003 tehtyjä sovelluksia otetaan käyttöön Excel-2007:ssä.
Ohjelmien käyttö Excel-2007 (Päivitetty 17.11.2010) Sisältö: 1. Johdanto 2. Ohjelmien käyttö ilman konvertointia Excel-2007:ssä. 3. Excel-2003 tiedoston konvertointi Excel-2007 tiedostoksi. 1. Johdanto
LisätiedotSuunnittelumallit. OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Oliosuuntautunut analyysi ja -suunnittelu 27. joulukuuta 2003
Suunnittelumallit OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Oliosuuntautunut analyysi ja -suunnittelu 27. joulukuuta 2003 Mikael Kujanpää mahead@ee.oulu.fi LuTK / TOL -03 Tiivistelmä Suunnittelumallit
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin
812347A Olio-ohjelmointi, 2015 syksy 2. vsk II Johdanto olio-ohjelmointiin Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden esittely 2 II.1 Abstraktiosta
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ä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ätiedot812347A Olio-ohjelmointi, X Reflektiivisyys
812347A Olio-ohjelmointi, 2016 X Reflektiivisyys Sisältö 1. Luokkainformaatio 2. Olion luominen luokkaolion avulla 3. Metodit olioina 2 Luokkainformaatio n Reflektio: Mahdollisuus ohjelman suorituksen
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
LisätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
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ätiedotKirjan toteutus BoD easybook -taittotyökalun avulla
Kirjan toteutus BoD easybook -taittotyökalun avulla Seuraavilla sivuilla esittelemme yksityiskohtaisesti, miten voit helposti ja nopeasti yhdistää kuvia ja tekstiä easybook -taittotyökalun avulla. Edellytykset
Lisätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
Lisä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ätiedotOsoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
LisätiedotHarjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)
Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
LisätiedotPertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013
Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi
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ätiedotUutta Remote Support Platform 3.0 -versiossa
Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien
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ätiedotOleelliset vaikeudet OT:ssa 1/2
Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet
LisätiedotGIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen
GIS-automatisointi ja ohjelmointi/skriptaus Harri Antikainen Mistä nyt puhutaan? Automatisointi: Mikä tahansa tapa teettää tietokoneella asioita ilman että käyttäjän tarvitsee tehdä muuta kuin laittaa
LisätiedotKUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA
KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota
LisätiedotLoppuraportti. 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ä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ätiedotKYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka
KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Linux pohjaiset pilvipalvelut Linux järjestelmät TI 11/12 TIVE Santeri Kangaskolkka TI 12 Janne Enroos TI 12 Mikä on
Lisätiedot