Veto-visualisointityökalu

Koko: px
Aloita esitys sivulta:

Download "Veto-visualisointityökalu"

Transkriptio

1 Ohjelmoinnin suunnittelumallit (design patterns) käyttöliittymissä Vanhin ja keskeisin lähde Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns. Addison-Wesley, USA, Ajatus ohjelmoinnin design patterneista perustui Christopher Alexanderin talojen ja kaupunkien arkkitehtuurista esittämien ajatusten ( ) soveltamiseen ohjelmointiin. Veto-visualisointityökalu Yksi glyyfi esittää yhtä taulukkomuotoisen datan riviä. Piirrettäviä rivejä on tyypillisesti samankaltaisen olion luominen olisi muistin käytön kannalta järjetöntä, koska data on jo kertaalleen esitettynä taulukkorakenteessa ja ajoympäristön (Java-tulkki) suorituskyky ei riitä näin monen olion hallintaan. Ratkaisu: Kaikki datapisteet piirrettiin yhdellä glyyfi- 1

2 Flyweight Veto-projektissa Glyph draw(). 768 riviä Flyweight Ongelma: Suuri määrä dataa, jonka instantioiminen olioiksi veisi liikaa muistia. Ratkaisu: Jaetaan yhtä pientä oliota kaikkien dataalkioiden kesken. Tyypillinen sovellus käyttöliittymissä: datan tai komponenttien piirtäminen, Edit-in-Place -ratkaisujen 2

