TIE-02300 Johdatus ohjelmistotuotantoon



Samankaltaiset tiedostot
OHJ Johdatus ohjelmistotuotantoon

TIE Johdatus ohjelmistotuotantoon

OHJ-3010 Ohjelmistotuotannon perusteet

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistotuotanto historiallinen perspektiivi JOTU2013/K.Systä 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit. Syksy 2010

Johdatus ohjelmistotuotantoon

Kertausluento JOTU-2014 / K.Systä

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistoarkkitehtuurit. Syksy 2008

Projektitoiminta JOTU JOTU2013/K.Systä 1

Johdatus ohjelmistotuotantoon

Software engineering

Johdatus ohjelmistotuotantoon

Johdantoluento. Ohjelmien ylläpito

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Johdatus ohjelmistotuotantoon

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Kertausluento JOTU-2013 / K.Systä

Johdatus ohjelmistotuotantoon

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

PROJEKTITOIMINTA Tietoa käytännöistä

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Tietoyhteiskunnan perustaidot. Kesäkuu 2014

TIE Ohjelmistojen suunnittelu

Ohjelmistojen mallintaminen, kesä 2010

Digitaalisen median tekniikat Luento 1: Intro

käyttötapaukset mod. testaus

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

A4.1 Projektityö, 5 ov.

OHJ-1010 Tietotekniikan perusteet 4 op Syksy Luento 9: Ohjelmistotuotanto, peruskäsitteitä

Määrittelyvaihe. Projektinhallinta

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Tieto- ja viestintätekniikan opinnot Jyväskylän yliopistossa

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Miten löydän Sen Oikean? Senaattoritilaisuus Liisa Paasiala, Senior Consultant

Projektinhallintapäivä 2011 Hyvää huomenta tasapuolisesti kaikille!

OHJ-4301 Sulautettu Ohjelmointi

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (5 op) Tavoitteena

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

Ohjelmistojen virheistä

Johdatus ohjelmistotuotantoon

HTI12S - toinen lukuvuosi JAMK / TIKO

Moniasiakkuus ja osallisuus palveluissa -seminaari Moniammatillinen yhteistyö ja asiakaskokemukset

ITK130 Johdatus ohjelmistotekniikkaan

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Harjoitukset - muistutus

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

Ohjelmistojen suunnittelu

Projektin suunnittelu

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

Johdatusta ohjelmistotekniikkaan

Työkalut ohjelmistokehityksen tukena

Tietokone työvälineenä

Tik Ohjelmistoprojektien Hallinta

Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Tässä keskitymme palveluiden kehittämiseen ja niistä viestimiseen jotta osaaminen olisi nähtävissä tuotteena. Aluksi jako neljään.

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn

TIETOTEKNIIKAN KOULUTUSOHJELMA

CS35A0011 Johdatus tietojohtamiseen ja informaatioverkostoihin 6

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Sulautetut järjestelmät


Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

Ei raportteja roskiin

Junaliikenteen häiriötilannetietojen tuottaminen ja tiedotus

1. Olio-ohjelmointi 1.1

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Antti Ylä-Jarkko Tietohallintojohtaja Vantaan kaupunki. Epäsovinnaisia tuottavuusratkaisuja kuntakentässä

Onnistunut ohjelmistoprojekti

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

IIZT4020 Projektitoiminta

Ohjelmistoarkkitehtuurit. Syksy 2007

TU-C3010 Projektien suunnittelu ja ohjaus (5 op.)

Kim Polamo Työnohjaukse ks n voi n m voi a Lu L e,,ku inka i t yönohj t aus s autt t a t a t yös t s yös ä s si s. i 1

Ohjelmistojen mallintaminen, mallintaminen ja UML

Urheiluseuran viestintä

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

Hankinnan problematiikka

KYSELYTUTKIMUS: Yritysten verkkopalvelut sekä hankaluudet niiden hankinnassa ja määrittelyssä

Ma Tänään tutustumme sanomalehteen ja sen eri osastoihin.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tehdään sähköisesti mikroluokkien Windows-koneilla.

Kurssin käytännön järjestelyt. Tuotantotalous 1 Joel Kauppi

Johdatus ohjelmistotuotantoon

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Transkriptio:

