Ylläpidettävät ohjelmat. Evoluutiolait (Lehman) Lakien keskinäiset suhteet. Muutostarpeita (evoluution syitä) Ohjelmien luokittelu (Lehman)

Koko: px
Aloita esitys sivulta:

Download "Ylläpidettävät ohjelmat. Evoluutiolait (Lehman) Lakien keskinäiset suhteet. Muutostarpeita (evoluution syitä) Ohjelmien luokittelu (Lehman)"

Transkriptio

1 Ylläpidettävät ohjelmat Perintöohjelmat (legacy software) legacy (perintö, jäämistö) Ohjelmistoevoluutio Lehmanin esittämä ohjelmien jaottelu Lehmanin evoluutiolait Perintöohjelmiston rakenne Jatkotoimenpiteet perintöohjelmille Spagettikoodi ja sen korjaaminen Muutostarpeita (evoluution syitä) Yrityksen sisäiset toiminnan muutokset uudet liiketoiminta-alueet toimintatapa- ja organisaatiomuutokset uudet sovellusalueet Ulkoiset syyt viranomaisten toimenpiteet kilpailijat ja heidän toimenpiteensä yhteistyökumppanit ja verkostoituminen asiakkaat Järjestelmien sisäiset muutostarpeet järjestelmien puutteet ja virheet uuden tekniikan vaikutukset järjestelmän huono suunnittelu TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka Ohjelmien luokittelu (Lehman) Ongelma Ohjelma Käyttäjätyytyväisyys S-ohjelmat (specification) ongelma voidaan määritellä tarkasti ohjelma miten hyvin ohjelma vastaa määrittelyään P-ohjelmat (problem, paradigm) ongelman tarkka määrittely vaikeaa miten hyvin ohjelma vastaa todellisuutta ongelma E-ohjelmat (evolution) sovellusalue ohjelmat ratkaisevat reaalimaailmassa esiintyviä tehtäviä miten hyvin ohjelma pystyy muuntumaan ympäristön muutosten mukaisesti Evoluutiolait (Lehman) I laki: Jatkuva muutos II laki: Lisääntyvä monimutkaisuus III laki: Itseohjautuvuus suurten järjestelmien evoluutio IV laki: Vakaus (organisaatio) kehittämisnopeuden muuttumattomuus V laki: Vakaus (julkistusversiot) versioiden välisten erojen muuttumattomuus VI laki: Jatkuva kasvu toiminnallisuuden lisääminen käyttäjien vaatimuksesta VII laki: Heikkenevä laatu kasvun aiheuttama laadun huononeminen VIII: Vuorovaikutteisuus voimien ja vastavoimien välisen tasapainon etsiminen TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka Lakien keskinäiset suhteet. Jatkuva muutos 8. Vuorovaikutteisuus 6. Jatkuva kasvu. Vakaus (organisaatio). Itseohjautuvuus. Vakaus (julkistusversiot) kuukausia kuukausia I henkilöitä III Lehmanin. laki Erilaisia tehtäviä I Tehtävä, joka voidaan jakaa II Tehtävä, jota ei voida jakaa III Tehtävä, ä, joka voidaan odaa jakaa mutta joka vaatii kommunikointia IV Tehtävä, jonka osatehtävillä on monimutkaisia keskinäisiä kytköksiä kuukausia kuukausia II henkilöitä IV. Lisääntyvä monimutkaisuus 7. Heikkenevä laatu TTY Ohjelmistotekniikka henkilöitä Brooks: The Mythical Man-Month henkilöitä TTY Ohjelmistotekniikka 6