3 Flyweight Esimerkki 2 Javan Swing-kirjasto: JTable Syötekenttä, jolla solun arvoja editoidaan, on monimutkainen komponentti. Jos jokainen taulukon solu on syötekenttä, ajoympäristö joutuu suorituskykyongelmiin (muisti, tapahtumahallinta, Todellisessa käyttötilanteessa käyttäjä voi editoida vain yhtä solua kerrallaan. Ratkaisu: Kun käyttäjä klikkaa solua muuttaakseen sen arvoa, siirretään editorikomponentti kyseisen solun kohdalle, kopioidaan solun sisältö siihen ja annetaan käyttäjän editoida solun sisältöä. Kun editointi päättyy, editori piilotetaan ja sen sisältö kopioidaan soluun. Vastaava ratkaisu: Editointi Excelissä Flyweight JTablessa Editoitava solu 3

4 Muut solut on piirretty sarakekohtaisella JLabel- Bookmark Scrollbar vastaavaan kohtaan 4

5 Bookmark Scrollbar -toteutus Visual Basicin tukema ohjelmointitapa: jokainen Tag-olio komentaa scrollbaria suoraan siirtämään thumbin oikeaan Toimii pienissä sovelluksissa. Johtaa suuremmissa sovelluksissa siihen, että kaikki komponentit viittaavat suoraan toisiinsa. Tällöin jos yksikin komponentti poistetaan, pahimmillaan kaikkien muiden koodia pitää muuttaa. Javan tukema ohjelmointitapa: jokaisella Tag-olioilla on lista, johon kaikki sen tilasta kiinnostuneet komponentit (mm. scrollbar) ilmoittautuvat. Kun käyttäjä klikkaa Tagoliota, se lähettää siitä tapahtuman (event) kaikille listalaisille, jolloin esim. scrollbar osaa siirtää thumbin. Riippuvuuksien määrä leikkaantuu puoleen edellisestä. Observer Ongelma: Kun olion tila muuttuu, kaikkien siitä riippuvien olioiden pitäisi päivittyä automaattisesti. Ratkaisu: Muuttuvalla oliolla on lista, johon olion tilasta kiinnostuneet muut oliot ilmoittautuvat ajon aikana. Kun olion tila muuttuu, listalaisia tiedotetaan siitä. Tyypillisiä sovelluksia käyttöliittymissä: Kaikenlaisten synkronointiongelmien perusratkaisu Käyttöliittymäkomponenttien riippuvuudet (mm. harmaannuttaminen) Komponentin uudelleenpiirtäminen, kun sen data on muuttunut (Model View) 5

6 Observer Bookmark Scrollbar Observable: kaikki Tagit Observer = Scrollbar, TagArea Tapahtumia TagAdded TagDeleted Siirry tähän kohtaan -pyyntö Airis Admin Center Ikkunassa on useita komponentteja, jotka vaikuttavat kaikki toistensa tiloihin. Miten tapahtumanhallinta ratkaistaan siten, että vältetään hajautettu riippuvuusverkkospagetti? 6

7 Riippuvuuksia Valinnat Raahauksen interaktio Taulukoiden uudet rivit Rivien poistaminen Tietokantamuutokset Mediator - Airis Admin Center Kaikki tapahtumanhallinta on keskitetty ikkunan taustapaneeliin. Paneeli huolehtii kaikkien sen sisältämien komponenttien tilojen päivittämisestä. Tapahtumia DragStart DragEnd CompanySelected ServiceInstalled AdminCenterFrame 7

8 Mediator Ongelma: Riippuvuusverkon hallinta. Kun olioiden välillä on paljon riippuvuuksia, kokonaiskuvan muodostaminen järjestelmän riippuvuuksista ja tiloista on vaikeaa. Jos kaikki toisistaan riippuvat olioit ovat tietoisia toisistaan => spagettimainen viittausverkosto. Ratkaisu: Keskitetään tilanhallinta ja riippuvuudet yhteen olioon, joka osaa päivittää muiden olioiden tilat, kun jonkin olion tila muuttuu. Tyypillinen sovellus käyttöliittymissä: yksittäisen ikkunan komponenttien riippuvuudet. Mediator MFC / Visual C++ Microsoftin Visual C++-ohjelmointiympäristö tukee Mediator-patternia komponenttien tapahtumankäsittelyssä: kun käyttäjä lisää komponentille tapahtumankäsittelijän, VC++ lisää sen komponentin sisältävän ikkunan metodiksi. Vertaa tätä esim. Visual Basiciin, jossa ympäristö lisää tapahtumankäsittelijän automaattisesti komponentin omaksi sisäiseksi metodiksi. 8

9 Patternien etuja Ongelmatilanteiden tunnetuille ratkaisutavoille on nyt olemassa nimi ja kuvaus => syntyy uusia korkean tason käsitteitä, ilmaisuvoimainen yhteinen kieli. Seurauksia Ohjelmoijien välinen kommunikointi tehostuu. Järjestelmiä voidaan dokumentoida tehokkaammin. Aiempaa monimutkaisempia ratkaisuja on nyt nopeampi Ohjelmoijien muistiyksiköt (chunk) ovat ilmaisuvoimaisempia. Ohjelmoijien tuottavuus ja ratkaisujen laatu paranevat. Hyvä ohjelmointitaito? Samat toteutusongelmat toistuvat sovelluksesta toiseen: Tämän olen ratkaissut jo joskus aiemmin Kokemus = aiempien hyvien ratkaisujen uudelleenkäyttäminen. Hyvien ratkaisujen taustalla olevat keskeiset periaatteet ja ratkaisustrategiat voidaan esittää design patterneina. 9

Suunnittelumallit (design patterns)

Suunnittelumallit (design patterns) Suunnittelumallit (design patterns) Ohjelmoinnissa Rakennusarkkitehtuurissa Käyttöliittymäsuunnittelussa Sear ch Ohjelmointi Suunnittelumallit Usein toistuvia ohjelmointiongelmia ja niiden ratkaisuja:

Lisätiedot

T SEPA - päiväkirja: Design Patterns. ETL työkalu

T 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ätiedot

T SEPA - päiväkirja: Design Patterns. ETL työkalu

T 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ätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A 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ätiedot

Massaeditorikoulutus 8.12.2015. KANSALLISKIRJASTO - Kirjastoverkkopalvelut

Massaeditorikoulutus 8.12.2015. KANSALLISKIRJASTO - Kirjastoverkkopalvelut Massaeditorikoulutus 8.12.2015 Massaeditoinnin toimintaperiaate Kokoelman tai hakutuloksen tietueet (itemit) voidaan eksportoida CSV-tiedostona omalle työasemalle taulukkomuodossa CSV:tä muokataan Libre/OpenOfficen

Lisätiedot

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia? Käyttöliittymät II Sari A. Laakso Käyttöliittymät I Kertaus peruskurssilta Keskeisin kälikurssilla opittu asia? 1 Käyttöliittymät II Kurssin sisältö Käli I Käyttötilanteita Käli II Käyttötilanteet selvitetään

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual 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ätiedot

4. Lausekielinen ohjelmointi 4.1

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

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VIII Suunnittelumallit Observer ja State

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VIII Suunnittelumallit Observer ja State 2015 syksy 2. vsk VIII Suunnittelumallit Observer ja State Sisältö 1. Johdanto käyttäytymismalleihin 2. Observer 3. State Suunnittelumallit Observer ja State 2 VIII.1 Johdanto käyttäytymismalleihin Päätarkoitus

Lisätiedot

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1 String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 8 Suunnittelumallit käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Yleistä Suunnittelumalli on

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Esimerkki 8. Ratkaise lineaarinen yhtälöryhmä. 3x + 5y = 22 3x + 4y = 4 4x 8y = 32. 3 5 22 r 1 + r 3. 0 13 26 4 8 32 r 3 4r 1. LM1, Kesä 2014 47/68

Esimerkki 8. Ratkaise lineaarinen yhtälöryhmä. 3x + 5y = 22 3x + 4y = 4 4x 8y = 32. 3 5 22 r 1 + r 3. 0 13 26 4 8 32 r 3 4r 1. LM1, Kesä 2014 47/68 Esimerkki 8 Ratkaise lineaarinen yhtälöryhmä 3x + 5y = 22 3x + 4y = 4 4x 8y = 32. 3 5 22 r 1 + r 3 3 4 4 4 8 32 1 3 10 0 13 26 4 8 32 r 3 4r 1 1 3 10 3 4 4 r 2 3r 1 4 8 32 1 3 10 0 13 26 r 2 /13 0 4 8

Lisätiedot

Tapahtumapohjainen ohjelmointi

Tapahtumapohjainen ohjelmointi Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Erot perinteisiin sovelluksiin Sovelluksen kulku ei ole ennalta tiedossa. Start A

Lisätiedot

SEPA - Design Patterns

SEPA - 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ätiedot

Olio-ohjelmointi Johdanto suunnittelumalleihin. 1. Yleistä

Olio-ohjelmointi Johdanto suunnittelumalleihin. 1. Yleistä Olio-ohjelmointi Johdanto suunnittelumalleihin Hyvin toimivan olio-ohjelmointiparadigmaa noudattavan ohjelman suunnitteleminen ei ole helppo tehtävä. On löydettävä sopiva luokkarakenne kuvaamaan ratkaistavaa

Lisätiedot

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1. Sisällys Ratkaisumallien historia Jaakko Vuolasto 25.1.2001! Ratkaisumalli! Christopher Alexander! Ohjelmistotuotannosta arkkitehtuuriin! Henkilöhistoriaa! Ensimmäisiä käyttökokemuksia! Yhteenveto 25.1.2001

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Derivaatta Tarkastellaan funktion f keskimääräistä muutosta tietyllä välillä ( 0, ). Funktio f muuttuu tällä välillä määrän. Kun tämä määrä jaetaan välin pituudella,

Lisätiedot

http://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/

http://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/ 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki: Rekursiokooste Antisuunnittelumallit Suunnittelumallit ja UML Mallikielet Suunnittelumallit

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri

Lisätiedot

T Henkilökohtainen harjoitus: FASTAXON

T Henkilökohtainen harjoitus: FASTAXON T-76.115 Henkilökohtainen harjoitus: FASTAXON Suunnittelumallit Group: Muuntaja Pentti Vänskä 52572W 2 1. Toteutus Tämä henkilökohtainen harjoitustyö käsitteli suunnittelumallien (Design Patterns) käyttöä

Lisätiedot

Muusta kuin vesisioista

Muusta kuin vesisioista Muusta kuin vesisioista Janne Käki 8.12.2006 Metodin kuormittaminen (overloading) Samannimisestä metodista on määritelty samassa luokassa (tai samassa yli- ja aliluokkien jatkumossa) useita versioita,

Lisätiedot

Viestinvälitysarkkitehtuurit

Viestinvälitysarkkitehtuurit Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen Komponentteja ja

Lisätiedot

Kauden vaihtaminen. Tom Hedman Jopox oy; 1.1.2016

Kauden vaihtaminen. Tom Hedman Jopox oy;  1.1.2016 2016 Kauden vaihtaminen Tom Hedman Jopox oy; www.jopox.fi 1.1.2016 Kauden vaihtamiseen liittyvät toimet Jopoxiin on rakennettu palloilulajeihin ominainen piirre kausienvaihtelumekanismi. Mekanismin avulla

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

Suunnittelumalleja, MVC. Juha Järvensivu 2008

Suunnittelumalleja, MVC. Juha Järvensivu 2008 Suunnittelumalleja, MVC Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Tarkkailija Strategia Rekursiokooste Tehdas-metodi MVC Tarkkailija suunnittelumalli Tarkkailijamalli (Observer) Määrittelee olioiden

Lisätiedot

Avoimen lähdekoodin ohjelmien ylläpito ja evoluutio

Avoimen lähdekoodin ohjelmien ylläpito ja evoluutio Avoimen lähdekoodin ohjelmien ylläpito ja evoluutio Terminologiaa Avoimen lähdekoodin yhteisöt Projektimalleja Puutteiden käsittely (muutospyynnöt) Projektityypit ja projektien evoluutio Evoluutiomallit

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite 2015 syksy 2. vsk VII Suunnittelumallit Adapter ja Composite Sisältö 1. Johdanto rakennemalleihin 2. Adapter (Sovitin) 3. Composite (Rekursiokooste) Suunnittelumallit Adapter ja Composite 2 VII.1 Johdanto

Lisätiedot

Hirviö. Design Patterns

Hirviö. Design Patterns Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 15. maaliskuuta 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ätiedot

Osio 4: Graafinen käyttöliittymä

Osio 4: Graafinen käyttöliittymä Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli

Lisätiedot

Kalenterimerkintöjen siirtäminen Notesista

Kalenterimerkintöjen siirtäminen Notesista 1 of 21 15.6.2016 8:58 ID: 3303 Kalenterimerkintöjen siirtäminen Notesista Outlookiin Notesissa olevat kalenterimerkinnät on mahdollista siirtää Outlook-kalenteriin. Tietoja ei siirretä keskitetysti, vaan

Lisätiedot

Eclipse & WindowBuilder

Eclipse & 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ätiedot

8/20: Luokat, oliot ja APIt

8/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ätiedot

Ohjelmistokehykset ohjelmistorunkoja uudelleenkäyttö olioperustaisista ohjelmistorunko

Ohjelmistokehykset ohjelmistorunkoja uudelleenkäyttö olioperustaisista ohjelmistorunko Ohjelmistokehykset Määritelmä & tavoitteet, taustaa & peruskäsitteitä, kehykset vs. suunnittelumallit, erikoistamisrajapinnat & kontrollinkulku, kehystyypit, kehysten rakenne ja evoluutio, esimerkki: JHotDraw,

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - 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ätiedot

Message Broadcasting. Käyttöympäristö. Message Broadcasting -laajennuksen asentaminen. Viestien luominen

Message Broadcasting. Käyttöympäristö. Message Broadcasting -laajennuksen asentaminen. Viestien luominen Message Broadcasting Message Broadcasting on EasyMP Monitor -sovelluksen laajennus. Järjestelmänvalvojat voivat lähettää tämän laajennuksen avulla viestejä ja ilmoituksia yhteen tai useampaan projektoriin

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Viestinvälitysarkkitehtuurit Lähtökohta:

Viestinvälitysarkkitehtuurit Lähtökohta: Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

Mobiiliturva Palvelun käyttöönotto

Mobiiliturva Palvelun käyttöönotto Mobiiliturva Palvelun käyttöönotto Protecting the irreplaceable f-secure.com Sovelluksen lataus Tilattuaan Mobiiliturva palvelun, asiakas saa Android-laitteeseensa latauslinkin*, jota klikkaamalla sovellus

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Luotettavuuden mittaamisesta. Ilkka Norros ja Urho Pulkkinen

Luotettavuuden mittaamisesta. Ilkka Norros ja Urho Pulkkinen Luotettavuuden mittaamisesta Ilkka Norros ja Urho Pulkkinen IP-verkon luotettavuuden aspektit Regulator User Provider availability reliability maintainability controllability Designer failures errors attacks

Lisätiedot

Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007

Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007 Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007 JTable Datan esittäminen taulukkomuodossa Datan valitseminen taulukosta Datan muokkaaminen (lisääminen, muokkaaminen, poistaminen)

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2012-2013

Ohjelmistoarkkitehtuurit. Kevät 2012-2013 Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit 1 Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

Lisätiedot

Olio-ohjelmointi Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton. 1. Proxy (Edustaja)

Olio-ohjelmointi Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton. 1. Proxy (Edustaja) Olio-ohjelmointi Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Tässä osassa tutustutaan yhteen rakennemalliin (Proxy) ja kolmeen luontimalliin (Factory Method, ) teoksen [Gam] pohjalta.

Lisätiedot

5. Suunnittelumallit. TTY Ohjelmistotekniikka

5. Suunnittelumallit.     TTY Ohjelmistotekniikka 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Antisuunnittelumallit Esimerkki: Rekursiokooste Suunnittelumallit ja kehykset Suunnittelumallit ja

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä, kevät

Ohjelmoinnin peruskurssien laaja oppimäärä, kevät Ohjelmoinnin peruskurssien laaja oppimäärä, kevät Luento 2: Ohjelman suunnittelua, miten oliot toimivat Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 21. 1. 2013 Sisältö 1 Suunnittelua:

Lisätiedot

Darwin: Tutkimusprojektin esittely

Darwin: Tutkimusprojektin esittely 1 Darwin: Tutkimusprojektin esittely Tutkimusongelma: voidaanko ohjelmistoarkkitehtuuri generoida automaattisesti? Suomen Akatemian rahoittama tutkimusprojekti 2009-2011 TTY & TaY yhteistyö Ks. http://practise.cs.tut.fi/project.php?project=darwin

Lisätiedot

Lääketeollisuuden investoinnit Suomeen

Lääketeollisuuden investoinnit Suomeen Lääketeollisuuden investoinnit Suomeen Jäsenkysely 2014 Kyselyn toteutus Toteutettiin jäsenkyselynä ensimmäisen kerran keväällä 2014. Yritysten ylintä johtoa pyydettiin antamaan oma näkemys Suomesta investointikohteena.

Lisätiedot

Ilmoittautuminen kansalliseen, SM-, AM- tai avoimeen kilpailuun

Ilmoittautuminen kansalliseen, SM-, AM- tai avoimeen kilpailuun Ilmoittautuminen kansalliseen, SM-, AM- tai avoimeen kilpailuun 1. Kirjaudu IRMAan suunnistajana. 2. Valitse kilpailukalenterista se kilpailu, johon haluat ilmoittautua ja paina Ilmoittaudu. Vain niihin

Lisätiedot

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT Oliotietokannat Nääsvillen Oliopäivät 2004 15.12.2004 Pekka Kähkipuro Kehitysjohtaja, FT pekka.kahkipuro@sysopen.fi Oliotietokanta Idea: pysyvän tiedon tallentaminen suoraan oliomuodossa Tietosisältö ja

Lisätiedot

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan

Lisätiedot

Käyttöjärjestelmät: Virtuaalimuisti

Käyttöjärjestelmät: Virtuaalimuisti Käyttöjärjestelmät: Virtuaalimuisti Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Muistinhallinta

Lisätiedot

Ohjelmistotuotanto. Luento 9 23.4.2012

Ohjelmistotuotanto. Luento 9 23.4.2012 Ohjelmistotuotanto Luento 9 23.4.2012 Lisää suunnittelumalleja Olion rikastaminen dekoraattorilla Joskus eteen tulee tarve lisätä olioon jotain ekstraominaisuuksia, pitäen kuitenkin olio sellaisena että

Lisätiedot

Asenna myös mikroskopian lisäpala (MBF ImageJ for Microscopy Collection by Tony Collins) http://rsbweb.nih.gov/ij/plugins/mbf-collection.

Asenna myös mikroskopian lisäpala (MBF ImageJ for Microscopy Collection by Tony Collins) http://rsbweb.nih.gov/ij/plugins/mbf-collection. Asentaminen Ohjelman voi ladata vapaasti webistä (http://rsbweb.nih.gov/ij/) ja siitä on olemassa versiot eri käyttöjärjestelmille. Suurimmalle osalle käyttäjistä sopii parhaiten valmiiksi käännetty asennuspaketti

Lisätiedot

9 Edistynyt PHP-ohjelmointi

9 Edistynyt PHP-ohjelmointi 9 Edistynyt PHP-ohjelmointi Luentokerran tavoitteena on käydä läpi joukko sellaisia PHP-sovelluksen toteuttamiseen liittyviä tekijöitä, joiden avulla voidaan parantaa verkkopalvelun totetustyön tuottavuutta

Lisätiedot

Hirviö. Design Patterns

Hirviö. 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ätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. 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ätiedot

Hae Opiskelija käyttöohje

Hae Opiskelija käyttöohje Hae Opiskelija käyttöohje Yleistä Hae Opiskelija hakuikkunan toiminto on uudistettu tavoitteena saada selkeämpi ja helppokäyttöisempi rakenne. Käyttäjä valitsee ensin, kumpaa hakua haluaa käyttää, Perushaku

Lisätiedot

Lisää segmenttipuusta

Lisää segmenttipuusta Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko

Lisätiedot

Kehittyneet ominaisuudet

Kehittyneet ominaisuudet Kehittyneet ominaisuudet Piirtoarkkitehtuurit Leikkaa, kopioi ja liitä Peru, jaetut sovellukset ja makrot Petri Vuorimaa 1 12. Piirtoarkkitehtuuri Petri Vuorimaa 2 12.1 Peruspiirtoliittymä Luo uusi kappale

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

Ohje PhotoPortaalin käytöstä

Ohje PhotoPortaalin käytöstä Ohje PhotoPortaalin käytöstä Yleistä sisällöstä 1. Käyttäjän sisäänkirjautuminen / rekisteröityminen Jos olet kirjautunut aikaisemmin Finland Circuit, Obsession of Light, This is Life, tai johonkin muuhun

Lisätiedot

OHJ-1151 Ohjelmointi IIe

OHJ-1151 Ohjelmointi IIe Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja

Lisätiedot

Toimialan ja yritysten uudistuminen

Toimialan ja yritysten uudistuminen Toimialan ja yritysten uudistuminen - mahdollisuuksia ja karikoita Jari Kuusisto MIT Sloan School of Management University of Vaasa 1 Jari Kuusisto University of Vaasa Esityksen rakenne Metsäsektorin lähtötilanne

Lisätiedot

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 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ätiedot

Ohjelmistoarkkitehtuurit. Syksy 2007

Ohjelmistoarkkitehtuurit. Syksy 2007 Ohjelmistoarkkitehtuurit Syksy 2007 Kai Koskimies 1 Tervetuloa Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto 2 Kurssin tavoitteet Arkkitehtuuritason peruskäsitteiden ymmärtäminen Arkkitehtuurien

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka

Lisätiedot

Kuksa -jäsenrekisterin käyttöohje ryhmänjohtajille

Kuksa -jäsenrekisterin käyttöohje ryhmänjohtajille Kuksa -jäsenrekisterin käyttöohje ryhmänjohtajille Mistä löydän ryhmäni tiedot? 1) Valitse ylävalikosta Ryhmät. Hakukentän alla näet ryhmiesi tiedot. Klikkaamalla ryhmän nimeä pääset ryhmän tietoihin.