TIE-02300 Johdatus ohjelmistotuotantoon Kari Systä Syksy 2014 24.8.2014 TIE-02300/Kari Systä 1

TIE-02300 Ohjelmistotuotannon perusteet Kurssi koostuu luennoista viikkoharjoituksista (6 pistettä) harjoitustyöstä (6 pistettä) tentistä (18 pistettä) Materiaali: Haikala, Mikkonen: Ohjelmistotuotannon käytännöt (Vanhemmasta kirjasta Haikala, Märijärvi: Ohjelmistotuotanto on myös apua, mutta kurssilla käsitellään asioita joita vanhemmassa kirjassa ole.) Tällä kurssilla ei käsitellä kaikkia kirjan lukuja, osa säästetään kurssille TIE-21100 Ohjelmistotuotannon Menetelmät/ TIE-21106 Software Engineering Methodology www-sivut: http://www.cs.tut.fi/kurssit/tie-02300/ (valitettavasti osa sisällöstä on vielä 2013 mukaista) 2 24.8.2014 TIE-02300/Kari Systä

Kurssin henkilökunta Kari Systä (luennot) kari.systa@tut.fi Tero Ahtee (viikkoharjoitukset) tero.ahtee@tut.fi Marko Leppänen (harjoitustyö) marko.leppanen@tut.fi Viikkoharjoitukset ja harjoitustyöt Marko Leppänen Tero Ahtee Henri Terho N.N 3 24.8.2014 TIE-02300/Kari Systä

Ilmoittautuneet 102 (60%) lisää 300 250 200 150 100 50 0 2013 2014 24.8.2014 TIE-02300/Kari Systä 4

Ehdotus luentoajan siirrosta! Tämä sali on liian pieni! TETAl:la on samaan aikaan TTA-75036 Management of Business Processes TITE:llä on samaan aikaan TIE-20200 Ohjelmistojen suunnittelu Tietotalon isoin TB103 sali olisi vapaana ma kello 16-18! 24.8.2014 TIE-02300/Kari Systä 5

Ilmoittautumistilanne 25.8.2014 klo 1245 Aika x/max Ti 10:00-12:00 15/28 Ti 12:00-14:00 15/28 Ke 10:00-12:00 26/28 Ke 12:00-14:00 28/28 Ke 14:00-16:00 08/28 Ke 16:00-18:00 08/28 To 12:00-14:00 27/28 To 14:00-16:00 26/28 To 16:00-18:00 00/28 24.8.2014 TIE-02300/Kari Systä 6

Kurssille ilmoittautuminen Ilmoittaudu kurssille POP:n lisäksi myös IDLE:n kautta, linkki kurssin kotisivulla IDLE:n kautta hoidetaan viikkoharjoituksiin ilmoittautuminen harjoitustyöryhmien muodostaminen välipalautusaikojen varaaminen 7 24.8.2014 TIE-02300/Kari Systä

Viikkoharjoitukset Harjoitukset alkavat vasta ensi viikolla (viikko 36) Salissa TB207 Ei pakollisia, mutta suositeltavia Osallistumisesta saa maksimissaan 6 lisäpistettä Ilmoittaudu viikkoharjoituksiin IDLE:n kautta (Linkki kurssin kotisivulla) Viikkoharjoituksissa tehdään saman viikon luentoaiheeseen liittyviä ryhmätöitä Jos et pääse viikkoharjoituksiin esim. sairastumisen takia, voit tehdä korvaavan suorituksen: Ota yhteyttä kurssibyrokraattiin (Tero Ahtee) mieluiten etukäteen ja sovi tapaamisesta Saat Terolta viikkoharjoitusosallistumisen korvaavan kirjallisen tehtävän 8 24.8.2014 TIE-02300/Kari Systä

TIE-02300 Johdatus ohjelmistotuotantoon Kurssin tavoite, opinto-opas "Luoda yleiskuva ohjelmistotyöstä ja perusvalmiudet määrittelymenetelmien soveltamiseen. Kyky osallistua ohjelmistoprojektiin asiakkaan edustajana. Käytännössä: Kyky ilmaista vaatimukset Kyky ymmärtää alan notaatioita ja merkintätapoja Käsitys tuotantoprosessista ja käytännöistä Lisäksi: ymmärtää millaista isojen ohjelmien tekeminen on ja mitä on isojen otsikoiden takana 24.8.2014 TIE-02300/Kari Systä 9