2 Lehmanin. laki Yhteyksien määrä (kommunikaation lisääntyminen) Ohjelmoijia: Ohjelmoijia: j Ohjelmoijia: j Yhteyksiä: Yhteyksiä: Yhteyksiä: 6 Ohjelmoijia: Yhteyksiä: 0 Ohjelmoijia: 0 Yhteyksiä: TTY Ohjelmistotekniikka 7 Lehmanin. laki Esimerkki myöhästymisestä Tehtävän koko: henkilötyökuukautta työntekijää kuukautta henk. I A B C D kk TTY Ohjelmistotekniikka 8 Lehmanin. laki Myöhästymiseen reagointi Oletetaan, että vain vaihe A oli väärin arvioitu koko tehtävä valmistuu kk myöhässä jos halutaan pysyä aikataulussa jäljellä oleva työ: 9 htkk jäljellä oleva aika: kk tarvitaan. henkilöä ( lisää) A B C D II TTY Ohjelmistotekniikka 9 Lehmanin. laki Myöhästymiseen reagointi Oletetaan, että kaikki vaiheet on arvioitu väärin vastaavalla tavalla koko tehtävä valmistuu kk myöhässä jos halutaan pysyä aikataulussa jäljellä oleva työ: 8 htkk jäljellä oleva aika: kk tarvitaan 9 henkilöä (6 lisää) III A B C D TTY Ohjelmistotekniikka 0 Myöhästymiseen reagointi Aikaa tarvitaan myös uusien työntekijöiden kouluttamiseen työn jakamiseen uudelleen IV B C D A koulutus päättyy Lehmanin. laki Vrt. kuvia II ja IV TTY Ohjelmistotekniikka Lehmanin kritiikkiä Tarkat määritelmät puuttuvat Lait perustuvat suppeaan ja epätyypilliseen sovellusalueeseen käyttöjärjestelmiä (OS/60, VME), pankkitapahtumajärjestelmiä Tutkittujen ohjelmistojen asiakkaina suuryritykset Termin laki käyttö ilmiöitä, jotka kuvaavat inhimillistä toimintaa toisaalta: kysynnän ja tarjonnan laki Lakien todistaminen ja testaaminen vaikeaa Ohjelmien minimointi TTY Ohjelmistotekniikka

3 Lehmanin lakien soveltaminen Avoin ohjelmistokehitys (Linu) Linu (9 versiota) kasvu lähes eksponentiaalista laiteajurit monimutkaisuus ei (ainakaan vielä) ole lisääntynyt Avoimen ohjelmistokehityksen ksen tyypillisiä piirteitä: aikatauluun ei kohdistu liiketaloudellisia paineita koodin laatu vaihtelee, ei tiukkoja standardeja lopputuote voi olla epävakaa ja puolivalmis Linu: eri tuotelinjat valmiimmille versioille ja kokeiluasteen koodille testaus ja ylläpito ei etukäteen suunniteltua TTY Ohjelmistotekniikka Perintöohjelmiston rakenne ajetaan Laitteisto käyttää ajetaan käyttää Sovelluksen data Sovellusalueen toimintaprosessit Sovellusohjelmisto Tukiohjelmisto Laitteisto Tuki- ohjelmisto Sovellus- ohjelmisto ovat Sovellusalueen sulautu- käytännöt ja neina säännöt käyttävät rajoittavat Sovellusalueen toimintaprosessit TTY Ohjelmistotekniikka Rakenteen muuttuminen Ideaalirakenne (alkuperäinen rakenne) Käyttöliittymä Todellinen rakenne Käyttöliittymä Perintöohjelmiston data Vanha järjestelmä: Uusi järjestelmä: Ohjelma Ohjelma Ohjelma Ohjelma Ohjelma Ohjelma Ohjelma Ohjelma P a l v e l u t Tietokanta Tietokanta Tiedosto Tiedosto Tiedosto Tiedosto Tietokannanhallintajärjestelmä TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka 6 Perintöohjelmien alkuperäinen suunnittelu Syötteet Järjestelmä Prosessointi Tulosteet TTY Ohjelmistotekniikka 7 Syötteet Prosessointi Tulosteet loop repeat Print( Welcome Please enter your card ); until Card_input; Account_number := Read_card; Get_account_details(PIN, Account_balance, Cash_available); if Invalid_card(PIN) then Retain_card; Print( Card retained please contact your bank ); else repeat Print_operation_select_message; Button := Get_button; case Button is when Cash_only => Dispense_cash(Cash_available, Amount_dispensed); when Print_balance => Print_customer_balance(Account_balance); when Statement => Order_statement(Account_number); when Check_book => Order_checkbook(Account_number); end case; Print( Press CONTINUE for more services or STOP to finish ); Button := Get_button; until Button = STOP; Eject_card; Print( Please take your card ); Update_account_information(Account_number, Amount_dispensed); TTY Ohjelmistotekniikka 8 end loop;