Lisätiedot

Racket ohjelmointia I

Racket ohjelmointia I Racket ohjelmointia I Tiina Partanen 2015 Sisältö 1) Racket-kieli ja DrRacket 1.1 DrRacket esivalmistelut 1.2 Peruslaskutoimitukset 2) Piirtotyökalut 2.1 Peruskuvioiden piirtäminen 2.2 Määrittelyt (define)

Lisätiedot

Kuvapankki Imagebank Independent

Kuvapankki Imagebank Independent SIVU 1/(8) Kuvapankki Imagebank Independent 1. Kirjautuminen palveluun 2. Kategoriat 2.1 Kategorian muokkaus 2.2 Uuden kategorian lisäys 2.3 Kategorioiden järjestely 3. Kuvat 3.1 Uuden kuvan lisääminen

Lisätiedot

Testitapaukset. Hannu Hautakangas Nikolai Koudelia Joel Lehtonen Johan Nysten. Versio 0.1 Julkinen 8.1.2009

Testitapaukset. Hannu Hautakangas Nikolai Koudelia Joel Lehtonen Johan Nysten. Versio 0.1 Julkinen 8.1.2009 Testitapaukset Hannu Hautakangas Nikolai Koudelia Joel Lehtonen Johan Nysten Versio 0.1 Julkinen 8.1.2009 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä Allekirjoitus Nimenselvennys

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM 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ätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit 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ätiedot