Viikkoharjoitusten hyvityspisteet Läsnäolokertoja Pisteitä <5 0 5 1 6 2 7 3 8 4 9 5 10 6 24.8.2014 TIE-02300/Kari Systä 10

Harjoitustyö Harjoitustyönä toteutetaan ohjelmiston määrittelyhanke Tuloksena syntyy määrittelydokumentti Harjoitustyö tehdään neljän hengen ryhmissä Alustava ryhmien muodostus IDLEssä 29.08. mennessä Jos sinulla ei ole ryhmää, muodosta yhden hengen ryhmä Kurssin henkilökunta koostaa niistä isompia 11 24.8.2014 TIE-02300/Kari Systä

Kurssin tavoite "Luoda yleiskuva ohjelmistotyöstä ja perusvalmiudet määrittelymenetelmien soveltamiseen. Kyky osallistua ohjelmistoprojektiin asiakkaan edustajana. Asiakas pitää ymmärtää laajasti Voi myös olla talon sisäinen Kokonaisprojektissa ohjelmisto on vain osa, ja ne muut osat ovat asiakkaita Tämä kurssi on myös ohjelmistoammattilaisille Kurssiin liittyy muutakin kuin koodaamista Ymmärtää asiakasrajapinnan tärkeys 24.8.2014 TIE-02300/Kari Systä 12

Kurssin esittely toisin Muilla laitoksemme kursseilla opiskellaan sitä, miten ohjelmia koodataan Tällä kurssilla opiskellaan perusteet siitä millaisia ohjelmia tehdään ja miten projekti pysyy kasassa. 24.8.2014 TIE-02300/Kari Systä 13

Yksi tavoite on ymmärtää tällaisten lehtijuttujen taustat. 24.8.2014 TIE-02300/Kari Systä 14

Software Engineering -- ohjelmistotuotanto? Software -- ohjelmisto? Computer programs, procedures, rules, documentation, and data pertaining to the operation of a computer system. Software Engineering -- ohjelmistotuotanto? The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. [IEEE 610.12] 24.8.2014 TIE-02300/Kari Systä 15

Mitä on ohjelmistotuotanto? Vaatimusmäärittelyä Asiakas Taitavaa ohjelmointia Elinkaarimallit Yhteispeliä, yhteistä peliä Algoritmit Tietorakenteet Ohjelmointikielet Arkkitehtuurit Laadunvarmistusta Projektinhallinta Kehittäjä Testaus Validointi 24.8.2014 TIE-02300/Kari Systä 16

Esimerkkejä kurssitarjonnasta Vaatimusmäärittelyä Taitavaa ohjelmointia Johdatus ohjelmointiin Johdatus ohjelmistotuotantoon Ohjelmistotuotannon menetelmät Yhteispeliä, yhteistä peliä Ohjelmoinnin peruskurssi Ohjelmistojen suunnittelu Ohjelmistojen testaus Laadunvarmistusta 24.8.2014 TIE-02300/Kari Systä 17

Miksi ohjelmien tekeminen on niin vaikeaa? Ohjelmisto on abstrakti Tekijöiden ja asiakkaiden välillä ei välttämättä ole sama käsitys Työmäärän arviointi on vaikeaa Ohjelmisto on dynaaminen On muutettavissa muutettavuutta oletetaan Ohjelmistojen tekemistä on vaikea skaalata Tekijöiden määrän lisääminen nopeuttaa vain vähän valmistumista Mitä enemmän tekijöitä, sen enemmän kommunikointitarvetta. 24.8.2014 TIE-02300/Kari Systä 18

Ohjelmakoodi Realistisissa järjestelmissä on koodirivejä tuhansittain, esimerkiksi puhelinkeskuksessa vaikkapa 15 miljoonaa. Ohjelmisto on aineetonta: sitä on vaikea hahmottaa sen laatua ja valmiusastetta on vaikea arvioida virheitä syntyy helposti, ja niitä löytyy vielä pitkänkin käytön jälkeen 24.8.2014 TIE-02300/Kari Systä 19

