Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu. Kurssin sisältö
|
|
- Tero Niemi
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin sisältö Luku 4: Lähde: Peter J. Denning: Great Principles of Computing (Communications of the ACM, 46, 11, marraskuu 2003, sivut 15-20). Luku 1: Historiaa Luku 2: Kokonaiskuva Luku 3: Eettiset perusteet Luku 7: Luku 6: Luku 5: 1
2 Suunnittelu Suunnittelun periaatteet: Tietojenkäsittelyn keskeiset periaatteet yksinkertaisuus suorituskyky luotettavuus kehitettävyys tietoturva Tietojenkäsittelyn mekaniikat Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.1 Yksinkertaisuus Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 2
3 Tutkimusmatkailija Parnas ohjelmistojen ihmeellisessä maailmassa Parnas löytää silloin tällöin ohjelmistohelmiä: Rakenne on erinomainen. Ohjelmointityyli on johdonmukainen. Ei käytetty typeriä ohjelmointikikkoja. Jokainen komponentti on - yksinkertainen, - järjestelmällinen ja - helppo muuttaa. Parnas kummastelee miksi ohjelmistohelmet ovat harvinaisia, vaikka ohjelmistojen tekemistä on tutkittu yli 30 vuotta. Havaintoja tutkimusmatkan varrelta Tietoa on: hyviä oppikirjoja, erinomaisia artikkeleita jne Ohjelmistohelmet on yleensä tehty olosuhteissa, joita ei esiinny kaupallisen menestyksen paineen alla ohjelmistoteollisuudessa. Useimmat ohjelmistot ovat rumia, epäluotettavia ja vaikeita muuttaa. 3
4 Fat software Kaupalliset paineet aiheuttavat piirteiden lisäämistä ohjelmistoon. Laajentuminen epäolennaisuuksiin saattaa hämärtää rakennetta. Pitäisi keskittyä olennaiseen ei turhia kilkuttimia. Hyvä periaate, mutta olennaisen ja turhan välinen rajanveto on hankalaa. Joidenkin ominaisuuksien pudottaminen pois ohjelmistosta on kuin jalan amputointi laihdutuskeinona. Ohjelmistojen paisumisen syitä Huono suunnittelu. Yhteensopivuus aikaisempien ohjelmistojen kanssa. Suorituskykyvaatimukset ja laitteistorajoitukset. Ohjelmiston elinkaaren aikana menneisyyden painolasti kasvaa. Uudelleen tehtynä puhtaalta pöydältä osattaisiin paremmin. 4
5 Luovuus ja omaperäisyys Omaperäisyys on yliarvostettua: Pitää oppia aikaisemmista - virheistä ja - onnistumisista. Luovuutta ja omaperäisyyttä tarvitaan, kun ongelmaan ei ole hyvää ratkaisua vielä olemassa. Pyörää ei kannata keksiä uudestaan!? Vai onko niin, että - pyörä on keksitty uudestaan ja uudestaan, koska se on erinomainen ratkaisu? - ratkaisu, joka on keksitty vain kerran, on epäilyttävä? Suunnittelu vai ohjelmointikieli Väite: Uusi ohjelmointikieli oli ratkaiseva ohjelmistohelmen synnyssä. Parnas ei usko kielen valinnan merkitykseen. - Monta kieltä on kehitetty ratkaisemaan ohjelmistotuotannon ongelmat. Suunnittelu on ratkaiseva ei toteutuksen kieli. Ohjelmointikieli, joka estää virheiden tekemisen on kuin veitsi, joka leikkaa pihviä muttei sormea. Hyvää jälkeä syntyy vain terävillä työkaluilla. 5
6 Onnistumisen perusedellytyksiä Etupainoinen työskentely eli suunnittelu. Aikaa suunnitteluun. Ohjelmien kirjoittaminen ensin pseudokoodilla ennen lopullisella ohjelmointikielellä kirjoittamista. 1. Suunnittele ennen toteutusta. 2. Dokumentoi suunnittelu. 3. Katselmoi ja analysoi dokumentoitu suunnittelu. 4. Katselmoi toteutuksen ja suunnitelmien vastaavuus. Sanottua Tietojenkäsittelyn määritelmä 1972 (Dijkstra). Monimutkaisuuden hallitsemista. Seymor Cray: Monimutkainen on hidasta. Kauas on pitkä matka. KISS! (IBM:n vanha huoneentaulu.) Keep It Simple and Stupid! Keep It Simple and Small! 6
7 Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.2 Suorituskyky Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Suorituskyvyn mitattavia suureita Suoritusteho (throughput). Kuinka paljon hyödyllistä työtä tehdään aikayksikössä. Vasteaika (response time). Kuinka kauan tehtävän suorittaminen kestää. Käyttöaste (utilization). Osuus ajasta, jonka systeemi on aktiivisena. 7
8 Suorituskyvyn suureiden mittaustapoja Mitataan valmiin järjestelmän toimintaa. Simuloidaan (jäljitellään ohjelmalla) järjestelmän toimintaa likimääräisesti. Mallinnetaan järjestelmää matemaattisin menetelmin ja lasketaan mallin avulla keskeiset suorituskykysuureet. Jonomallit. Jonoverkkomallit. jne Suorituskyvyn suunnittelu Tavoite: ohjelmiston suunnitteluvaiheessa arvioidaan tulevan järjestelmän tehokkuutta ja tarvittavia laitteistoresursseja. Suorituskyky tietyn työkuorman vallitessa: Käyttäjä kokee. Järjestelmä tarjoaa. 8
9 Ohjelmiston vaatimukset Toiminnalliset (functional). Ei toiminnalliset (non-functional). Tietoturva (security). Saatavuus (availability). Luotettavuus (reliability). Suorituskyky (performance). Asennevamma ohjelmistotuotannossa: jako toiminnallisiin ja ei-toiminnallisiin vaatimuksiin. Korjaa-myöhemmin (fix-it-later) asenne suorituskyvyn suhteen osoitti, että se ei kuulunut ohjelmiston suunnitteluvaiheeseen. Miksi suorituskyvyn suunnittelu ei ole osa ohjelmiston suunnitteluvaihetta Menascén havainnot: 1. Tieteellisten mallien ja periaatteiden puute. 2. Koulutus. 3. Tietojenkäsittelyn työvoima. 4. Yhden käyttäjän ajattelu. 5. Pienen tietokannan ajattelu. 9
10 1. Tieteellisten mallien ja periaatteiden puute. Ohjelmistotekniikassa ei ole yleisesti käytetä malleja suorituskyvyn suunnittelussa ohjelmiston elinkaaren aikana. Malleja ohjelmistotuotannon hallitsemiseen muuten on. Perinteisissä insinööritaidoissa (esim. rakentamisen eri muodot) käytetään matematiikkaan, fysiikkaan ja laskennallisiin tieteisiin perustuvia tieteellisiä periaatteita ja malleja. 2. Koulutus. ACM:n/IEEE:n tkt:n opetussuosituksissa ei ole tietokonejärjestelmien suorituskyvyn analysoinnin pakollista kurssia. Suorituskyvystä vain hajatunteja käyttöjärjestelmä- ja tietoliikennekursseilla. Ohjelmistotekniikka ei sisällä mainintaa suorituskyvystä. Miksi? Opettajat eivät osaa. Tieteellisten periaatteiden ja mallien puute. Muutosvastarinta. Kaikki hyödyllinen ei mahdu tutkintoon. 10
11 3. Tietojenkäsittelyn työvoima. Suunnittelu- ja ohjelmointiväessä paljon henkilöitä vailla tietojenkäsittelyn koulutusta. 4. Yhden käyttäjän ajattelu. Suunnittelijat ja ohjelmoijat luulevat, että järjestelmää käyttää vain yksi käyttäjä kerrallaan. Samanaikaisia käyttäjiä on kuitenkin yleensä useita. Samanaikaisuus aiheuttaa kilpailua (ja odotusta) sekä laitteistoresursseista - prosessorit, muistit, talletusvälineet, tietoliikenneyhteydet, että ohjelmistoresursseista - tietokantalukot, kriittiset alueet, ohjelmistosäikeet, 11
12 Esimerkki ohjelmistoresurssikilpailun vaikutuksesta 33% käsittelystä kriittisellä alueella Ohjelmistoresurssin odotuksen osuus (%) kokonaisodotuksesta Moniajoaste 5. Pienen tietokannan ajattelu. Tietokannan käytön ohjelmoinnissa ei yleensä oteta tietokannan kokoa huomioon. Kysely 1000 rivin tietokantaan voidaan yleensä tehdä eri tavalla kuin rivin tietokantaan. 12
13 Menascén johtopäätökset. Ohjelmiston monimutkaisuus aiheuttaa usein tehottomuutta. Monimutkaisuuden hallitsemiseksi kannattaa parantaa ohjelmoijien ammattitaitoa eikä kehittää heidän käyttämiään työkaluja. Tehokkain menettely hyvän suorituskyvyn ohjelmistojen tuottamiselle on suunnittelijoiden ja ohjelmoijien koulutus suorituskykyyn liittyvissä asioissa. Ohjelmiston hyvä suorituskyky riippuu enemmän hyvästä suunnittelusta kuin hyvästä ohjelmoinnista. Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.3 Luotettavuus Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 13
14 Luotettavuus Päällekkäisyys tai toisteisuus (redundancy). Toipuminen (recovery). Tarkistuspisteiden käyttö eli varmistaminen (checkpointing). Eheys (integrity). Luottamus (trust). Luotettavuuden tarina toipuminen Candea ja Fox: Chrash-only software. Erilainen näkökulma ohjelmiston toipumiseen kaatumisesta ei ole tietojenkäsittelyn vakiintunutta käytäntöä. Tietojenkäsittelyjärjestelmä, joka ei koskaan kaadu, ei ole realistinen tavoite. Järjestelmän suunnittelussa on siis varauduttava kaatumiseen ja toipumiseen. Miksi suunnitella sekä hallittu alasajo ja siitä toipuminen että kaatuminen ja siitä toipuminen? 14
15 Crash-only ohjelmistojen perusajatus Kaatuminen (crash) on tehtävä turvalliseksi. Toipuminen (recovery) on tehtävä nopeaksi. Ainoa tapa lopettaa ohjelman suoritus on kaataa se. Ohjelma käynnistetään aina toipumisen kautta. Toipumisesta Järjestelmän toipumisesta huolehtiva ohjelman osa käsittelee poikkeustilanteita. Sen on oltava virheetön. Poikkeukselliset tilanteet ovat hankalia käsitellä. Esiintyvät harvoin, eikä niitä ole helppo tuottaa ohjelmiston kehitysvaiheessa, jolloin toipumista olisi testattava. Toipumisen suorittava ohjelman osa on vaikea saada virheettömäksi. 15
16 Crash-only ohjelmistojen ominaisuuksia Kaikki ei-tilapäinen tilatieto on talletettava erityiseen tilatietomuistiin (state store). Ohjelmiston osien on varauduttava muiden osien kaatumiseen ja niiden palveluiden tilapäiseen puuttumiseen (unavailability). Keskeisiä ominaisuuksia: Modulaarisuus. Vahvat rajapinnat, joissa häiriöt hallitaan ilman vaikutuksia toisaalla. Ajastimiin perustuva kommunikointi. Laina-aikaan (lease) perustuva resurssien varaus. Täydellisesti itsensä kuvaavat palvelupyynnöt. Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.4 Kehitettävyys Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 16
17 Ohjelmistotekniikka on kriisissä Ollut jo 1960-luvun lopulta alkaen. Kriisi on äkillinen ja lyhytaikainen vakava hätätila. Ilmiö on vakava. Kyseessä ei ole kriisi vaan pitkäaikaishoitoa vaativa krooninen tauti. Tilannekatsaus (Lehman 1998) Yhteiskunnan tietokone(ohjelmisto)riippuvuus kasvaa. Tietoteknologian käytön lisääntyminen lisää järjestelmien integroinnin tarvetta. Ympäröivä maailma muuttuu. Y2K vuosituhannen vaihtumista ei ohjelmistosuunnitelmissa. Euro. Puhelinnumeroiden piteneminen. jne 17
18 Huomioita ohjelmistoista Ohjelmistot ovat monimutkaisimpia ihmisen aikaansaannoksia. Ohjelmisto itsessään on malli sovelluksesta, osallistujista (ihmiset, organisaatiot, laitteet, ) käyttöalueesta ja kyseisen alueen toiminnoista. Käyttöalue on moniulotteinen käytännössä rajattoman laaja. Ohjelmisto on rajallinen. Ohjelmisto on äärellinen ja epätäydellinen malli rajattoman käyttöalueen rajattomasta sovelluksesta. Ohjelmiston ja todellisen maailman välillä on kuilu Kuilua paikataan oletuksilla. Algoritmien valinta. Järjestelmän valinta, määrittely, suunnittelu ja toteutus sisältävät paljon oletuksia. Osa oletuksista on selkeitä (explicit), kuten määrittelyssä tehdyt valinnat. Osa oletuksista on epäsuoria (implicit), kuten valitun teorian mukana tulevat, algoritmin suunnittelun tuottamat, rajapinnan määrittelystä johtuvat jne. Lehman arvelee, että jokaista 10 ohjelmariviä kohti on olemassa yksi oletus. (Miljoona riviä??? oletusta!) 18
19 FEAST (feedback, evolution and software technology) Ohjelmistoprosessi muodostaa monitasoisen (multilevel) ja monisilmukkaisen (multiloop) takaisinkytkentäjärjestelmän (feedback system) ja sitä on käsiteltävä sellaisena, jos haluamme saada huomattavaa parannusta sen suunnitteluun, ohjaukseen ja kehittämiseen. Lehmanin suosituksia (lyhyt lista 18 kohtaa) 19
20 Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.5 Tietoturva Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Tietoturva (security) Pääsynvalvonta (access control). Salassapito (secrecy). Yksityisyys (privacy). Todennus (authentication). Eheys (integrity). Turvallisuus (safety). 20
21 Tietoturvan tarina - turvallisuus Sädehoidon ohjausohjelmisto Therac-25 laitteistossa. Vuosina on kuusi tunnettua tapausta potilaan ylisäteilytyksestä. Pahimmillaan säteilyannos oli kertainen tarkoitettuun annokseen verrattuna. Ainakin viiden potilaan kuolema osoitettiin johtuvaksi sädehoitolaitteen suunnittelu- ja ohjelmointivirheistä johtuvaksi. Onnettomuuksien syistä Useimmiten onnettomuudet johtuvat monimutkaisista toisiinsa kietoutuvista tapahtumista, jotka johtuvat teknisistä, inhimillisistä ja työyhteisöön liittyvistä tekijöistä. Therac-25:n tapausten kaksi vakavaa virhettä: Uskottiin, että onnettomuuden syyt oli poistettu ensimmäisen tapauksen jälkeen. - Johtopäätökselle ei ollut kestäviä perusteita. - Vaihtoehtoisia syitä ei selvitetty kuin ylimalkaisesti. Oletettiin, että yhden ohjelmistovirheen korjaaminen estäisi uudet onnettomuudet. - Monimutkaisissa järjestelmissä löytyy lähes aina seuraava virhe. 21
22 Onnettomuuksien selityksiä Usein selitetään onnettomuuksien johtuneen yhdestä syystä esim. inhimillisestä erehdyksestä. Lähes kaikkien syiden voidaan katsoa olevan inhimillisiä erehdyksiä. Jos onnettomuuden syy on laitteiston kuluminen, niin miksei kulunutta osaa vaihdettu ajoissa? Onnettomuuden selityksenä inhimillinen erehdys ei ole kovin hyödyllinen, ellei sitä tarkenneta riittävästi. Yhtä hyödytön selitys on laitteistovika tai ohjelmistovirhe. Therac-25:n onnettomuuksien syistä Valmistajan hallinnoinnissa olleet epätarkoituksenmukaisuudet ja raportoitujen onnettomuuksien käsittelyn puutteellisuudet. Liiallinen luottamus ohjelmistoon ja laitteistovarmistuksista luopuminen, minkä seurauksena ohjelmistosta tuli varmistamaton virhelähde. Ohjelmistotekniikan käytäntöjen ilmeiset puutteet. Epärealistinen riskien arviointi ja ylenpalttinen luottamus arvioinnin antamiin tuloksiin. 22
23 Järjestelmän rakentaminen Yleinen virhe on luottaa liikaa ohjelmistoihin. Ohjelmiston suunnitteluvirheiden löytäminen ja estäminen on huomattavasti hankalampaa kuin laitteiston kulumisesta johtuvien virheiden. Laitteiston virhekäyttäytymisen muotoja on vain muutama. Niitä vastaan suojautuminen on yleensä olennaisesti helpompaa kuin ohjelmistovirheistä vastaan suojautuminen. Therac-25:n opetuksia Ehkä tärkein: laitteistovarmistuksista ei pidä luopua, kun järjestelmän ohjaamiseen aletaan käyttää ohjelmistoa. Trendi on ollut vähentää laitteistovarmistuksia. Niissäkin tapauksissa, missä laitteistovarmistuksia käytetään, niitä yhä useammin ohjataan ohjelmistolla. Ehdotonta turvallisuutta vaativissa järjestelmissä ei saa olla varmistamattomia virhelähteitä. Järjestelmää ei saa suunnitella siten, että yksittäinen ohjelmistovirhe voi aiheuttaa katastrofin. 23
24 Ohjausjärjestelmien ohjelmistovirheistä Onko kyseessä tilapäinen laitteistovirhe? Ohjausohjelmisto lukee arvoja tunnistimista (sensors) ja lähettää komentoja säätimille (actuators). Hyvin vaikea (ellei mahdotonta) päätellä antoiko tunnistin väärää tietoa, lähettikö ohjelmisto väärän komennon vai toimiko säädin tilapäisen laitevirheen vuoksi väärin. Therac-25:n virhediagnostiikka Potilaiden oireet olivat ainoat todelliset indikaattorit järjestelmän virheistä. Järjestelmässä ei ollut riippumattomia toiminnan oikeellisuuden tarkistuksia. Therac-25 ei voinut havaita antamaansa säteilyn määrää. Keskeinen opetus: ohjausjärjestelmät on suunniteltava pahimman toiminnan varalle. Ehdotonta turvallisuutta vaativiin järjestelmiin on rakennettava jäljitysmekanismit (audit trails) sekä poikkeavien tilanteiden analysointimekanismit. 24
25 Loppuhuomioita Turvallisuus on pystyttävä takaamaan järjestelmätasolla (laitteistovarmistukset) mahdollisista ohjelmistovirheistä riippumatta. Therac-25:n edeltäjässä oli sama ohjelmistovirhe, mutta laitteistovarmistus esti onnettomuudet. Usein naivisti oletetaan, että ohjelman uudelleen käyttö lisää turvallisuutta, koska ohjelma on ollut jo pitkään käytössä. Turvallisuus on koko järjestelmän ominaisuus ei pelkästään ohjelmiston ominaisuus. Johdatus tietojenkäsittelytieteeseen 7. Tietojenkäsittelyn käytännöt Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 25
26 Kurssin sisältö Luku 4: Lähde: Peter J. Denning: Great Principles of Computing (Communications of the ACM, 46, 11, marraskuu 2003, sivut 15-20). Luku 1: Historiaa Luku 2: Kokonaiskuva Luku 3: Eettiset perusteet Luku 7: Luku 6: Luku 5: Tietojenkäsittelyn käytäntöjen pääalueet 1. Ohjelmointi (programming). 2. Järjestelmien rakentaminen (engineering systems). 3. Mallintaminen ja validointi (modeling and validation). 4. Innovointi (innovating). 5. Soveltaminen (applying). 26
27 Ohjelmointi Järjestelmän käyttäjien kanssa määritellyn ohjelmiston toteuttaminen ohjelmointikieliä käyttäen. Tietojenkäsittelyn ammattilaisen on hallittava useita eri ohjelmointikieliä ja osattava valita tarkoituksenmukaisin kuhunkin ongelmanratkaisutilanteeseen. Järjestelmien rakentaminen Tietoverkossa toimivien hajautettujen järjestelmien suunnitteleminen ja toteuttaminen ohjelmisto- ja laitteistokomponenteista. Tietojenkäsittelyn ammattilaisella on oltava taidot osallistua laajojen (tuhansia moduuleja, miljoonia ohjelmarivejä) järjestelmien toteuttamiseen. 27
28 Mallintaminen ja validointi Järjestelmän mallintaminen ja sen käyttäytymisen ennustaminen erilaisissa tilanteissa ja olosuhteissa. Kokeiden (experiment) suunnittelu algoritmien ja järjestelmien validoimiseksi. Innovointi Johtajuuden käyttäminen pysyvien muutosten aikaansaamiseksi ryhmien ja yhteisöjen toimintatavoissa. 28
29 Soveltaminen Työskentely sovellusalueiden ammattilaisten kanssa näitä palvelevien tietojenkäsittelyjärjestelmien toteuttamiseksi. Työskentely muiden tietojenkäsittelyn ammattilaisten kanssa useita erilaisia sovelluksia palvelevien ydinteknologioiden kehittämiseksi. Johdatus tietojenkäsittelytieteeseen 7. Tietojenkäsittelyn käytännöt 7.1 Ohjelmointi Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 29
30 Ohjelmoinnin tarina Donn Seeley How Not to Write Fortran in Any Language Maailmassa on nähty niin monia huonoja Fortranohjelmia, että Fortranista on tullut huonon ohjelmakoodin synonyymi. Syyt historiallisia. Useimmat Fortran-ohjelmat eivät olleet tietojenkäsittelyn ammattilaisten kirjoittamia vaan fyysikoiden ja muiden luonnontieteilijöiden kirjoittamia. Ammattitaidottomat ohjelmoijat eivät olisi saaneet hyvää ohjelmakoodia kirjoitettua millään kielellä. Hyvä ohjelmakoodi ja ohjelmointikieli Hyvän ohjelmakoodin ominaisuudet ovat varsin riippumattomia ohjelmointikielestä. Hyvin suunniteltu ohjelma voidaan kirjoittaa lähes millä tahansa ohjelmointikielellä siten, että ohjelmakoodi on selkeärakenteinen ja helposti ymmärrettävä. Mikään käyttökelpoinen ohjelmointikieli ei pysty estämään huonon ohjelmakoodin kirjoittamista. Käytetyn ohjelmointikielen vaikutuksia ohjelmakoodin laatuun on yliarvioitu. 30
31 Seeleyn lopputoteamukset Hyvän ohjelmakoodin kirjoittaminen ei ole kovinkaan paljon vaativampaa kuin huonon. Hyvän ohjelmakoodin hyödyt tulevat selkeästi esille ohjelman ylläpidon aikana. Ei ole mitään järkeä kirjoittaa muuta kuin hyvää ohjelmakoodia. Johdatus tietojenkäsittelytieteeseen 7. Tietojenkäsittelyn käytännöt 7.2 Järjestelmien rakentaminen Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 31
32 Vasa-laivan tarina Tilaus tammikuussa Kaksi 108-jalkaista ja kaksi 135-jalkaista laivaa. Rakentaminen alkoi Marraskuussa jalkaiset 120-jalkaisiksi. Puuta oli yhteen 111-jalkaiseen ja yhteen 135-jalkaiseen. Kun 111-jalkaisen kölirakenne oli tehty, niin alus päätettiin pidentää 135-jalkaiseksi ja kaksikantiseksi. Laivaa levennettiin puoli metriä, mutta vain yläosasta. Aseistusta muutettiin siten, että kanuunoiden yhteispaino kasvoi noin 50 % (n. 75 tonniin). Paljon veistoksia ja ornamentteja painavasta tammesta aluksen yläosiin. Vuonna 1627 hankkeessa työskenteli n. 400 ihmistä. Neitsytmatka 10. elokuuta Kymmenen tautia ja joitakin lääkkeitä 1. Aikataulupaine. Objektiiviset arviot, resurssien lisääminen, resurssien parantaminen, vaatimusten priorisointi, tuotoksen vaiheistaminen. 2. Tavoitteiden muuttuminen. Iteratiivinen ohjelmistokehitys, perusratkaisun hallinta. 3. Teknisten määritysten puuttuminen. Alustavien määritysten tekeminen, määritysten päivittäminen, määritysten hallinnointi. 4. Dokumentoidun projektisuunnitelman puuttuminen. Alustavan suunnitelman tekeminen, suunnitelman toistuva päivittäminen, projektisuunnitelman hallinnointi, projektipäällikön nimeäminen. 32
33 Kymmenen tautia ja joitakin lääkkeitä 5. Yletön ja 6. toissijainen innovointi. Perusdokumenttien hallinnointi, vaikutusten analysointi, jatkuva riskien hallinta, nimetty ohjelmistoarkkitehti. 7. Vaatimusten luisuminen. Alustava vaatimusten versio, versioiden hallinnointi, riskien hallinta, nimetty ohjelmistoarkkitehti. 8. Tieteellisten menetelmien puuttuminen. Prototyyppien tekeminen, vaiheittainen kehittäminen, suorituskykymittaukset. Kymmenen tautia ja joitakin lääkkeitä 9. Olennaisen unohtaminen. Karkeat (back-of-the-envelope) laskelmat, opittujen opetusten sulauttaminen. 10.Epäeettinen käyttäytyminen. Eettinen työympäristö ja työtavat, henkilökohtainen eettisten säännösten noudattaminen. Epärealistisen kiireinen aikataulu on yleisin ohjelmistoprojektien epäonnistumisen syy (yleisempi kuin muut syyt yhteensä). 33
34 Projektisuunnitelmasta Tehtävän työn jaottelu osatehtäviksi. Vaatimusten sijoittaminen osatehtäviin. Aikataulu tarkistuspisteineen ja virstanpylväineen. Kunkin osatehtävän tuotokset määräaikoineen. Tarvittavien ohjelmistojen hankintasuunnitelma. Alihankintojen hallinnointisuunnitelma. Vastuiden selkeä kirjaaminen. Johdatus tietojenkäsittelytieteeseen 7. Tietojenkäsittelyn käytännöt 7.3 Mallintaminen ja validointi Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos 34
35 Mallintamisen ja validoinnin tarina Charles E. Knadler Jr. The robustness of Separable Queueing Network Models Artikkelissa selvitetään suorituskykyanalyysissä käytettyjen jonoverkkomallien herkkyyttä oletusten rikkomiselle. Jonoverkkomallien matemaattinen käsittely edellyttää oletuksia separoituvista jonoverkoista. Käytännössä oletukset eivät täysin toteudu. Ovatko mallin antamat tulokset silti käyttökelpoisia käytännössä? Tapahtumien simuloinnilla selvitetään matemaattisten tulosten herkkyyttä, kun oletukset eivät ole voimassa Simulointitulokset ovat kauniisti lähellä teoreettisia tuloksia, joten oletusten rikkominen ei tässä esimerkissä vaikuta ratkaisevasti tulosten käyttökelpoisuuteen. Simulointikokeiden suunnittelu on tärkeää: on perusteellisesti ymmärrettävä kysymykset, joihin vastauksia etsitään. Simulointeja pitäisi tehdä lisää ja tarkastella tuloksia tilastollisesti, jotta sattuman vaikutus vähenisi. 35
36 Johdatus tietojenkäsittelytieteeseen 7 Tietojenkäsittelyn käytännöt 7.4 Innovointi Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Innovaatioiden tarina P. J. Denning. The Social Life of Innovation. Innovaatioiden käytännön voi oppia kunhan tietää mitä innovaatio on. Innovaatiot ovat uusia tapoja tehdä asioita. Käytäntöjen muuttaminen on paljon vaikeampaa kuin uusien teknologioiden keksiminen. 36
37 Innovaatio ja keksintö Innovoinnin ja keksimisen erottaminen eri käsitteiksi on olennaista. Keksinnöissä voidaan keskittyä teknologioihin. Innovaatioissa on otettava huomioon sosiaalinen yhteisö. Mitä muut ihmiset arvostavat ja hyväksyvät otettavaksi käyttöön. Innovaatioprosessin peruselementit 1. Mahdollisuuksien etsiminen. 2. Analysointi. 3. Kuunteleminen. 4. Keskittyminen. 5. Johtajuus. 37
38 Innovaatioiden lähteet 1. Odottamattomat tapahtumat. 2. Epäsuhdat. 3. Prosessin tarpeet. 4. Liike-elämän rakennemuutos. 5. Demografia. 6. Ilmapiirin ja asenteiden muuttuminen. 7. Uusi tietämys. 8. Marginaaliset käytännöt. Neljä yleisintä väärinkäsitystä 1. Innovaatioiden on oltava isoja. 2. Innovaatiot ovat vain muutamien lahjakkuuksien työsarkaa. 3. Innovaatiot perustuvat uusiin ajatuksiin. 4. Innovaatioita tapahtuu vain elinkeinoelämässä. 38
39 Johdatus tietojenkäsittelytieteeseen 7. Tietojenkäsittelyn käytännöt 7.5 Soveltaminen Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Soveltaminen Työskentely sovellusalueiden ammattilaisten kanssa näitä palvelevien tietojenkäsittelyjärjestelmien toteuttamiseksi. Työskentely muiden tietojenkäsittelyn ammattilaisten kanssa useita erilaisia sovelluksia palvelevien ydinteknologioiden kehittämiseksi. 39
40 Soveltamisen tarina Ahmed Seffah. Learning the Ropes: Human-Centered Design Skills and Patterns for Sofware Engineers Education. Ohjelmistoammattilaisen tarvitsemat taidot ihmiskeskeisessä suunnittelussa. Ihmiskeskeinen suunnittelu on parantanut tuotteita. Käyttäjillä ei useinkaan ole loistavassa suunnittelussa tarvittavaa näkemystä. Ihmiskeskeisestä suunnittelusta Ihmiskeskeisen suunnittelun yksi keskeinen periaate on käyttäjän kuunteleminen. Ohjelmistoammattilaisen tulee myös tietää, miten käytettävyyttä (usability) mitataan ja miten havaintoaineiston perusteella tehdään päätöksiä. Seffah esittää 19 taitoa, joita tarvitaan menestyksekkäässä ihmiskeskeisessä suunnittelussa. Välttämättömät edellytykset (prerequisite skills). Erityistaidot (specific skills). Yleistaidot (generic skills). 40
41 Kertauksena kurssin oppimistavoitteet Kurssin suorituksen jälkeen osaat selittää ja kuvailla maisterin tutkinnossa esiintyvät tietojenkäsittely(tietee)n - perusperiaatteet, - käytännöt ja - keskeiset teknologiat, käyttää tietojenkäsittelyn käsitteistöä (terminologiaa), - englanti on valtakieli, lukea alan artikkeleita ja tehdä niistä lyhyitä referaatteja (esseitä), työskennellä ryhmässä yhteisen tavoitteen saavuttamiseksi ja tunnistaa ja ratkaista alan eettisiä kysymyksiä. 41
Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.4 Kehitettävyys
Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu 6.4 Kehitettävyys Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Ohjelmistotekniikka on kriisissä Ollut jo 1960-luvun lopulta
Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu
Johdatus tietojenkäsittelytieteeseen 6. Suunnittelu Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin sisältö Luku 4: Lähde: Peter J. Denning: Great Principles of Computing
Johdatus tietojenkäsittelytieteeseen - suunnittelu. Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos
Johdatus tietojenkäsittelytieteeseen - suunnittelu Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin sisältö Lähde: Peter J. Denning: Great Principles of Computing (Communications
Johdatus tietojenkäsittelytieteeseen - tietojenkäsittelyn mekaniikat: muistaminen: välimuisti
Johdatus tietojenkäsittelytieteeseen - tietojenkäsittelyn mekaniikat: muistaminen: välimuisti Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Viisi tarinaa tietojenkäsittelyn
Johdatus tietojenkäsittelytieteeseen 5. Tietojenkäsittelyn mekaniikat 5.5 Muistaminen: välimuisti
Johdatus tietojenkäsittelytieteeseen 5. Tietojenkäsittelyn mekaniikat 5.5 Muistaminen: välimuisti Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Muistamisen tarinoita Muistihierarkiat
Johdatus tietojenkäsittelytieteeseen - tietojenkäsittelyn mekaniikat. Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos
Johdatus tietojenkäsittelytieteeseen - tietojenkäsittelyn mekaniikat Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin sisältö Lähde: Peter J. Denning: Great Principles
LUKU 5: SUUNNITTELU. Suunnitteluun liittyviä käsitteitä:
LUKU 5: SUUNNITTELU Suunnitteluun liittyviä käsitteitä: abstrahointi (abstraction) epäolennaisten yksityiskohtien häivyttäminen, informaation piilottaminen (information hiding) rakenteen osan (moduulin)
Kurssin oppimistavoitteet. Heikki Lokki Kurssin suorituksen jälkeen osaat
Johdatus tietojenkäsittelytieteeseen - TVT-ajokortti (3 op) - Tietokone työvälineenä (1 op) - Opiskelutekniikka (2 op) - Johdatus tietojenkäsittelytieteeseen (4 op) Heikki Lokki 24.9.2008 Matemaattis-luonnontieteellinen
Johdatus tietojenkäsittelytieteeseen 5. Tietojenkäsittelyn mekaniikat
Johdatus tietojenkäsittelytieteeseen 5. Tietojenkäsittelyn mekaniikat Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin sisältö Luku 4: Lähde: Peter J. Denning: Great Principles
Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos. Mitä kukin suorittaa? TKT:n uudet pääaineopiskelijat. Koko 10 op:n paketti
Johdatus tietojenkäsittelytieteeseen - Vieraan kielen opinnot (englanti) (4 op) - Opiskelutekniikka (2 op) - Johdatus tietojenkäsittelytieteeseen (4 op) Heikki Lokki 23.9.2009 Matemaattis-luonnontieteellinen
Tietojenkäsittelyn käytännöt (computing practices)
Tietojenkäsittelyn käytännöt (computing practices) ohjelmointi (programming) järjestelmien suunnittelu (engineering systems) mallintaminen (modeling) innovointi (innovating) soveltaminen (applying). Tietojenkäsittelyjärjestelmien
Johdatus tietojenkäsittelytieteeseen (4 op) - yleistä kurssista
582102 Johdatus tietojenkäsittelytieteeseen (4 op) - yleistä kurssista Heikki Lokki 16.1.2008 Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin oppimistavoitteet Kurssin
Johdatus tietojenkäsittelytieteeseen (4 op) - yleistä kurssista
582102 Johdatus tietojenkäsittelytieteeseen (4 op) - yleistä kurssista Heikki Lokki 5.9.2007 Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Kurssin oppimistavoitteet Kurssin
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
Software engineering
Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of
Ohjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
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
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
Työelämävalmiudet: Oivallus-hankeken seminaari
Työelämävalmiudet: Oivallus-hankeken seminaari Optek Opetusteknologia koulun arjessa Jari Lavonen, Professor of Physics and Chemistry Education, Head of the department Department of Teacher Education,
Tarvitseeko informaatioteknologia matematiikkaa?
Tarvitseeko informaatioteknologia matematiikkaa? Oulun yliopisto Matemaattisten tieteiden laitos 1 Kyllä kai IT matematiikkaa tarvitsee!? IT ja muu korkea teknologia on nimenomaan matemaattista teknologiaa.
Hyvinvointia työstä
Hyvinvointia työstä www.ttl.fi/sujuva Julkaistu 11.05.2015 1 Inhimilliset virheet ja niiden vähentäminen työpaikoilla Sujuvaa työtä, vähemmän virheitä -tutkimushankkeen tuloksia Vuokko Puro, Henriikka
Tietojärjestelmätieteen ohjelmat
Tietojärjestelmätieteen ohjelmat PÄÄAINEENVALINTAINFO KEVÄT 2018 LAURA LAPPALAINEN KO-VASTAAVA TEKNINEN VIESTINTÄ Tietojärjestelmiä on kaikkialla, ja yhteiskunnan digitalisoituminen vain kiihtyy Technology
Edtech kestää aikaa!
Edtech kestää aikaa! kokoa.io Saila Juuti @KokoaStandard Ohjelmistojen paisuminen Software bloat Ohjelmistojen paisuminen Software bloat Teknologiakehityksen keskittyminen Ohjelmistojen paisuminen Software
Johdatus tietojenkäsittelytieteeseen 1. Historiaa
Johdatus tietojenkäsittelytieteeseen 1. Historiaa Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Tietojenkäsittely (computing) Tiedettä (science) Taitoa (art) Insinööritaitoa
Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!
Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! YLEISTÄ FORMAALEISTA
Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen
Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen 16.06.2014 Ohjaaja: Urho Honkanen Valvoja: Prof. Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston
hyvä osaaminen. osaamisensa tunnistamista kuvaamaan omaa osaamistaan
MERKITYS, ARVOT JA ASENTEET FYSIIKKA 8 T2 Oppilas asettaa itselleen tavoitteita sekä työskentelee pitkäjänteisesti. Oppilas harjoittelee kuvaamaan omaa osaamistaan. T3 Oppilas ymmärtää lämpöilmiöiden tuntemisen
ITK130 Ohjelmistojen luonne
ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys
Ohjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
Juurisyiden oivaltaminen perustuu usein matemaattisiin menetelmiin, jotka soveltuvat oireiden analysointiin.
Juurisyiden oivaltaminen perustuu usein matemaattisiin menetelmiin, jotka soveltuvat oireiden analysointiin. Tämä pätee arkisten haasteiden ohella suuriin kysymyksiin: kestävä kehitys, talous, lääketiede,
Hieman lisää malleista ja niiden hyödyntämisestä
Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu
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ä
Test-Driven Development
Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole
Projektinhallinta SFS-ISO mukaan
Projektinhallinta SFS-ISO 21500 mukaan (Ohjeita projektinhallinnasta, 2012) 13.4.2017 Panu Kiviluoma Osaamistavoitteet Luennon jälkeen osaat selittää, mitä tarkoitetaan Projektilla Projektinhallinnalla
Alkukartoitus Opiskeluvalmiudet
Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan
Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA
Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta
Ohjelmien automaattisen verifioinnin reunamailla
Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,
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
arvioinnin kohde
KEMIA 8-lk Merkitys, arvot ja asenteet T2 Oppilas asettaa itselleen tavoitteita sekä työskentelee pitkäjänteisesti. Oppilas kuvaamaan omaa osaamistaan. T3 Oppilas ymmärtää alkuaineiden ja niistä muodostuvien
Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi
1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu
582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon
582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon 1 Lyhyt johdatus ohjelmistotuotantoon Ohjelmistotuotanto, ohjelmistoprojektit Miten ohjelmistojen tuottaminen eroaa teollisesta tuotannosta
Näkökulmia tietoyhteiskuntavalmiuksiin
Näkökulmia tietoyhteiskuntavalmiuksiin Tietotekniikka oppiaineeksi peruskouluun Ralph-Johan Back Imped Åbo Akademi & Turun yliopisto 18. maaliskuuta 2010 Taustaa Tietojenkäsittelytieteen professori, Åbo
Oleelliset vaikeudet OT:ssa 1/2
Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet
SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus
SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön
KOULUTUSOHJELMA JA TUTKINTONIMIKE: Artesaani TUTKINNON OSA: Toteuttamisen suunnittelu LAAJUUS: 10 ov TUTKINNON OSAN AMMATTITAITOVAATIMUKSET
TUTKINTO: Käsi- ja taideteollisuusalan perustutkinto KOULUTUSOHJELMA JA TUTKINTONIMIKE: Artesaani TUTKINNON OSA: Toteuttamisen suunnittelu LAAJUUS: 10 ov TUTKINNON OSAN AMMATTITAITOVAATIMUKSET TUTKINNON
Tähtitieteen käytännön menetelmiä Kevät 2009
Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00
IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT
IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.
MATEMAATTIS- LUONNONTIETEELLINEN OSAAMINEN
MATEMAATTIS- LUONNONTIETEELLINEN OSAAMINEN Matematiikka ja matematiikan soveltaminen, 4 osp Pakollinen tutkinnon osa osaa tehdä peruslaskutoimitukset, toteuttaa mittayksiköiden muunnokset ja soveltaa talousmatematiikkaa
työssäoppimispaikan työtehtävissä toimiminen ammattiosaamisen näytön suorittaminen näyttösuunnitelman mukaan
1(7) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Palvelujen käyttöönotto ja tuki Tutkinnon osaan kuuluvat opinnot: Työasemaympäristön suunnittelu ja toteuttaminen Kouluttaminen ja asiakastuki
Johdatusta ohjelmistotekniikkaan
Johdatusta ohjelmistotekniikkaan OT:n historiaa 4 vaihetta (1/2) 1. Vaihe (0 60-luvun alku) Vähän tietokoneita Eräajo-tyyppisiä ohjelmia Pääasiassa matemaattisia, pieniä yhden käyttäjän sovelluksia Ei
T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä
Käyttäjäkeskeinen suunnittelu Käyttäjän huomiointi suunnitteluprosessissa Iteroitu versio 1.1 muutettu klo12.10 - paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Perusidea: käyttäjät huomioidaan
Käyttäjäkeskeinen suunnittelu
Käyttäjäkeskeinen suunnittelu Käyttäjän huomiointi suunnitteluprosessissa Iteroitu versio 1.1 muutettu klo12.10 - paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Perusidea: käyttäjät huomioidaan
Erkki Mäkinen. Parempi johdatus tietojenkäsittelytieteisiin
Erkki Mäkinen Parempi johdatus tietojenkäsittelytieteisiin INFORMAATIOTIETEIDEN YKSIKKÖ TAMPEREEN YLIOPISTO INFORMAATIOTIETEIDEN YKSIKÖN RAPORTTEJA 21/2013 TAMPERE 2013 TAMPEREEN YLIOPISTO INFORMAATIOTIETEIDEN
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
VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D
VERSIONHALLINTA PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D Versio Päivä Tekijä Kuvaus 0.1 26.10.2005 Kaarlo Lahtela Ensimmäinen versio 0.2 10.12.2006 Lauri Kiiski Suomennettu 3 (8 ) SISÄLLYS
Onnistunut ohjelmistoprojekti
Onnistunut ohjelmistoprojekti 2.12.2008 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt ja työkalut Tulevaisuuden
Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
Ohjelmistotekniikka kevät 2003 Laatujärjestelmät
Laatujärjestelmät Ohjelmistotekniikka kevät 2003 Prosessiajattelu Sisään Prosessi Ulos ohjaus mittaus Laatujärjestelmät Laatujärjestelmät määrittelevät sen, mitkä prosessit täytyy olla määritelty ei sitä,
Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon
582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon 1 Lyhyt johdatus ohjelmistotuotantoon Ohjelmistotuotanto, ohjelmistoprojektit Miten ohjelmistojen tuottaminen eroaa teollisesta tuotannosta
TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit
TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen
TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen
KEMIA Kemian päättöarvioinnin kriteerit arvosanalle 8 ja niitä täydentävä tukimateriaali Opetuksen tavoite Merkitys, arvot ja asenteet T1 kannustaa ja innostaa oppilasta kemian opiskeluun T2 ohjata ja
Erkki Mäkinen. Johdatus tietojenkäsittelytieteisiin
Erkki Mäkinen Johdatus tietojenkäsittelytieteisiin INFORMAATIOTIETEIDEN YKSIKKÖ TAMPEREEN YLIOPISTO INFORMAATIOTIETEIDEN YKSIKÖN RAPORTTEJA 13/2012 TAMPERE 2012 TAMPEREEN YLIOPISTO INFORMAATIOTIETEIDEN
Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.
Tietojenkäsittelytiede Tutkintovaatimukset Perustutkinnot LUONNONTIETEIDEN KANDIDAATIN TUTKINTO (VÄHINTÄÄN 120 OV) 1. Tietojenkäsittelytieteen cum laude approbatur -oppimäärä (vähintään 55 ov) ja kypsyysnäyte
hyvä osaaminen
MERKITYS, ARVOT JA ASENTEET FYSIIKKA T2 Oppilas tunnistaa omaa fysiikan osaamistaan, asettaa tavoitteita omalle työskentelylleen sekä työskentelee pitkäjänteisesti. T3 Oppilas ymmärtää fysiikkaan (sähköön
Johdatus tietojenkäsittelytieteeseen - tietojenkäsittelytieteen kokovartalokuva
Johdatus tietojenkäsittelytieteeseen - tietojenkäsittelytieteen kokovartalokuva Matemaattis-luonnontieteellinen tiedekunta Tietojenkäsittelytieteen laitos Termejä suomeksi ja englanniksi ja vähän muillakin
Copyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen
1 FYSIIKKA Fysiikan päättöarvioinnin kriteerit arvosanalle 8 ja niitä täydentävä tukimateriaali Opetuksen tavoite Merkitys, arvot ja asenteet T1 kannustaa ja innostaa oppilasta fysiikan opiskeluun T2 ohjata
PS-vaiheen edistymisraportti Kuopio
PS-vaiheen edistymisraportti Kuopio Kuopio, PS-vaiheen edistymisraportti, 30.10.2001 Versiohistoria: Versio Pvm Laatija Muutokset 1.0 30.10.2001 Ossi Jokinen Kuopio2001, vain kurssin T-76.115 arvostelun
Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen
Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen 08.09.2014 Ohjaaja: DI Mikko Harju Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston
KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen
KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi
Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1
Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon 31.10.2008 Harri Laine 1 Ohjelmisto Tietokoneohjelma (computer program) toimintaohje, jonka mukaan toimien tietokone suorittaa jonkin tietojenkäsittelytehtävän
Tilastollisen tutkimuksen vaiheet
Tilastollisen tutkimuksen vaiheet Jari Päkkilä Johdatus tilastotieteeseen Matemaattisten tieteiden laitos TILASTOLLISEN TUTKIMUKSEN TARKOITUS Muodostaa mahdollisimman hyvä mielikuva havaintoaineistosta,
Ylläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
Tilastotiede ottaa aivoon
Tilastotiede ottaa aivoon kuinka aivoja voidaan mallintaa todennäköisyyslaskennalla, ja mitä yllättävää hyötyä siitä voi olla Aapo Hyvärinen Laskennallisen data-analyysin professori Matematiikan ja tilastotieteen
Arvioinnilla selviää, mitä vahvistaa, mitä parantaa 2005 Heikki Niemi Erinomaisuus Toiminnan laatu Palvelun ja tuotteen laatu Lainsäätäjät, omistajat, rahoittajat ja viranomaiset Konsernijohto, hallinto
Mihin varautua, kun sairaala varautuu kyberuhkiin? Perttu Halonen Sosiaali- ja terveydenhuollon ATK-päivät,
Mihin varautua, kun sairaala varautuu kyberuhkiin? Perttu Halonen Sosiaali- ja terveydenhuollon ATK-päivät, 24.5.2017 Sisällys Keskeisimpiä kyberuhkia Liian paljon huomiota kiinnitetään... Liian vähän
ARVIOINTISUUNNITELMA Sivu 1/7
Ammattitaidon osoittamistavat: Ammattiosaamisen työprosessin hallinta työmenetelmien, -välineiden ja materiaalin hallinta työn perustana olevan tiedon hallinta elinikäisen oppimisen avaintaidot Ammattitaitovaatimukset:
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
Rahastosalkun faktorimallin rakentaminen
Teknillinen korkeakoulu Mat 2.177 Operaatiotutkimuksen projektityöseminaari Kevät 2007 Evli Pankki Oyj Väliraportti 28.3.2007 Kristian Nikinmaa Markus Ehrnrooth Matti Ollila Richard Nordström Ville Niskanen
Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA
Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA PROJEKTITOIMINNAN ONGELMIA Kaikkea mahdollista nimitetään projekteiksi Projekti annetaan henkilöille muiden töiden ohella Ei osata käyttää
Ohjelmistojen virheistä
Ohjelmistojen virheistä Muutama sana ohjelmistojen virheistä mistä niitä syntyy? Matti Vuori, www.mattivuori.net 2013-09-02 1(8) Sisällysluettelo Ohjelmistojen virheitä: varautumattomuus ongelmiin 3 Ohjelmistojen
TOIMINNALLINEN MÄÄRITTELY MS
TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa
$$$ 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
Test-Driven Development
Test-Driven Development Syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole keksiä kaikkia mahdollisia
arvioinnin kohde
KEMIA 9-lk Merkitys, arvot ja asenteet T2 Oppilas tunnistaa omaa kemian osaamistaan, asettaa tavoitteita omalle työskentelylleen sekä työskentelee pitkäjänteisesti T3 Oppilas ymmärtää kemian osaamisen
Akateemiset taidot. Tapaaminen 13 Matematiikan kirjoittaminen
Akateemiset taidot Tapaaminen 13 Matematiikan kirjoittaminen Tutustu tekstiin ja pohdi itseksesi Mieti miten teksti on kirjoitettu. Missä kohdissa matemaattinen ilmaisu on hyvää ja missä kohdissa tekstiä
Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki
Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,
Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen
Käyttöjärjestelmien historia Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien jaottelu Voidaan jaotella erilaisin menetelmin Aikajana (määrä,
S11-09 Control System for an. Autonomous Household Robot Platform
S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on
Standardit osana käyttäjäkeskeistä suunnittelua
Standardit osana käyttäjäkeskeistä suunnittelua 20.4.2006 Mikä on standardi? sovittu tapa tehdä jokin asia saatetaan tarkoittaa asian määrittelevää normatiivista asiakirjaa varmistetaan esim. Euroopassa
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
Työssäoppimispaikan työtehtävien ja ammattiosaamisen näytön suorittaminen työssäoppimisja näyttösuunnitelman mukaan hyväksytysti.
TARKENNETTU OPINTOKUVAUS Tutkinnon osa: 10 ov Tutkinnon osaan kuuluvat opinnot: tuottaminen 6 ov Työssäoppiminen 4 ov Opinto: Työssäoppiminen 4 ov Tavoitteet: Opiskelija osaa kartoittaa sähköisten liiketoiminnan
Opiskelija osaa suunnitella ohjelmiston toteuttamisen, toteuttaa, testata ja dokumentoida ohjelmiston.
1(6) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ tuotantoversion toteuttaminen 30 osp Tavoitteet: Opiskelija osaa suunnitella toteuttamisen, toteuttaa, testata ja dokumentoida. Työssäoppimisen keskeinen
ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ
ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ IMS Business Solutions Oy, J Moisio 10/ 2016 2.10.2016 IMS Business Solutions Oy 2 ISO 9001:2015 PROSESSIEN AUDITOINTIKYSYMYKSIÄ ISO 9001:2015
tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004
Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen
1(6) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ. Tutkinnon osa: Ylläpitotehtävissä toimiminen 30 osp. Tavoitteet
1(6) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Ylläpitotehtävissä toimiminen 30 osp Tavoitteet Opiskelija osaa ylläpitää tieto- ja viestintäteknistä toimintaympäristöä sekä siinä tarjottavia
Oppimistavoitteet kurssilla Rinnakkaisohjelmointi
17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman
Opetusmenetelmien valinnan perusteita. Strateginen rasti Markku Ihonen
Opetusmenetelmien valinnan perusteita Strateginen rasti 26.1.2012 Markku Ihonen Alustuksen osaamistavoitteita Alustuksen jälkeen osallistuja tunnistaa ja osaa eritellä keskeiset opetusmenetelmien valintaan
Kemia. Kemia Tutkii luontoa, sen rakenteita. Tutkii ainetta, sen koostumusta. sekä reaktioita. Eli kuinka aine muuttuu toiseksi aineeksi.
Tutkii luontoa, sen rakenteita ja ilmiöitä. Tutkii ainetta, sen koostumusta ja ominaisuuksia sekä reaktioita. Eli kuinka aine muuttuu toiseksi aineeksi. 1. oppiaineena ja tieteen alana 2. n opetuksen tavoitteet,
Toisen vuoden työssäoppiminen (10 ov)
Toisen vuoden työssäoppiminen (10 ov) 1. Toimintaympäristöjen (5 ov) Opintojakson sisältö Toimintaympäristöjen 5 ov ammattitaitovaatimus Mitä opiskelija osaa suoritettuaan tämän jakson Opiskelija osaa