Sähköpostiohjeet. Tehokas ja huoleton sähköposti

Sähköpostiohjeet. Tehokas ja huoleton sähköposti Sähköpostiohjeet 1 Uuden PST tiedoston luominen sähköposteille... 3 Tärkeää!... 3 Tiedoston luominen... 3 Kansioiden luominen datatiedostoon... 5 Pikatoimintojen luominen... 8 Odottaa vastausta allekirjoitus...

Lisätiedot

Ohjelmistokehykset (software frameworks)

Ohjelmistokehykset (software frameworks) Ohjelmistoarkkitehtuurit 1 (software frameworks) Osittain abstraktiksi jätettyjä ohjelmistorunkoja, joita eri tavoin täydentämällä saadaan rakennettua kokonaisia uusia sovelluksia tai sovelluksen osia

Lisätiedot

c) Määritä paraabelin yhtälö, kun tiedetään, että sen huippu on y-akselilla korkeudella 6 ja sen nollakohdat ovat x-akselin kohdissa x=-2 ja x=2.

c) Määritä paraabelin yhtälö, kun tiedetään, että sen huippu on y-akselilla korkeudella 6 ja sen nollakohdat ovat x-akselin kohdissa x=-2 ja x=2. MAA4. Koe 8.5.0 Jussi Tyni Kaikkiin tehtäviin ratkaisujen välivaiheet näkyviin! Ota kokeesta poistuessasi tämä paperi mukaasi! Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Valitse

