OTUPK / Luento
|
|
- Asta Saarnio
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 OTUPK / Luento Uutisia Asiakasvaatimusten palauttamisen deadline on tämän viikon perjantaina klo 16. Päivän aiheet Esimerkki Luennon lopuksi taas yksi onneton tarina 1
2 Esimerkki Mukailtu kirjan Agile Software Development, Principles, Patters, and practices, Robert C. Martin Esimerkistä 2
3 Palkanmaksuohjelmisto Tässä on yksinkertaistettu esimerkki Oikeat palkkahallinto-ohjelmistot ovat yllättävän kalliita ja monimutkaisia Googlehaku tuotti muutaman esimerkin (Esimerkkien valinnan suoritti google ) Ei kannata aloitta kaupallista ohjelmistotoimintaa tämän esimerkin perusteella. Varoitus: tämän esimerkin yhteydessä vilautamme koodiakin! 3
4 Asiakaspalaverin muistiinpanoja Systeemi perustuu tietokantaan jossa on kaikkien työntekijöiden tiedot. Kaikille työntekijöille maksetaan tämän systeemin kautta, oikea summa ja ajallaan. Osalla työntekijöistä on tuntipalkka (joka tietokannassa) Lähettävät joka päivä raportin jossa päivä ja tehdyt tunnit Jos tuntien määrä ylittää 8, ylimeneviltä tunneilta maksetaan 1.5 kertaisesti Tuntipalkkalaisille maksetaan palkka joka perjantai Osalla työntekijöistä kuukausipalkka Maksetaan kuun lopussa Myyntitehtävissä olevilla on lisäksi provisio tehdyistä kaupoista kuitin perusteella 4
5 Lisää muistiinpanoja Työntekijät voivat valita palkanmaksutavan Shekki (esimerkki on siis pankkitoiminnan kehitysmaasta Yhdysvalloista) Suoraan tilille Työntekijät voivat kuulua ammattiliittoon Tietokannassa on tiedot päivistä jolloin jäsenmaksut vähennetään palkasta Ammattiliitto voi myös laskuttaa lisämaksuja Palkanmaksuajo suoritetaan kerran päivässä Palkanmaksupäivänä maksetaan edellisestä kerrasta syntynyt kertymä Mietitään hetki mitä olisi mahdollisesti unohtunut 5
6 Käyttötapaus 1 Lisää uusi työntekijä Tietokanta AddEmp <EmpID> <name> <address> H <hourly-rate> AddEmp <EmpID> <name> <address> S <monthly-rate> AddEmp <EmpID> <name> <address> C <mpontly-rate> <bonus-%> Jos tiedoissa virhe, näytetään virheilmoitus 6
7 Käyttötapaus 2 Poista työntekijä Tietokanta DelEmp <EmpId> Virje jos työntekijää ei löydy tai EmpId muuten virheellinen 7
8 Käyttötapaus 3 Lähetä tuntiraportti Tietokanta TimeCard <EmpId> <date> <hour> Jos tiedoissa virhe jos - työntekijä ei ole tuntipalkkalainen - EmpId virheellinen 8
9 Aina voi miettiä lisää Pitäisikö tarkistaa onko tuntimäärä järkevä? Yli 0 Alle 24 Desimaaleja Entäs jos työntekijä on uusi, eikä vielä talletettu. Esimerkiksi asiaa hoitava ihminen sairaslomalla. 9
10 Käyttötapaus 4 Lähetä myyntitosite Tietokanta SalesReceipt <EmpId> <date> <amount> Näytetään virheilmoitus jos - työntekijä ei ole provisio-palkkauksen parissa - Tiedoissa muita virheitä 10
11 Käyttötapaus 5 Ammattiliiton lisämaksu Tietokanta ServiceCharge <memberid> <amount> Jos tiedoissa virhe, näytetään virheilmoitus 11
12 Käyttötapaus 6 (monta) Muuta tietoja Tietokanta ChgEmp <EmpId> Name <name> ChgEmp <EmpId> Address <address> ChgEmp <EmpId> Hourly <hourly-rate> ChgEmp <EmpId> Salaried <monthly-salary> ChgEmp <EmpId> Commissioned <monthly-salary> <rate> ChgEmp <EmpId> Hold ChgEmp <EmpId> Direct <bank> <account> ChgEmp <EmpId> Mail <address> ChgEmp <EmpId> Member <memberid> Dues <rate> ChgEmp <EmpId> NoMember 12
13 Kukahan nämä keksi? ChgEmp <EmpId> Name <name> ChgEmp <EmpId> Address <address> ChgEmp <EmpId> Hourly <hourly-rate> ChgEmp <EmpId> Salaried <monthly-salary> ChgEmp <EmpId> Commissioned <monthly-salary> <rate> ChgEmp <EmpId> Hold ChgEmp <EmpId> Direct <bank> <account> ChgEmp <EmpId> Mail <address> ChgEmp <EmpId> Member <memberid> Dues <rate> ChgEmp <EmpId> NoMember 13
14 Käyttötapaus 7 Aja palkkaajo Tietokanta Palkkalaskelma Pankki Laske kelle pitäisi maksaa palkka, kuinka paljon ja miten PayDay <date> 14
15 Välillä hieman suunnittelua Vaikka toimittaisiin ns. ketterien menetelmien mukaan on syytä miettiä tärkeimpiä suunnitteluratkaisuja ennen kuin rynnätään koodin kimppuun. Tietokanta, valinta ja tietomallin suunnittelu Tärkeä mutta sivuutamme tässä esimerkiksi Irrottaminen (decoupling) Looginen ajallinen 15
16 Looginen irrottaminen Ei näin Read command if (command == add) { read EmpId; check EmpId; if (ok) { transaction(); } else { error(); } } else (if command == ) { } Spagetti kelpaa lautaselle hyvän kastikkeen kera, mutta ei laadukkaaseen ohjelmaan 16
17 Vaan esimerkiksi näin Command Yhteiset ominaisuudet Komennon valinta AddEmp DelEmp TimeCard CheckEmpId CheckDate 17
18 Ajallinen irrottaminen Kuormitussyistä tietokanta operaatiot halutaan viivästyttää niin, että suoritus tapahtuu yöllä. 18
19 Pieni seikkailu koodin maailmaan import java.util.linkedlist; import java.util.iterator; public class ActiveObjectEngine { LinkedList itscommands = new LinkedList(); public void addcommand(command c){ itscommands.add(c); } public void run() throws Exception { while (!itscommands.isempty()) { Command c = (Command) itscommands.getfirst(); itscommands.removefirst(); c.execute(); } } } 19
20 Yhteinen koodi public interface Command { public void execute() throws Exception; } 20
21 Mitäs luulette?
22 Jaa että oliko valmis määrittely? Verotus, ennakonpidätys Palkkatodistusten kirjoitus Lomat, sairaslomat Viikonlopputyöt, arkipyhät Autoedut, matkapuhelinedut Ulosotto Matalapalkkatuki Sitominen yrityksen kustannuspaikkoihin ja projekteihin Suorat pankkiyhteydet (SEPA) Erilaiset raportit Matkalaskut eri systeemissä? 22
23 Entäs kuka on? Käyttötapauskuvissa fuskattiin. Pitäisi miettiä Kuka/ketkä käyttää? Milloin käyttää? Missä yhteydessä? Jos järjestelmä ei sovi varsinaisten käyttäjien tarpeisiin sen käyttö tulee kalliiksi. Projektissa asiakkaan edustajan pitää muistaa myös tämä johdon asettamien liiketoimintatavoitteiden lisäksi. 23
24 Ja millaisia vaikutuksia tällä on? 24
25 Testaus, laadunvarmistus Palautetaan mieleen edellisten luentojen kuva Asiakkaan ongelma asiakasvaatimukset Määrittely Suunnittelu ohjelmistovaatimukset, määrittely tekniset vaatimukset, suunnittelu Toteutus asiakastoimitus Seuraava versio Hyväksymistestaus
26 työmäärä Mietitääs SCRUM-koneen käynnistämistä Sprintissä toteutettavat tehtävät, aika-arviot päivitetään päivittäin Daily Scrum Meeting: 15 min: Edistys edellisestä palaverista? Ovatko aika-arviosi kunnossa? Mitä teet seuraavaksi? Onko ongelmia näkyvissä? Sprint burndown chart: aika Sprint planning meeting: 4+4 tuntia: tuotteen omistaja esittelee Product backlogia Tiimi päättää, mihin voi sitoutua Riittävästi tietoa? 30 päivän pyrähdys (sprint) Sprint Review Meeting (4 tuntia): Tiimi esittelee tuloksen omistajalle tuotteen inkrementti The Sprint Retrospective (3 tuntia): miten asiat saataisiin sujumaan paremmin seuraavassa pyrähdyksessä Requirements Valmiita?
27 Mietittävää ja päätettävää Kuinka kauan vain tarkennetaan asiakasvaatimuksia? Tätäkin työtä voi tehdä SCRUM-rytmillä Missä vaiheessa ja kuinka tarkasti mietitään arkkitehtuuria Mikä osuus valitaan ensiksi toteutettavaksi Käyttäjälle arvokkain? Projektin kannalta riskipitoisin? 27
28 Pyrähdyksen alussa oleva Sprint Planning on tärkeä (varsinkin ens. pyrähdyksessä) Toteutustiimi tyypillisesti etsii abstraktioita, yhteisiä toiminnallisuuksia. Jotta tuloksena oleva järjestelmä olisi ylläpidettävä Jos keskittyy vain yhteen tapaukseen tulee helposti virheitä Jos taas ottaa kaikki huomioon, kestää liian kauan siihen että saadaan ensimmäinen asiakaspalaute Ja rahaa on palanut liikaa Esimerkki seuraavalla kalvolla 28
29 AddEmp <EmpID> <name> <address> H <hourly-rate> AddEmp <EmpID> <name> <address> S <monthly-rate> AddEmp <EmpID> <name> <address> C <mpontly-rate> <bonus-%> Siis meillä on kolme erilaista työntekijä ryhmää. Tämä voitaisiin ottaa suunnittelun pohjaksi? ChgEmp <EmpId> Name <name> ChgEmp <EmpId> Address <address> ChgEmp <EmpId> Hourly <hourly-rate> ChgEmp <EmpId> Salaried <monthly-salary> ChgEmp <EmpId> Commissioned <monthly-salary> <rate> ChgEmp <EmpId> Hold ChgEmp <EmpId> Direct <bank> <account> ChgEmp <EmpId> Mail <address> ChgEmp <EmpId> Member <memberid> Dues <rate> ChgEmp <EmpId> NoMember Tyyppi voikin muuttua! Entä onko mahdollista, että voi tulla uusia tyyppejä? 29
30 On investointi Muunneltavuuden haasteesta Vaikea keksiä mitä oikeasti tullaan muuntamaan Onneton esimerkki: 30
31 Kun vihdoin tiedetään tarpeeksi hyvin mitä ollaan tekemässä Toimittaja suunnittelee ketkä projektiin osallistuvat Toimittaja ja asiakas tarkentavat yhdessä aikataulun (Olettaen että valitaan SCRUM tai joku muu ketterä menetelmä) asiakas huolehtii siitä, että kunkin pyrähdyksen jälkeen saadaan riittävä asiakas ja käyttäjäpalaute Suunnitellaan järjestelmätestaus ja käyttöönotto 31
32 Järjestelmätestaus/hyväksymistestaus Usein asiakas osallistuu testaukseen vasta tässä vaiheessa Valitettavasti joskus ei vielä tällöinkään Tässä vaiheessa voi olla jännitteitä Toimittaja haluaa rahansa ja haluaa että virheiden korjaus on jatkossa erikseen laskutettavaa työtä Asiakas haluaa täydellisen järjestelmän 32
33 Käyttöönotto Rajattu oppikirjamme ulkopuolelle Kuitenkin tärkeä asia Mietittäviä asioita Siirrytäänkö yhdessä yössä vanhasta järjestelmästä uuteen Vai hetken aikaa rinnakkain Vai pala kerrallaan Miten siirretään tiedot vanhasta uuteen Tarvitaanko käyttäjille koulutusta Käyttöönotto voi olla oma projektinsa 33
34 Kertausta Ensimmäisen asiakaspalaverin muistiinpanoista on pitkä matka lopullisiin vaatimuksiin. Järjestelmät ovat monimutkaisempia kuin aluksi näyttävä. Räätälöidyn järjestelmän määrittelyssä asiakas-toimittaja yhteistyön on toimittava 34
35 Tämän viikon sattumus Ariane 5 kantoraketin onnettomuus 35
36 Ariane 5 - analyysi 64bittinen liukuluku muunnettiin 16-bittiseksi kokonaisluvuksi Tällä kertaa syntyi ylivuoto Olisi syntynyt Ada-kielen poikkeus (tämä ohjelmointikielen rakenne on suunniteltu jotta voitaisiin reagoida tällaisiin virheisiin turvallisesti), mutta poikkeukset oli tehokkuussyistä otettu pois käytöstä. Joten laskun tulos oli ns potaskaa Vääristyneiden mittausarvojen tuloksena ohjausraketit yrittivät massiivista korjausliikettä Ylivuoto syntyi koska Ariene 5:n suorituskyky oli suurempi kuin edeltäjän (Ariane 4) mutta Arian 5 uudelleen käytti vanhan järjestelmän softaa Ylivuotoon joutunut järjestelmä oli vikatilanteiden vuoksi kahdennettu mutta ajoi samaa ohjelmistoa 36
37 Ariane 5 Ylivuotoon joutunut järjestelmä oli tarpeen vain silloin kun raketti vielä seisoo laukaisualustalla ja se oltaisiin voitu ottaa jo pois päältä Ongelmana oli vaakanopeus jonka kukaan ei ollut uskonut kasvavan liian suureksi L_M_BV_32 := TBD.T_ENTIER_32S ((1.0/C_M_LSB_BV) * G_M_INFO_DERIVE(T_ALG.E_BV)); if L_M_BV_32 > then P_M_DERIVE(T_ALG.E_BV) := 16#7FFF#; elsif L_M_BV_32 < then else P_M_DERIVE(T_ALG.E_BV) := 16#8000#; P_M_DERIVE(T_ALG.E_BV) := UC_16S_EN_16NS(TDB.T_ENTIER_16S(L_M_BV_32)); end if; P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S ((1.0/C_M_LSB_BH) * G_M_INFO_DERIVE(T_ALG.E_BH))); 37
38 38
Vaatimusmäärittelyistä
Vaatimusmäärittelyistä JOTU 16.09.2013 16.9.2013 JOTU2013/K.Systä 1 Tiedotuksia Harjoitusryhmiin ilmoittautuminen on vihdoin avautunut IDLE:ssä Ryhmän maksimi koko on 4 henkeä Ilmoittautumisen takaraja
LisätiedotOliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
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ätiedotOhjelmistotekniikka - Luento 2
Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit
LisätiedotOhjelmiston 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ää
LisätiedotOhjelmistotekniikka - Luento 2 Jouni Lappalainen
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento
LisätiedotScrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.
Scrum is Not Enough Scrum ei riitä Ari Tanninen & Marko Taipale Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.2009 Ari Tanninen Vanhempi ohjelmistoinsinööri Marko Taipale Teknologiajohtaja,
LisätiedotScrumin käyttö ketterässä sovelluskehityksessä
Scrumin käyttö ketterässä sovelluskehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy Janne Kuha Manager, Java Services janne.kuha@descom.fi Kuka? Descom Oy:llä, sitä ennen Wanadu Inc., Mountain
LisätiedotKetterä vaatimustenhallinta
Ketterä vaatimustenhallinta ja miksi se on useimmiten hyvä asia K A R I A L HO C E O I M P R OV EIT OY Sisältö ImproveIt Oy Perinteinen vaatimushallinta Ketterä vaatimustenhallinta Monenlaista softakehitystä
LisätiedotKetteryys pähkinänkuoressa. Kokopäivän Scrum-kurssin sisältö tislattuna ja tiivistettynä kolmeen varttiin
Ketteryys pähkinänkuoressa Kokopäivän Scrum-kurssin sisältö tislattuna ja tiivistettynä kolmeen varttiin Empiirinen prosessinhallinta Iteraatiot ja inkrementit riskienhallinnassa Imuohjaus Ketteryyden
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö
LisätiedotToisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.
Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. JUnit-ympäristö 1. Luo tests -pakkaukseen uusi luokka. Nimeä VHTestit. 2. Laita VHTestit periytymään TestCase:sta
LisätiedotProjektin vaiheet 17.9.2012
Projektin vaiheet 1 17.9.2012 Prosessi, teknologia ja ihmiset Prosessi Teknologia Teknologia Prosessi Prosessi Teknologia Ihmiset Ihmiset Ihmiset 2 17.9.2012 Hanke vs. projekti vs. prosessi Usein softaa
LisätiedotScrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy
Scrumjatkuvan palvelun DWprojektissa-case OP-Pohjola Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy Agenda Scrum lyhyesti Jatkuvan palvelun DW-projekti- Case OP-Pohjola Lähtötilanne ennen Scrumia Scrumin
LisätiedotOhjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotVaatimusmäärittelyistä
Vaatimusmäärittelyistä JOTU 15.09.2014 15.9.2014 JOTU2014/K.Systä 1 Tiedotuksia Jos tulee tarve muutella IDLE:ssä harjoitustyön assistenttitapaamista, ottakaa yhteyttä assistenttiin. Jos olette ryhmässä,
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
Lisätiedot1. Oppimisen ja opettamisen haasteet
1. Oppimisen ja opettamisen haasteet Oppimisen aihepiirit oppijan mielenkiinnon mukaan. Sosiaaliset taidot, ongelmaratkaisu pienryhmissä, johtajuus, empatia, yrittäjämäinen toiminta, Oppijan oman lahjakkuuden
LisätiedotJava-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
LisätiedotYksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }
Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotKÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ
KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ Eeva Kangas 05.11.2015 @FixUi Oy 2013 2015 FIXUI "Autamme yrityksiä suunnittelemaan sellaisia tuotteita, joita ihmiset osaavat ja haluavat käyttää" Käyttäjätutkimukset
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
LisätiedotTest-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
LisätiedotTest-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
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
LisätiedotArkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä
Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?
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ätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä
812347A Olio-ohjelmointi, 2015 syksy 2. vsk X Poikkeusten käsittelystä Sisältö 1. Yleistä poikkeusten käsittelystä 2. Poikkeuskäsittelyn perusteita C++:ssa 3. Standardissa määritellyt poikkeukset 4. Poikkeusvarmuus
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ätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 4: Symbolit, derivojaesimerkki, kierroksen 1 ratkaisut (mm. SICP 2.32.3.2) Riku Saikkonen 1. 11. 2011 Sisältö 1 Symbolit ja sulkulausekkeet 2 Lisää Schemestä:
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ätiedotTestilähtöinen ohjelmistokehitys. Testilähtöinen ohjelmistokehitys. TDD Testilähtöinen ohjelmistokehitys. Testi! Testi
Testilähtöinen ohjelmistokehitys Kevät 2008 Jonne Itkonen Jyväskylän yliopisto Testilähtöinen ohjelmistokehitys Test-Driven Development, TDD Tehdään ensin testi, sitten vasta koodi. TDD Testilähtöinen
Lisätiedot17/20: Keittokirja IV
Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita
LisätiedotOhjelmistojen mallintaminen, kurssikoe esimerkkivastauksia
Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.
LisätiedotTehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki
Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,
LisätiedotTestauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg
Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg Symbio lyhyesti Innovatiivinen tuotekehitys- ja testauskumppani Juuret Suomessa, perustettu 1997 Laadukkaat ohjelmistotoimitukset
LisätiedotKontrollipolkujen määrä
Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
LisätiedotSiirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!
Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013! Sisältö! 1. Tilanne nyt: waterscrumming! 2. Kokonaisvaltainen ketteryys mitä sillä haetaan, mitä sillä saadaan?! 3. Ketterän
LisätiedotProsessien hallinta. Lean-näkökulma laboratorion prosessien kehittämiseen ja hallintaan
Prosessien hallinta Lean-näkökulma laboratorion prosessien kehittämiseen ja hallintaan Tommi Jokiniemi Kehittämispäällikkö Viitekehykset Luennoitsija: Biofysiikan ja lääketieteellisen tekniikan DI 15v
LisätiedotOppiScrum opintojen läpäisyasteen ja oppimisen omistajuuden edistäjänä
Jengi duunaa ihan tosissaan! OppiScrum opintojen läpäisyasteen ja oppimisen omistajuuden edistäjänä Otto Burman Virpi Peuralinna Pirkka Ruishalme Linda Salminen Oppimisen ja opettamisen haasteet Oppimisen
Lisätiedot815338A Ohjelmointikielten periaatteet
815338A Ohjelmointikielten periaatteet 2015-2016 VIII Poikkeusten ja tapahtumien käsittely Sisältö 1. Poikkeusten käsittelyn käsitteitä ja suunnittelukriteerejä 2. Poikkeusten käsittely C++:ssa 3. Poikkeusten
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotSuomalainen. työelämätietous. Pikku-koto kurssi
Suomalainen työelämätietous Pikku-koto kurssi Työelämätietoutta - Suomalaisia pidetään ahkerasti työtä tekevänä kansana. - Erityisen haluttuja työntekijöitä tulee Pohjanmaalta. - Nykyisin Suomessa on paljon
LisätiedotADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3
Tuotekonfigurointi ADE Oy lyhyesti Asiakkaiden tarpeisiin suunnattua innovatiivista ja toimivaa ohjelmisto- ja 3d animaatiopalvelua. Ade Oy on toteuttanut vuodesta 2000 alkaen haastavaa interaktiivista
LisätiedotJohdatus ohjelmistotuotantoon
Johdatus ohjelmistotuotantoon Luento nro 3, 9.9.2013 Kari Systä (materiaali osin Ilkka Haikalalta ja Marko Leppäseltä) 9.9.2013 JOTU/K.Systä 1 Tiedotettavaa Viikkoharjoitusryhmiä on vähennetty yhdellä
LisätiedotOhjelmistoprojekteista. Datanomiopiskelijat 2.vuosi
Ohjelmistoprojekteista Datanomiopiskelijat 2.vuosi Yleistä projekteista Projekti on selkeästi asetettuihin tavoitteisiin pyrkivä, ajallisesti rajattu kertaluonteinen hanke, jonka toteuttamisesta vastaa
LisätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
LisätiedotKetterä projektinhallinta
Ketterä projektinhallinta Petri Heiramo Agile Coach, CST 1 Petri Heiramo Ikä: 37 (vielä pari päivää ) Oma koulutus- ja valmennusyritys, Agilecraft Oy, reilut 3 viikkoa Lähes 10v ohjelmistokehitys- ja -prosessitausta
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
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ätiedotSisällys. 15. Lohkot. Lohkot. Lohkot
Sisällys 15. Lohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.1 15.2 Lohkot Aaltosulkeet
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
Lisätiedot12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
Lisätiedot13. Hyvä ohjelmointitapa (osa 1) 13.1
13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3
15. Lohkot 15.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.2 Lohkot Aaltosulkeet
LisätiedotKooste kotitehtävien vastauksista. Kotitehtävä 6 - Ylläpito- ja kehittämismalli 29.4.2011
Kooste kotitehtävien vastauksista Kotitehtävä 6 - Ylläpito- ja kehittämismalli 29.4.2011 1.) Järjestelmän ylläpitomalli? ja 2.) Järjestelmän jatkokehittämismalli? OPH on omistaja ja ylläpitäjä ja huolehtii
LisätiedotVisma Fivaldi rajapinnat Visma Payroll aineistojen tuonti Fivaldiin Pyroll maksuaineiston ja kirjanpitoaineiston tuonti Fivaldi - sovelluspalveluun
Visma Fivaldi rajapinnat Visma Payroll aineistojen tuonti Fivaldiin Pyroll maksuaineiston ja kirjanpitoaineiston tuonti Fivaldi - sovelluspalveluun 2 Sisällys 1 Yleistä... 3 2 Käyttöönottoon liittyvät
LisätiedotOhjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)
581361 Ohjelmistoprosessit ja ohjelmistojen laatu (4op) Ohjelmistojärjestelmien syventävien opintojen kurssi Myös ohjelmistotekniikan profiilin pakollinen kurssi eli ohjelmistotekniikka-aiheisen gradun
Lisätiedotkäyttötapaukset mod. testaus
käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)
LisätiedotTutkittua tietoa. Tutkittua tietoa 1
Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.
LisätiedotOnnistunut 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
LisätiedotKäsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.
2 Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta. Sisällys 1 Yleistä... 3 2 Käyttöönottoon liittyvät perus- ja ohjaustiedot...
LisätiedotKetteryys kokeilemalla. Leo Malila Kehittämispäällikkö, Kela
Ketteryys kokeilemalla Leo Malila Kehittämispäällikkö, Kela 1.11.2016 Agenda Kelan ICT Ketteryys tavoitteena Teetetyn tutkimuksen ja sen kohteen esittely Havaintoja tutkimuksen perusteella Kelan ketteryys
LisätiedotOhjelmointitekniikka 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
LisätiedotNäin tarkistat palkkalaskelmasi. Esimerkkejä eri palkan eristä
Näin tarkistat palkkalaskelmasi Esimerkkejä eri palkan eristä Kuukausipalkka ja lisät Työaikaan liittyvät lisät maksetaan toteutuneen työvuorolistan mukaisena. Sunnuntailisänä maksetaan yksinkertainen
LisätiedotAsiakkaita vuoden jokaiselle päivälle - sparraus
Asiakkaita vuoden jokaiselle päivälle - sparraus REalitycheck 7 huonoa syytä ja kolme 3 hyvää syytä olla lähtemättä asiakkaakseni. 7 huonoa syytä 1. ei ole varaa Eikä muuten tule välttämättä koskaan olemaankaan.
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ätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotOhjelmistoprojektien hallinta Vaihejakomallit
Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli
LisätiedotTyön ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework
Työn ositusmalleista Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Walker Royce, Software Project Management, A Unified Framework 1 Tavoitteista Luentojen jälkeen opiskelijan tulisi osata:
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotSopiiko ketterät mallit joka paikkaa? K I M M O K E R Ä N E N
Sopiiko ketterät mallit joka paikkaa? K I M M O K E R Ä N E N Sisällys Esittely Scrum ytimekkäästi Historiaa: Scrum Pilotit Mitä opimme piloteistamme Miten sopeuduimme Scrum kemian tuotantoon Case: HR
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotTyöelämän ABC. Tämä esitys on tarkoitettu yli 18-vuotiaille määräaikaisia tai toistaiseksi voimassa olevia työsopimuksia solmiville.
Työelämän ABC Tämä esitys on tarkoitettu yli 18-vuotiaille määräaikaisia tai toistaiseksi voimassa olevia työsopimuksia solmiville. Muista työsuhteen alkaessa! Pyydä työsopimuksesi kirjallisena. Työsopimuksessa
Lisätiedot4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T
SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen
Lisätiedot1. Mitä tehdään ensiksi?
1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla
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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
Lisätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotOhjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.
Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä
LisätiedotPoikkeustenkäsittely
1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on
LisätiedotTietorakenteet, laskuharjoitus 7,
Tietorakenteet, laskuharjoitus 7, 14.-19.3. 1. "Tira meets software engineering, osa 1" Lue luentomonisteen kalvot 233-236. Toteuta luokka Opiskelijarekisteri joka tarjoaa seuraavat palvelut: opiskelijoiden
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotHarjoitustyön testaus. Juha Taina
Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida
LisätiedotCopyright 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
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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
LisätiedotOnnistunut SAP-projekti laadunvarmistuksen keinoin
Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.
LisätiedotToiminnallisen määrittelyn tarina. Esimerkki Reaktorin tavasta tehdä toiminnallista määrittelyä.
Toiminnallisen määrittelyn tarina Esimerkki Reaktorin tavasta tehdä toiminnallista määrittelyä. Toimitusjohtajan pulma Tässä on toimitusjohtaja Roope, jonka tavoitteena on pyörittää Rengasmaster Oy:tä
LisätiedotOhjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2
Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2 Viikon 2 laskareita ei pidetä mikrosaleissa, käytössä ovat opetusohjelmaan merkatut salit. Tämän viikon tehtävistä 1-6 tehdään etukäteen kotona.
Lisätiedot