4 Implisiittiset koodaussäännöt Ei löydy järjestelmän dokumenteista, vaan kokeneiden ohjelmoijien ja ylläpitäjien muistista Järjestelmäkohtaisia Sääntöjen noudattamatta jättäminen johtaa virheelliseen koodiin Implisiittinen koodaussääntö Jotta funktio A toimisi oikein, anna globaalille muuttujalle B alkuarvo ennen funktion C kutsua. Ennen kuin kutsut funktiota X, kutsu funktiota Y. Virheellinen koodi Funktiota C kutsutaan sijoittamatta B:lle alkuarvoa. Funktiota X kutsutaan ilman funktion Y kutsumista. Mitä perintöohjelmille voidaan tehdä? Järjestelm män laatu Ylläpidä/ hylkää Hylkää/ korvaa Jatkokehitä Uudista Liiketaloudellinen arvo TTY Ohjelmistotekniikka 9 TTY Ohjelmistotekniikka 0 Arviointiin liittyviä kysymyksiä Järjestelmän ymmärrettävyys kuinka ymmärrettävää lähdekoodi on? kuinka monimutkaisia kontrollirakenteita on käytetty? onko muuttujilla kuvaavat nimet? Dokumentit mitä dokumentteja järjestelmästä on olemassa? kuinka k luotettavia tt dokumentit ovat? Järjestelmän data noudattaako järjestelmän data jotakin tiettyä tietomallia? onko eri tiedostoissa oleva data päällekkäistä? miten yhtenäistä data on? Toiminta toimiiko järjestelmä oikein? haittaavatko suorituskykyyn liittyvät ongelmat järjestelmän käyttöä? TTY Ohjelmistotekniikka Arviointiin liittyviä kysymyksiä () Ohjelmointikieli onko käytetylle ohjelmointikielelle kääntäjiä? käytetäänkö ohjelmointikieltä uusien ohjelmien kehittämisessä? Testaus ovatko järjestelmän testaustiedot saatavilla? Ohjelmoijien taidot onko saatavilla osaavia ihmisiä järjestelmän ylläpitoon? kuinka suurella osalla ohjelmoijista on käsitys koko ohjelmasta? TTY Ohjelmistotekniikka Järjestelmien strateginen luokittelu Toiminnan kehittämisen mahdollistavat järjestelmät uuden liiketoiminnan luominen ja olemassa olevan kehittäminen olennaisia kilpailukyvyn kannalta esim. asiakkaiden analysointi, sähköinen kaupankäynti Toiminnan i perusjärjestelmät j ät keskeisten operatiivisten toimintojen tukeminen esim. toiminnan ohjaus, myynnin tuki Toiminnan tukijärjestelmät toiminnan perusasioiden hoitaminen esim. kirjanpito, laskutus Muut järjestelmät esim. vain yhden henkilön käytössä olevat järjestelmät Korvaaminen on hankalaa, koska Tarkat määrittely- ja muut dokumentit puuttuvat Yrityksen toimintasäännöt ja prosessit voivat olla koodattuina perintöohjelmiin Korvattavaa ja korvaavaa järjestelmää voidaan joutua ylläpitämään samanaikaisesti Uuden järjestelmän kehittäminen aiheuttaa aina riskejä TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka

5 Muuttaminen on hankalaa, koska Ohjelmointityyli voi olla epäyhtenäinen Ohjelmointikieli voi olla vanhanaikainen Dokumentit puuttuvat Ohjelman alkuperäistä rakennetta on vaikea tunnistaa Arkkitehtuuri ei tue muutoksia Koodia on optimoitu Tietorakenteet ovat hajanaisia ja epäyhtenäisiä TTY Ohjelmistotekniikka start: Get ( Time-on, Time-off, Time, Setting, Temp, Switch ) if Switch = off goto off if Switch = on goto on goto cntrld off: if Heating-status = on goto sw-off goto loop on: if Heating-status = off goto sw-on goto loop cntrld: if Time = Time-on goto on if Time = Time-off goto off if Time < Time-on goto start if Time > Time-off goto start if Temp > Setting goto off if Temp < Setting goto on sw-off: Heating-status := off goto switch sw-on: Heating-status := on switch: Switch-heating loop: goto start Spagettikoodia A badly structured program is likened to a plateful of spaghetti: if one strand is pulled, then the ramifications can be seen at the other side of the plate where there is mysterious turbulence and upheaval. (Rushby) TTY Ohjelmistotekniikka 6 loop -- Get statement finds values for the given variables from the -- system s environment Get ( Time-on, Time-off, Time, Setting, Temp, Switch ); case Switch is when on => if Heating-status = off then Heating-status := on; Switch-heating; end if; when off => if Heating-status = on then Heating-status := off; Spagettikoodista saatu rakenteellinen koodi Switch-heating; end if; when Controlled => if Time >= Time-on and Time <= Time-off then if Temp > Setting and Heating-status = on then Heating-status := off; Switch-heating; elsif Temp < Setting and Heating-status = off then Heating-status := on; Switch-heating; end if; end if; Ohjelmien end case; ylläpito ja evoluutio TTY Ohjelmistotekniikka 7 end loop; Spagettikoodista rakenteelliseksi Rakenteellinen koodi one entry one eit tiedetään, mistä kuhunkin ohjelmakohtaan on tultu Systemaattisia keinoja spagettikoodin poistamiseen: tilamuuttujan lisääminen monistaminen looginen yksinkertaistaminen TTY Ohjelmistotekniikka 8 Tilamuuttujan lisääminen: alkuperäinen tilanne Tilamuuttujan lisääminen: periaate Set I = B D A C E I = 0? f I =? f I =? f t t t STOP 0 F I = n? t n TTY Ohjelmistotekniikka 9 TTY Ohjelmistotekniikka 0

6 Set I = I = 0? I =? I =? I =? I =? I =? A STOP I = I = B I = C D E I = I = I = I = 0 I = 0 Tilamuuttujan lisääminen: lopputulos TTY Ohjelmistotekniikka Monistaminen: alkuperäinen tilanne TTY Ohjelmistotekniikka X Monistaminen: lopputulos Y Looginen yksinkertaistaminen. Piirrä ohjelmasta vuokaavio. Johda boolean-lauseke jokaisen peruslohkon lausejonolle. Yksinkertaista boolean-lausekkeet. Rakenna ohjelma uudestaan 9 TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka B B = A = A = A Λ B = A Λ B = ( A Λ B) V (A Λ B) = B 6 = A Λ B 7 = A Λ B Λ C 8 = A Λ B Λ C Λ D End A Begin B A Alkuperäinen ohjelma B 6 C C 7 9 D D 8 Vuokaaviota vastaava totuustaulu A B C D TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka 6 6