Lisätiedot

Koodimalli Code Model

Koodimalli Code Model Koodimalli Code Model Luento 6 10.10.2017 CSM14101 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Koodimalli Arkkitehtuurisuunnittelun ja implementaation välinen kuilu ja sen hallitseminen Arkkitehtuuria

Lisätiedot

KÄYTTÖOHJE FLSNIF KÄYTTÖÖNOTTO V2.2 (23.04.2014) 1 (5)

KÄYTTÖOHJE FLSNIF KÄYTTÖÖNOTTO V2.2 (23.04.2014) 1 (5) V2.2 (23.04.2014) 1 (5) KÄYTTÖÖNOTTO 1. Asenna tietokoneeseen USB-sarjaporttiajuri laitteen mukana toimitetulta CD-levyltä. HUOM: Jos CD-levyn ajuri ei sovellu tietokoneeseesi, voit hakea ajurin internetistä

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

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

Lisätiedot

Ohjelmistojen mallintaminen, suunnittelumalleja

Ohjelmistojen mallintaminen, suunnittelumalleja 582104 Ohjelmistojen mallintaminen, suunnittelumalleja 1 Suunnittelumallit (design patterns) Kuvaus sellaisesta luokkarakenteesta & olioiden vuorovaikutuksesta, joka ratkaisee tietyn yleisen ongelman tiettyjen