Koodirivien määrä ei tosin ole kovin selkeä koon mitta: 100 alkulukua kolmella eri tavalla void primes(int cap) { int i, j, composite; for(i = 2; i < cap; i++) { composite = 0; for(j = 2; j < i; j++) } } composite +=!(i % j); if(!composite) printf("%d\t", i); int main() { primes(100); } void primes(int m, int t, int c) { int i,j; i = t / m; j = t % m; (i <= 1)? primes(m,t+1,c) : (j == 0)? primes(m,t+1,0) : (j == i &&!c)? (printf("%d\t",i), primes(m,t+1,0)) : (j > 1 && j < i)? primes(m,t+1,c +!(i % j)) : (t < m * m)? primes(m,t+1,c) : 0; } int main() { primes(100,0,0); } _(,, ){ / <=1?_(, +1, ):!( % )?_(, +1,0): % == / &&!?(printf("%d\t", / ),_(, +1,0)): % >1&& % < /?_(,1+, +!( / %( % ))): < *?_(, +1, ):0;}main(){_(100,0,0);} 24.8.2014 TIE-02300/Kari Systä 20

Motto (kautta vuosien) TIE-02300/Kari Systä 21 Ketteryys?????? 21

Ohjelmistokriisi (Software Crisis) Termi keksittiin Naton ohjelmistotuotanto konferenssissa 1968. Kriisin oireet (silloin ja vieläkin) Ohjelmistoprojektien budjetti ylittyy Projektit ovat myöhässä Syntynyt ohjelmistoon hidas tai muuten tehoton Ohjelmiston laatu on huono Ohjelmisto ei täytä vaatimuksia Projektit eivät pysy hallinnassa Syntynyttä ohjelmistoa ei pystytä ylläpitämään (esim. vuoden 2000 kriisi) Ohjelmistoa ei koskaan toimiteta asiakkaalle 24.8.2014 TIE-02300/Kari Systä 22

Kuuluisa lainaus To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem. -- E. Dijkstra, 1972 Turing Award Lecture 24.8.2014 TIE-02300/Kari Systä 23

Kolme kriisiä 60-70 luku Ongelma: kone/assemblykielinen ohjelmointi Ratkaisu: korkeantason ohjelmointikielet (Fortran, C, Cobol) 80-90 luku Ongelma: monimutkaisen ohjelman (miljoonia rivejä, paljon kehittäjiä) rakentaminen ja ylläpito Ratkaisu: valmiskirjastot, olio-ohjelmointi, arkkitehtuuri, testaus, katselmukset Ratkaisu: hyvin suunniteltu on puoliksi tehty; dokumentoidaan kaikki 2000 luvut Ongelma: piti tulla takki, mutta tehtiin housut (mutta hyvin dokumentoitu) Ratkaisu: ketterät menetelmät 24.8.2014 TIE-02300/Kari Systä 24

Esitettyjä ratkaisumalleja Taitavaa ohjelmointia Testaus UML Uudet ohjelmointikielet Suunnittelumallit Formaalit menetelmät Vaatimusmäärittelyä Prosessimallit Laadunvarmistusta Dokumentointi Yhteispeliä, yhteistä peliä 24.8.2014 TIE-02300/Kari Systä 25

Miksi menee pieleen; tilaajanäkökulma Aikataulun pettäminen Budjetin pettäminen Eri näkemys projektin Laadun pettäminen Henkilövaihdokset Kommunikaation puute Sopimuksesta Hinnoittelumallista Ongelmat Ei kriisejä Yritysjärjestelyt 0 5 10 15 20 25 30 35 40 45 50 Lähde: tietotekniikan liiton, ohjelmistoyrittäjien ja Celkee OY:n tutkimus TIE-02300/Kari Systä 24.8.2014 26

Miksi menee pieneen; toimittajanäkökulma Kommunikaation puute Eri näkemys projektin sisällöstä Aikataulun pettäminen Henkilövaihdokset projektissa Laadun pettäminen Budjetin pettäminen Ei kriisejä Ongelmat henkilökemioissa Hinnoittelumallista johtuvat syyt Sopimuksesta aiheutuvat syyt Yritysjärjestelyt 0 5 10 15 20 25 Lähde: tietotekniikan liiton, ohjelmistoyrittäjien ja Celkee OY:n tutkimus TIE-02300/Kari Systä 24.8.2014 27