7 B Action B B Action A Action Proc Begin End A Proc Action C B Action 6 Parannettu ohjelma C D Action 7 D Proc 9 Proc 9 Action 8 D TTY Ohjelmistotekniikka 7 D Koodin muuttaminen (esimerkki evoluutiosta) Tilanne: tarvitaan uusi toiminto melkein (mutta ei ihan) samanlainen toiminto on jo olemassa Ad hoc ratkaisuja: lisätään parametri, jolla säädellään toimintoa monistaminen Parempi ratkaisu: koodin jakaminen useammaksi uudeksi aliohjelmaksi TTY Ohjelmistotekniikka 8 jaettavaa koodia Esimerkkitilanne AllowableTemperature := MaAllowableTemperature (Environment ); /* get most recent temperature from the stack */ Temperature := Stack.Temperature [ Stack.Top ]; Stack.Temperature [ Stack.Top ] := INITIAL_TEMPERATURE; if ( Stack.Top > 0 ) then begin Stack.Top := Stack.Top end; if ( Temperature > AllowableTemperature ) then begin ShutdownReactor ( Environment, Temperature ) end; Ohjelmien ylläpito ja evoluutio TTY Ohjelmistotekniikka 9 Alkuperäinen tilanne Jaettu koodi kutsuttavassa operaatiossa Koodin jakamistapoja Monistaminen operaatio tarvitsee toisen operaation koodia operaatio sisältää koodia, jota toinen operaatio tarvitsee Jaettu koodi kutsuvassa operaatiossa TTY Ohjelmistotekniikka 0 Jaettu koodi kutsuttavassa Alkuperäinen toiminto Uusi versio Toinen toiminto joka tarvitsee jaettua koodia Jaettu koodi kutsuttavassa Lukeminen ID:n tarkistaminen Kenttien tarkistaminen Tallentaminen [kutsuva operaatio] ListMissilePosition- ListNewMissile- ListMissileUpdate- ListMissileID- jaetun koodin kutsut Read- MessageID ( ) MessageFields ( ) Save- Jaettu koodi TTY Ohjelmistotekniikka TTY Ohjelmistotekniikka 7

8 Jaettu koodi kutsuvassa Yleisiä: Lukeminen ID:n tarkistaminen Tallentaminen Tapauskohtainen: Kenttien tarkistaminen [kutsuva operaatio] ListMissile- MissilePosition- Fields ( ) NewMissile- Fields ( ) MissileUpdate- Fields ( ) MissileID- Fields ( ) TTY Ohjelmistotekniikka 8

Ylläpidettävät ohjelmat. Evoluutiolait (Lehman) Lakien keskinäiset suhteet. Muutostarpeita (evoluution syitä) Ohjelmien luokittelu (Lehman)

Ylläpidettävät ohjelmat. Evoluutiolait (Lehman) Lakien keskinäiset suhteet. Muutostarpeita (evoluution syitä) Ohjelmien luokittelu (Lehman) Ylläpidettävät ohjelmat Perintöohjelmat (legacy software) legacy (perintö, jäämistö) Ohjelmistoevoluutio Lehmanin esittämä ohjelmien jaottelu Lehmanin evoluutiolait Perintöohjelmiston rakenne Jatkotoimenpiteet

Lisätiedot

Johdantoluento. Ohjelmien ylläpito

Johdantoluento. Ohjelmien ylläpito Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Imperatiivisten ohjelmien organisointiparadigmojen. historia

Imperatiivisten ohjelmien organisointiparadigmojen. historia Imperatiivisten ohjelmien organisointiparadigmojen historia Timo Tapanainen Helsingin yliopisto, tietojenkäsittelytieteen laitos Tietojenkäsittelytieteen historia -seminaari, kevät 2007 Sisältö Paradigma,

Lisätiedot

Imperatiivisten ohjelmien organisointiparadigmojen historia

Imperatiivisten ohjelmien organisointiparadigmojen historia Imperatiivisten ohjelmien organisointiparadigmojen historia Timo Tapanainen Helsingin yliopisto, tietojenkäsittelytieteen laitos Tietojenkäsittelytieteen historia -seminaari, kevät 2007 Sisältö Paradigma,

Lisätiedot

Ohjelmien analysointi. ER-kaaviot

Ohjelmien analysointi. ER-kaaviot Ohjelmien analysointi Ohjelmien kuvaaminen kaavioilla ohjelmien ymmärtäminen kaavioiden avulla kaavioiden tuottaminen ohjelmasta Erilaisia kaaviotyyppejä: ER-kaaviot, tilakaaviot, UML-kaaviot tietohakemisto

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

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

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

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Makrojen mystinen maailma lyhyt oppimäärä