Lisätiedot

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

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

Lisätiedot

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Tarjolla 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ätiedot

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Opiskelijoiden OneDriveohje Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Ohjeen nimi Opiskelijoiden OneDrive-ohje Vastuuhenkilö Mari Jokiniemi

Lisätiedot

Testivetoinen ohjelmistokehitys

Testivetoinen 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ätiedot

Mikä on RSS-syöte? RSS -syötteen tilaaminen sähköpostiin

Mikä on RSS-syöte? RSS -syötteen tilaaminen sähköpostiin OHJE 1 (7) Mikä on RSS-syöte? RSS syötteen avulla voit saada sivuston uusimman sisällön valitsemaasi ohjelmaan automaattisesti, kun uutta sisältöä julkaistaan. Tässä ohjeessa neuvotaan, kuinka voit saada

Lisätiedot

Taulukkolaskenta II. Taulukkolaskennan edistyneempiä piirteitä

Taulukkolaskenta II. Taulukkolaskennan edistyneempiä piirteitä Taulukkolaskenta II Taulukkolaskennan edistyneempiä piirteitä Edistyneempää taulukkolaskentaa Tekstitiedoston tuonti taulukkolaskentaohjelmaan Lajittelu - taulukon lajittelu pyydettyjen sarakkeiden mukaan

