Ylläpidettävät ohjelmat. Evoluutiolait (Lehman) Lakien keskinäiset suhteet. Muutostarpeita (evoluution syitä) Ohjelmien luokittelu (Lehman)
|
|
- Anne-Mari Mäki
- 8 vuotta sitten
- Katselukertoja:
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 Perintöohjelmat (legacy software) legacy (perintö, jäämistö) Ohjelmistoevoluutio Lehmanin esittämä ohjelmien jaottelu Lehmanin evoluutiolait Perintöohjelmiston rakenne Jatkotoimenpiteet
LisätiedotJohdantoluento. 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ätiedotFinFamily 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ätiedotImperatiivisten 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ätiedotImperatiivisten 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ätiedotOhjelmien 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ätiedot1.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ätiedotIDL - 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ätiedotATK 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ätiedot1.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ätiedotLuento 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ätiedotKoottu 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ätiedotMakrojen 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ä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ätiedotIntegrointi. 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ätiedotTurvallisuusseminaari 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ätiedotRacket 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ätiedotOhjelmoinnin 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ätiedotPaikkatietorajapinnat 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ätiedotDATA-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ätiedotSuunnitteluvaihe 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ätiedotTIEP114 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ätiedotJohnson, 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ätiedotOhjelmoinnin 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ätiedotProseduurit, 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ätiedotPROSEDUURIT, 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ätiedotJohdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
LisätiedotLab 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ätiedotFinFamily 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ätiedotKirjasto 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ätiedotOhjelmiston 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ätiedotAU 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ätiedotDynaamista 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ätiedotOhjelmoinnin 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ätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
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ätiedotTieto 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ätiedotTä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ätiedotBootstrap / 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ätiedotUCOT-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ätiedotVarmennepalvelu - 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ä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ätiedotSisä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ätiedotJakso 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ätiedotBDD (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ätiedotJakso 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ätiedot812336A 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ätiedotHieman 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ätiedotTietojä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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotRuokahalu 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ätiedotCUDA. 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ätiedot1. 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ä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ä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ätiedotOhjelmoinnin 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ätiedotTä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ätiedotKoodistoeditorin 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ätiedotECDL 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ätiedotWWW-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ätiedotTAITAJA 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 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ätiedotVerilogvs. 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ätiedotOn 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ätiedotOhjelmoinnin 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ätiedotPRINCIPLES 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ätiedotXNA 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ätiedotCapacity 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ätiedotMuuttujatyypit 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ä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ätiedotLuento 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ätiedotTIE-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ätiedotEsimerkki 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ätiedotOhjelmistoarkkitehtuurit 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ätiedotMODBUS -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ätiedot815338A 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ätiedotChoose 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ätiedotSangen 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ätiedot2) 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ätiedotProjektisuunnitelma. 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ätiedotLAINAUSJÄ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ä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ätiedotVerifioinnin 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ätiedotScheme-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ätiedotPerinteiset 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ätiedotLisensointikuulumisia - 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ätiedotTAMPEREEN 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ätiedotOhjelmoinnin 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ätiedotImperatiivisen 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ä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ätiedotVoice 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ätiedotHarjoitustyö 3 - Millosemeni
Harjoitustyö 3 - Millosemeni Tampereen kaupunki tarjoaa avoin data -sivuillaan Tampereen joukkoliikenteen aikataulut, reitit sekä rajapinnan joukkoliikenteen reaaliaikaiseen seurantaan. Näinpä erilaisille
LisätiedotSystem.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ätiedotSIMULINK 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ätiedotSystem.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ätiedotend; 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ätiedotKetterä 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ätiedotHELIA 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ätiedotTestaussuunnitelma 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