Makrojen mystinen maailma lyhyt oppimäärä Makrojen mystinen maailma lyhyt oppimäärä Makrot osana SAS-teknologiaa Yleiskuva Jouni Javanainen Aureolis lyhyesti Aureolis on jatkuvia Business Intelligence -palveluita tuottava asiantuntijaorganisaatio

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Turvallisuusseminaari 30.11 1.11.2006 Silja-Line

Turvallisuusseminaari 30.11 1.11.2006 Silja-Line Turvallisuusseminaari 30.11 1.11.2006 Silja-Line Koneturvallisuus ohjausjärjestelmät ja niihin liittyvät tiedonsiirtojärjestelmät Toiminnallinen turvallisuus Standardi IEC 62061 Koneturvallisuus turvallisuuteen

Lisätiedot

Racket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014

Racket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014 Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Paikalliset muuttujat, kirjan tulkki kokonaisuutena (mm. SICP 3.2, 4.1.24.1.6) Riku Saikkonen 22. 11. 2012 Sisältö 1 Ympäristöt: miten paikalliset

Lisätiedot

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin

Lisätiedot

DATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita

DATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita Markku Suni Factotum emeritus Turun ammattikorkeakoulu DATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita Aivan ensimmäiseksi haluan kiittää kuulijoita kuuntelusta Kuten tunnettu poliitikko

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms. Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

AU Automaatiotekniikka. Toimilohko FB

AU Automaatiotekniikka. Toimilohko FB AU080401 Automaatiotekniikka Toimilohko FB Tarkoitus Dokumentissa kuvataan, mikä on toimilohko (FB) miten toimilohko muodostetaan ja miten sitä sovelletaan S7 ohjelmointiympäristössä (STEP7) mitä etua

Lisätiedot

Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä www.turkuamk.fi

Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä www.turkuamk.fi Markku Suni Turun ammattikorkeakoulu Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä SAS Makrokieli SAS Makrokieli on kieli SAS-kielen laajennus datavaihetta muistuttavia lauseita ja funktioita

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

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

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Tieto ja sen osoite (3) X DC LOAD, =X LOAD R2, X int x =; symbolin X arvo muuttujan X arvo

Lisätiedot

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi.

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi. SOSIAALINEN MEDIA Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi. FACEBOOK Facebook mahdollistaa useiden erilaisten Social plugins -toimintojen

Lisätiedot

Bootstrap / HTDP2 / Realm of Racket. Vertailu

Bootstrap / HTDP2 / Realm of Racket. Vertailu Bootstrap / HTDP2 / Realm of Racket Vertailu Bootstrap http://www.bootstrapworld.org/ Tarkoitettu yläkoululaisille (12-15v) Ohjelmointi on integroitu matematiikan opetukseen Materiaalina tuntisuunnitelmat

Lisätiedot

UCOT-Sovellusprojekti. Testausraportti

UCOT-Sovellusprojekti. Testausraportti UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

Varmennepalvelu - testipenkki. Kansallisen tulorekisterin perustamishanke

Varmennepalvelu - testipenkki. Kansallisen tulorekisterin perustamishanke Varmennepalvelu - testipenkki Kansallisen tulorekisterin perustamishanke 2 (9) SISÄLLYS 1 Johdanto... 3 2 Testimateriaali... 3 2.1 Testipenkin palveluissa käytettävät parametrit... 3 2.2 Testipenkin yhteysosoite...

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

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

Sisällysluettelo Table of contents

Sisällysluettelo Table of contents Sisällysluettelo Table of contents OTC:n Moodlen käyttöohje suomeksi... 1 Kirjautuminen Moodleen... 2 Ensimmäinen kirjautuminen Moodleen... 2 Salasanan vaihto... 2 Oma käyttäjäprofiili... 3 Työskentely