Lisätiedot

Suunnittelumallien käyttö ohjelmistosuunnittelussa

Suunnittelumallien käyttö ohjelmistosuunnittelussa Suunnittelumallien käyttö ohjelmistosuunnittelussa Mika Rantakeisu Rovaniemen ammattikorkeakoulu Avoin ammattikorkeakoulu mika.rantakeisu@edu.ramk.fi Tiivistelmä Tämä on selvitys suunnittelumallien käytöstä

Lisätiedot

Racket ohjelmointia. Tiina Partanen 2014

Racket ohjelmointia. Tiina Partanen 2014 Racket ohjelmointia Tiina Partanen 2014 Sisältö 1) Peruslaskutoimitukset 2) Peruskuvioiden piirtäminen 3) Määrittelyt (define) 4) Yhdistettyjen kuvien piirtäminen 5) Muuttujat ja funktiot 6) Animaatiot

Lisätiedot

Graafisen käyttöliittymän ohjelmointi

Graafisen käyttöliittymän ohjelmointi TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 2 Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa Sisältö Tapahtumapohjainen ohjelmointi Tapahtumakuuntelijoiden

Lisätiedot

3D/4D/5D-mallien hyödyntäminen älyrakennuksen käytössä ja ylläpidossa

3D/4D/5D-mallien hyödyntäminen älyrakennuksen käytössä ja ylläpidossa TEKNOLOGIAN TUTKIMUSKESKUS VTT OY 3D/4D/5D-mallien hyödyntäminen älyrakennuksen käytössä ja ylläpidossa Kirjan RIL 267-2015 julkistamisseminaari Erikoistutkija Kalevi Piira (VTT) Määritelmiä Rakennuksen

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 10 1 Sarjakehitelmiä Palautetaan mieliin, että potenssisarja on sarja joka on muotoa a n (x x 0 ) n = a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) 2 + a 3 (x x 0 ) 3 +. n=0 Kyseinen

Lisätiedot

1. Olio-ohjelmointi 1.1

1. 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ätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

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

Lisätiedot

Tech Conference 28.-29.5.2015. Windows 10 viimeinen Windowsversio? Sami Laiho Senior Technical Fellow, MVP. #TechConfFI

Tech Conference 28.-29.5.2015. Windows 10 viimeinen Windowsversio? Sami Laiho Senior Technical Fellow, MVP. #TechConfFI Tech Conference 28.-29.5.2015 Windows 10 viimeinen Windowsversio? Sami Laiho Senior Technical Fellow, MVP #TechConfFI Windows 10 viimeinen Windows-versio? Windows 10:n merkitys IT-ympäristöille Windows

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin 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ätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 20-202 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages 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ätiedot

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa Platform Tuotekehityksen haasteita ja ratkaisuja Haaste: Massiivisten tietomäärien hallinta Ratkaisu: Pilvipalvelun skaalautuvuus Haaste:

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkä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ätiedot