http://www.softwareindustrysurvey.fi/slidesfinland2012.pdf 28 24.8.2014 TIE-02300/Kari Systä

Ohjelmiston ominaisuuksia ohjelmiston koko ja käsiteltävän tiedon määrä käsittelypainotteinen vs. tietopainotteinen vasteaika- ja reaaliaikaisuusvaatimukset kovat reaaliaikavaatimukset reaktioaika luotettavuus puolustautuva ohjelmointi kahdentaminen elektroniikka- ja mekaniikkatason varmistukset hajautus paikallinen / laaja sulautetut järjestelmät - laiteväylä 29 24.8.2014 TIE-02300/Kari Systä

Epäonninen esimerkki VR 2011-2012 24.8.2014 TIE-02300/Kari Systä 30

VR:n lipunmyyntiuudistus Kuka meistä ei ole tästä kärsinyt? Taustaa VR uusi hinnoitteluperiaatteensa VR tilasi uuden järjestelmän lipunmyyntiin Median kiinnostus oli taattu VR oli valmistautunut, kapasiteettiä oli pistetty puolet asiantuntijoiden ehdotuksen päälle Uusi systeemi päälle kello 5 aamulla Jumissa kello 9! 24.8.2014 TIE-02300/Kari Systä 31

Mitä tapahtui Kuorma oli ennen näkemätön Edellinen ennätys oli 420000 tapahtumaa tuhkapilven aikaan Nyt saatiin 1 200 000 tapahtumaa päivässä Analysointi oli vaikeaa koska järjestelmässä oli monen toimittajan tuotoksia Palvelimissa oli ohjelmointivirhe joka oli tiedossa mutta korjaamatta Lippuautomaateissa oli bugi joka turhaan kuormitti järjestelmää Tehtiin rajoitin joka estää liian monta yhtäaikaista käyttäjää Se saattoi potkaista ulos maksamisen ja lipuntulostamisen välissä! Ongelmat ovat sen jälkeen jatkuneet pitkään 24.8.2014 TIE-02300/Kari Systä 32

Google-halulla löytyy hirveästi juttuja VR: Lipunmyyntijärjestelmä toimii jälleen - Ilta-Sanomat VR:n lipunmyyntijärjestelmä pätkii edelleen - Kotimaa - Turun... Näin VR sotki lippujärjestelmänsä - Miksi it-projektit epäonnistuvat... suomenkuvalehti.fi/... VR:n lipunmyyntijärjestelmä kaatui kuudeksi tunniksi vian syy ei... www.mtv3.fi/uutiset/kotimaa.shtml/vrn... VR:n lipunmyyntijärjestelmä petti, kenen vika? - Aamulehti Blogit VR:n lipunmyyntijärjestelmä toimii taas Yle Uutiset yle.fi VR:n lipunmyyntijärjestelmä kaatunut - Kotimaa - Savon Sanomat IT-firmalla uskomaton selitys VR:n lippukaaoksesta - Aamulehti Uutinen - VR:n lipunmyyntijärjestelmä toimii taas - Nelonen www.nelonen.fi/uutinen/vrn VR:n lipunmyyntijärjestelmä tökki taas - Ilta-Sanomat. 24.8.2014 TIE-02300/Kari Systä 33

Verkosta ja tiedotusvälineissä kura lentää totta tai tarua! Aamulehti Verkosta löytyneessä ansioluettelossa intialainen ittyöntekijä kertoo olleensa testauskonsulttina VR:n myyntijärjestelmäprojektissa. Konsultin verkkosivuille ja ansioluetteloon ei enää päässyt maanantaina iltapäivällä verkossa. Myös sivujen Googlen välimuistitallenne oli poistettu. Aapo Puskalan käytettävyysarvio verkkokaupasta 26 kriittistä ongelmaa 54 merkittävää ongelmaa 108 kohtalaista ongelmaa 47 vähäistä ongelmaa 1 erityisen toimiva toteutus 7 mahdollista ongelmaa, lisätietoja tarvitaan 24.8.2014 TIE-02300/Kari Systä 34