Lisätiedot

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Muuttujan X osoite on 230 Muuttujan X arvo on 12 Symbolin X arvo on 230 symbolit ovat yleensä

Lisätiedot

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset 1 Muuttujan X osoite on 230 Muuttujan X arvo on 12 Symbolin X arvo on 230 Tieto ja sen osoite

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Tulkki: proseduurit, abstrakti syntaksi, quote ja cond (mm. SICP 44.1.5 osin) Riku Saikkonen 15. 11. 2011 Sisältö 1 Argumentittomat proseduurit ja käyttöliittymä

Lisätiedot

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja Turun ammattikorkeakoulu Ruokahalu kasvaa syödessä lisää makrokielen herkkuja SAS Makrokieli - kertaus Makrokielen asiat tapahtuvat ohjelmaa käännettäessä makroprosessorin työn tulos näkyy kääntäjälle

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. START START SIT 1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. This is a static exercise. SIT STAND 2. SIT STAND. The

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

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

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 9: Makrot ja dynaaminen sidonta Riku Saikkonen 7. 12. 2010 Sisältö 1 Makrot 2 Pieni esimerkki abstraktion tekemisestä 3 Dynaaminen sidonta Mikä on makro?

Lisätiedot

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo Täysautomatisoitu raportointiympäristö Joni-Petteri Paavilainen Jani Alatalo Miksi tähän ryhdyttiin? Miten asiassa edettiin? Vaatimuksia Reaaliaikaisuus n 15 min Hallitut käyttöoikeudet Raportin tekijöillä

Lisätiedot

Koodistoeditorin tavoitteet ja tilannekatsaus

Koodistoeditorin tavoitteet ja tilannekatsaus Työpajan sisältö 9.00 Koodistoeditorin tavoitteet ja tilannekatsaus (Petri Roponen) 9.30 KaPA-koodistopalvelu ja REST-rajapinnat: lähtökohdat ja ratkaisumalli (Antti Tohmo) 10.15 Kansallinen koodistojen

Lisätiedot

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 ECDL Tietokannat Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 Tavoite Tässä esitellään tutkintovaatimukset moduulille ECDL Tietokannat, joka määrittelee tarvittavat tiedot ja taidot näyttökokeen

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro: KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen

Lisätiedot

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä $$$ Raha ratkaisee On vaara rakastua tekniikkaan, myös asiakkailla Kaikki pitää pystyä perustelemaan taloudellisesti Projektin toteutus yleensä -> voidaan jättää toteuttamatta, jos ei maksa itseään takaisin

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii

Lisätiedot

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa.

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. XNA grafiikka laajennus opas Paavo Räisänen www.ohjelmoimaan.net Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

Lisätiedot

ohjelman arkkitehtuurista.

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

Luento 4 Aliohjelmien toteutus

Luento 4 Aliohjelmien toteutus Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymistä, viimeksi unohtui Työohje julkaistu! Elinaikajuttujen loppurutistusta, viipaloitumisasiaa Prototyypeistä

Lisätiedot

Esimerkki 1: Kahviautomaatti.

Esimerkki 1: Kahviautomaatti. Esimerkki 1: Kahviautomaatti. ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET 2.1 Tilakaaviot ja tilataulut Tarkastellaan aluksi tietojenkäsittelyjärjestelmiä, joilla on vain äärellisen monta mahdollista tilaa.

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3

Lisätiedot

MODBUS -väyläohjaus DITRONIC TOUCH -KOSKETUSNÄYTTÖ. s-posti:

MODBUS -väyläohjaus DITRONIC TOUCH -KOSKETUSNÄYTTÖ. s-posti: MODBUS -väyläohjaus DITRONIC TOUCH -KOSKETUSNÄYTTÖ s-posti: seroco@seroco.fi www.seroco.fi Tässä oppaassa kuvataan Ditronic Touch -kosketusnäytön liittäminen Modbus/RTU:hun RS485- sarjaliikenteen kautta

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