Mikä meni pieleen? Tarkkaa tietoa ei julkisuudesta löydä, mutta näyttää siltä että Järjestelmän testaus oli puutteellista Monitoimittajajärjestelmässä vastuut eivät olleet selviä Väitetään myös, että kilpailutuslaki olisi ollut osasyyllinen Kuormitus arvioitiin väärin (mm kellekään ei tullut mieleen, että starttipäivänä on paljon uteliaita) Kukaan ei tiedä koska järjestelmä saadaan kuntoon VR:n imago kärsi ja asiakkaitakin menetettiin Ja systeemiä korjaillaan edelleen 24.8.2014 TIE-02300/Kari Systä 35

VR:lla ollut ongelmia ennenkin KULTAINEN 90-LUKU 17.03.1997, 07:00 Arkistojen aarteita: Näin klemmari pysäytti Etelä-Suomen junat Lauri Nousiainen, Tietoviikko 17.3.1997 Etelä-Suomen pääratojen junaliikenne pysähtyi viime lauantaiyönä tietokoneen näppäimistön jumiutumisen takia. VR-Rata Oy:n projektipäällikkö Kimmo Ståhlberg kertoo, että koneeseen kytkettyyn tavanomaiseen näppäimistöön oli lipsahtanut näppäinten välistä sisään paperiliitin, joka oli jumittanut jonkin näppäimen - luultavasti välilyönnin - keskiviikosta lähtien. Kone jäi kysymään käyttäjätunnusta kolmen päivän ajaksi ja samalla näppäimistön jumiutumisesta johtuen täyttämään kovalevyä. Lauantai-iltaan mennessä varakoneen kovalevy oli lopulta täynnä, mikä esti liikenteenohjauksen pääkonetta päivittämästä sitä. Pääkoneen kapasiteetti oli siinä määrin koetuksella, että sen toiminta hidastui eikä se kyennyt enää selviämään järjestelmän vaatimuksista. Junien kauko-ohjaus ja turvalaitteiden toiminnanohjaus pysähtyivät. Tämä johti automaattisesti junien pysähtymiseen seuraaville punaisille opastimille. Junaliikenne oli puoli yhdestätoista lähtien tunnin ajan pysähdyksissä väleillä Helsinki- Riihimäki ja Helsinki-Turku. Salaperäisiä asioita Miten on mahdollista, että junat pysähtyvät klemmarin takia? Nämä ovat niitä salaperäisiä asioita. Jos tietäisin, miten tämä on mahdollista, olisin kauhean viisas, Ståhlberg miettii. Meillä on ollut aiemminkin jotain tietokoneongelmia, mutta ei mitään tällaista, tämä on ihan uskomatonta. Kun näppäimistön huomattiin jumittuneen, se avattiin, ja sen sisältä löytyi paperiliitin. Ståhlberg yritti sittemmin työntää paperiliitintä näppäimistön joka väliin, mutta se upposi vain välilyöntinäppäimen väliin, josta se siis on luultavasti sisään mennytkin. VR:n liikennesuunnittelija Tommy Westlin ei vielä tiistai-iltapäivänä tiennyt junien pysähtymisen johtuneen klemmarista. Täytyy myöntää, etten todellakaan tiedä, miten tuollainen on mahdollista. Mutta jos näppäimistö on pöydällä, niin voihan sinne jotain mennä. Minullakin on kahvia ja pullanmuruja näppiksellä, Westlin pohtii. Vika ei aiheuttanut mahdollisuutta vaaratilanteeseen, VR:stä kerrotaan. Aiemmin on myös ollut tietokonevikoja, jotka ovat pysäyttäneet junaliikennettä, mutta kestoltaan ja vaikutusalueeltaan näin mittavia ei ole ennen ollut, Westlin arvelee. 24.8.2014 TIE-02300/Kari Systä 36

Mutta lopetetaan tähän VR:n pilkkaaminen Noloja juttuja on käynyt monelle muullekin organisaatiolle Paitsi niiden viihdearvon vuoksi myös opetussyistä otamme näitä esimerkkejä esille kurssin luennoilla Tästä tapauksesta voisi johtaa muutaman opetuksen Projektin pilkkominen moneen osaan ja keskenään kilpaileville toimijoille on hankalaa Iso projektin käyttöönotto kertarysäyksellä on riski Ison järjestelmän, jolla paljon käyttäjiä, testaaminen on hankalaa Käyttäjien ymmärtäminen on tärkeää: Totta kai moni haluaa selvittää mitä uusi monimutkainen hinnoittelu tarkoittaa omilla vakioreiteillä 37 24.8.2014 TIE-02300/Kari Systä