Sangen lyhyt L A T E X-johdatus, osa 2

Sangen lyhyt L A T E X-johdatus, osa 2 Sangen lyhyt L A T E X-johdatus, osa 2 Lari Koponen ja Eetu Ahonen 23.1.2013 Koulutuksen tavoitteet Koulutuksen jälkeen pystyy kirjoittamaan työselostuksen L A T E X:illa, eli Dokumentin rakenne tutuksi

Lisätiedot

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne. Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma

Lisätiedot

Projektisuunnitelma. Projektin tavoitteet

Projektisuunnitelma. Projektin tavoitteet Projektisuunnitelma Projektin tavoitteet Projektin tarkoituksena on tunnistaa erilaisia esineitä Kinect-kameran avulla. Kinect-kamera on kytkettynä tietokoneeseen, johon projektissa tehdään tunnistuksen

Lisätiedot

LAINAUSJÄRJESTELMÄ. Kyllä. Vihermetsän lukion kirjastossa on samankaltainen, mutta monimutkaisempi lainausjärjestelmä:

LAINAUSJÄRJESTELMÄ. Kyllä. Vihermetsän lukion kirjastossa on samankaltainen, mutta monimutkaisempi lainausjärjestelmä: LAINAUSJÄRJESTELMÄ Holopaisten lukion kirjastossa on yksinkertainen kirjojen lainausjärjestelmä: henkilökunnalle laina-aika on 28 päivää, ja opiskelijoille laina-aika on 7 Alla on tätä yksinkertaista järjestelmää

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

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II 7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja

Lisätiedot

Scheme-kesäkurssi luento 3

Scheme-kesäkurssi luento 3 Scheme-kesäkurssi luento 3 Riku Saikkonen 6. 7. 2009 Sisältö 1 Nelilaskin 2 Muuttujat 3 Ympäristöt 4 Scheme-tulkki 5 Kontinuaatiot 6 CPS Miksi SICP-kirjassa on Scheme-tulkkeja? tulkin näkeminen auttaa

Lisätiedot

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen

Lisätiedot

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Osa II OUGF / 12.5.2004 c Sisält ltö Mitä uutta? Yleistä lisensoinnista Lisensointiin liittyviä ongelmia Hankinnassa muistettavia asioita

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa

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

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto If you are searched for a book by Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice over LTE (VoLTE) in pdf form, then you have come

Lisätiedot

Harjoitustyö 3 - Millosemeni

Harjoitustyö 3 - Millosemeni Harjoitustyö 3 - Millosemeni Tampereen kaupunki tarjoaa avoin data -sivuillaan Tampereen joukkoliikenteen aikataulut, reitit sekä rajapinnan joukkoliikenteen reaaliaikaiseen seurantaan. Näinpä erilaisille

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

SIMULINK S-funktiot. SIMULINK S-funktiot

SIMULINK S-funktiot. SIMULINK S-funktiot S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

end; end else begin if aani=true then begin sound(247); delay(100); sound(220); delay(200); nosound; end; end;

end; end else begin if aani=true then begin sound(247); delay(100); sound(220); delay(200); nosound; end; end; Program Ristinolla; Uses Graph, Grafiikka, Crt; CONST TestiValikko: Valikko = ( x1:50; y1: 50; x2: 350; y2: 350; RiviLkm: 3; SaraLkm: 3; Pvari : BLUE; Kvari : WHITE; Tvari: WHITE; ApVari: BLUE; ATVari:

Lisätiedot

Ketterä analytiikka mitä se voisi olla käytännössä? Case Katedata Delta Motor Group

Ketterä analytiikka mitä se voisi olla käytännössä? Case Katedata Delta Motor Group Ketterä analytiikka mitä se voisi olla käytännössä? Case Katedata Delta Motor Group 1.10.2014 Johdanto. Ketterän analytiikan viitekehys Dataa on Kerääminen Hallinta Data tänne ja yksi rivi per entiteetti

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11

Lisätiedot

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu

Lisätiedot