Tämä kulunut kuva on pakko näyttää 38 24.8.2014 TIE-02300/Kari Systä

FlowIT tutkimus http://yle.fi/uutiset/montako_tietojarjestelmaa_tyopaikallasi_on tra fissa_niita_on_170/7252898 FlowIT-tutkimuksen kyselyyn vastasi 2 400 tietotyöläistä, joista valtaosa toimii valtion virastoissa. Tietotekniikan toimimattomuus, hitaus tai käytön hankaluus vaivaavat 65 prosenttia kyselyyn vastanneista. Keskimäärin työaikaa tietojärjestelmien vuoksi kuluu hukkaan neljä tuntia viikossa. Suurinta ärsytystä aiheuttaa, jos järjestelmät eivät keskustele keskenään ja tietoa joudutaan siirtämään käsin järjestelmästä toiseen. Esimerkiksi tuntikirjausjärjestelmässä toisesta saa minuutteina 30 minuuttia ja toiseen pitää syöttää se tunteina eli 0,5 tuntia. 24.8.2014 TIE-02300/Kari Systä 39

Osaamisalueet Johtaminen Esittäminen, neuvottely, tiimityö Ei geneeriset tekniset taidot Geneeriset tekniset taidot Sovellusalueen osaaminen Prosessiosaaminen 24.8.2014 TIE-02300/Kari Systä 40

evolution revolution Osaamisen puoliintumisaika Ei geneeriset tekniset taidot Sovellusalueen osaaminen Prosessiosaaminen Esittäminen, neuvottely, tiimityö Johtaminen Geneeriset tekniset taidot 0v 10v 20v 24.8.2014 TIE-02300/Kari Systä

Ohjelmiston rakentaminen projektina Asiakas - toimittaja Tarvitaan yhteisymmärrys siitä mitä halutaan Mitä se maksaa Koska se on valmis Asiakas ymmärrettävä laajasti Sisäinen Varsinaisen asiakkaan edustaja (esim. markkinointi) Tämä kurssi on suunniteltu (myös) tuleville asiakkaille Asiakkaalle projekti on usein osa isompaa kokonaisuutta (hanketta) Ohjelmiston lisäksi laite, liiketoimintamuutos, Elinkaari: esiselvitys, määrittely, toteutus, käyttöönotto, ylläpito, käytöstä poisto 42 24.8.2014 TIE-02300/Kari Systä

Ohjelmistoprojekti on muutokseen reagoimista 43 24.8.2014 TIE-02300/Kari Systä

Ohjelmistotuotanto on vielä paljolti "kansanperinnettä". 44 24.8.2014 TIE-02300/Kari Systä

Toivotonta? Ei sentään! Terve skeptismi muotivirtauksiin mutta avoimuus uusille asioille Valitse käyttäen tervettä järkeä: Mitä Milloin Miten Tavoitteemme pitää olla kunnianhimoinen: me teemme ja tilaamme parempaa ohjelmistoa 45 24.8.2014 TIE-02300/Kari Systä

Alustava luentoaikataulu 25.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 01.09: Ohjelmistojen roolista ja ohjelmistotyön määrästä, ohjelmistotyypit 08.09: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 15.09: Vaatimusmäärittelyt 22.09: Projektitoiminta 30.09: Yleiset notaatiot erityisesti UML 07.10: Esimerkkiprojekti (vierailuluento esillä ihan oikea projekti) 20.10: Asiakasroolista 27.10: Käyttäjä ja käyttäjäkokemus ohjelmistoprojektissa 03.11: Tiedon mallintaminen 11.11: Ohjelmisto osana laitetta 17.11: IPR, sopimukset, avoin lähdekoodi 24.11: Mitä on ohjelmistotuotanto (historiaperspektiivi, kertausta) 1.12: Kertausta, tenttiin valmistautuminen 24.8.2014 TIE-02300/Kari Systä 46