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

Samankaltaiset tiedostot
Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Internet ja tietoverkot

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Matematiikan opintosuunta

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Ohjelmistoarkkitehtuurit. Kevät

Tilastollinen päättely II (MAT22003), kevät 2019

Kurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos

KVANTITATIIVISET TUTKIMUSMENETELMÄT MAANTIETEESSÄ


Ohjelmistotekniikan menetelmät, kevät 2008

TN-IIa (MAT22001), syksy 2017

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6op

Ohjelmistojen mallintaminen, kesä 2009

A4.1 Projektityö, 5 ov.

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

PLA Mobiiliohjelmointi. Mika Saari

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

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

Ohjelmistotekniikan menetelmät, kesä 2008

PLA Mobiiliohjelmointi. Mika Saari

Tapahtuipa Testaajalle...

Ohjelmistojen mallintaminen, kesä 2010

58160 Ohjelmoinnin harjoitustyö

Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?

Projektien suunnittelu ja ohjaus TU-C3010

LUENTO 0. Tervetuloa! Käyttöjärjestelmät II 2 ov Teemu Kerola. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Ohjelmistoarkkitehtuurit. Syksy 2008

TN-IIa (MAT22001), syksy 2018

Tietokoneen toiminta (Computer Organization I)

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Tietokoneen toiminta (Computer Organization I)

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

Fysiikan opinnot Avoimen yliopiston opiskelijoille

Harjoitustyöinfo kevät TU-A1100 Tuotantotalous 1

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Tilastollinen päättely II (MAT22003), kevät 2018

Radiologisen fysiikan ja säteilysuojelun kurssi radiologiaan erikoistuville lääkäreille Ohjelma

Tietokoneen toiminta (Computer Organization I)

Korkealämpötilakemia

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (TIEA2.1)

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Tähtitieteen käytännön menetelmiä Kevät 2009

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Aikuislinjan lukuvuosikalenteri

Kurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos

Tietokoneen toiminta (Computer Organization I)


Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Tik Harjoitustyö

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

A130A0760 Ekonomin viestintätaidot

Tervetuloa! Matematiikka tutuksi

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

Radiologisen fysiikan ja säteilysuojelun kurssi radiologiaan erikoistuville lääkäreille Ohjelma KAHVITAUKO

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

MAT INVESTOINTITEORIA. (5 op) Kevät Ville Brummer / Pekka Mild / Ahti Salo

Korkealämpötilakemia

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät Olio-ohjelmoinnin perusteet (eli Oope) Laajuus

Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018

TTZC0800 TIETOKANNAT (5 OP)

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Salon lukion oppikirjat ja -materiaalit lukuvuonna

Tik Harjoitustyö

Ohjelmoinnin peruskurssi Y1

Fysiikan opinnot Avoimen yliopiston opiskelijoille

Oppikirjat ja -materiaalit lukuvuonna Salon lukio

ABI-INFO. ke , klo

Harri Eskelinen, puh , Konetekniikan koulutusohjelman johtaja Tekniikan tohtori vuonna 1999 Dosentti

Opinto-info 1/2: kurssit ja tutkinto

KASVATUSTIETEEN PERUSOPINNOT SYKSYLLÄ 2017

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

Lyhyt johdatus ketterään testaukseen

YRITYSVASTUU JA -ETIIKKA: KNOWING, DOING, BEING

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

TERVETULOA VANHEMPAINILTAAN

Ohjelmistoarkkitehtuurit. Syksy 2010

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

T Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005

Tietoturva. 0. Tietoa kurssista P 5 op. Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi / 2015

Taloustieteen opintosuunta JKK, Tampereen yliopisto

Yleistä tietoa kokeesta

JOHDATUS TEKOÄLYYN TEEMU ROOS

Markkinoitten mallintaminen ja Internet-markkinat

JOHDATUS TEKOÄLYYN TEEMU ROOS

Tik Ohjelmistoprojektien Hallinta

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

56139, Tilapioneerit projektikurssi tilapäiskäytöistä aluekehittämisessä, 5 op Kurssin tiedot ja ennakkotehtävä


Yleistä tietoa kokeesta

TU-A Itsensä tunteminen ja johtaminen Tervetuloa kurssille!

Abien vanhempainilta Tervetuloa!

DIGITAALINEN MARKKINOINTI ELINTARVIKEALALLA EKM-102

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Käytännön ohjeita tutkielmatyöskentelyyn ja valmistuminen keväällä 2019

Transkriptio:

581361 Ohjelmistoprosessit ja ohjelmistojen laatu (4op) Ohjelmistojärjestelmien syventävien opintojen kurssi Myös ohjelmistotekniikan profiilin pakollinen kurssi eli ohjelmistotekniikka-aiheisen gradun esitietovaatimus Esitietovaatimukset: Ohjelmistotuotantoprojekti ja sen esitietovaatimukset Luentoajat ja -paikat (10.3.2009 23.4.2009): Ti 10-12 CK112. To 10-12 CK112. Luennoija: Juha Taina (taina@cs.helsinki.fi) Tavattavissa huoneessa C229 (sovi aika sähköpostitse) Kotisivu (ilmoitusasiat, luennot, harjoitukset): http://www.cs.helsinki.fi/u/taina/opol/k-2009/ 1 Kurssin tavoitteet Perehdyttää osallistujat laadunvarmistuksen perusteisiin. Mitä laatu tarkoittaa? Mitä on laadunvarmistus? Mitä ovat mittaus ja mittarit? Esitellä modernin ohjelmistokehityksen mukaiset tärkeimmät prosessimallit ja niiden taustat. Minkä tyyppisiä ohjelmistoprosesseja on? Miksi ketterät prosessit ovat suosittuja? Antaa katsaus prosessin parannukseen. Miten prosessin hyvyyttä mitataan? Miksi prosessia pitää parantaa? 2 Taina 1

Kurssin suoritus Kurssimuotoisesti: harjoitustyö (max 20p) Katso kalvot 6-12. kurssikoe (max 40 p) Luennoilla ja harjoituksissa esitellyt asiat tulevat kurssikokeeseen. Erilliskokeella: Yksi koe, ei harjoitustyötä. Materiaali kuten kurssilla (ks. kurssikuvaus) Erilliskoe kesällä 2009: Ti 2.6.2009 klo 16-20 A111 Tämä on uusintakuulustelu, johon osallistujat saavat halutessaan harjoitustyön pisteet mukaan. 3 Aikataulu ja oppimateriaali Harjoitukset (16.3. 24.4.) to 14-16 B119 Juha Taina pe 10-12 B119 Juha Taina Kurssikoe kurssikoe ti 28.4. klo 9-12 Exactum A111. Käytettävät oppikirjat: Craig Larman, Agile & Iterative Development: A Manager's Guide. Pearson Education, 2004. ISBN 978-0-13-111155-4 (prosessit). Daniel Galin, Software Quality Assurance: From theory to implementation. Pearson Education, 2004. ISBN 0-201- 70945-7 (laatu ja laadunvarmistus). Larman on kurssin pääoppikirja. Luentokalvot ovat osa oppimateriaalia. 4 Taina 2

Alustava sisällysluettelo 1. Johdanto 2. Ohjelmiston laatu (Galin) 3. Ohjelmiston laadunvarmistus (Galin) 4. Mittaus ja mittarit (Galin + muita lähteitä) 5. Laatustandardit (Galin) 6. Suunnitelmakeskeiset prosessit (useita lähteitä) 7. Iteratiivinen ohjelmistokehitys (Larman) 8. Ketterä ohjelmistokehitys (Larman) 9. Scrum (Larman) 10. extreme programming (Larman) 11. Unified process (Larman) 12. Evo (Larman) 13. Ketterän ohjelmistokehityksen menetelmiä (Larman) 14. Yhteenveto 5 Harjoitustyö Harjoitustyöohje: http://www.cs.helsinki.fi/u/taina/opol/k-2009/ht Harjoitustyössä 3-4 hengen ryhmä tekee valitsemastaan sovelluksesta viisi versiota ketterällä prosessimallilla. Projekti tehdään ongelmalähtöisellä lähestymistavalla. Ryhmän jäsenet joutuvat itse ottamaan selville, miten harjoitustyö kannattaa tehdä. Harjoitustyö tehdään Java-kielellä ja sitä testataan JUnit-sovelluskehyksellä. Harjoitustyö on vapaaehtoinen mutta suositeltava. 6 Taina 3

Harjoitustyön rakenne Harjoitustyö tehdään kuudessa syklissä. Ensimmäinen sykli alkaa ensimmäisestä luennosta ja päättyy ensimmäiseen harjoituskertaan. Seuraavat syklit alkavat menevän viikon harjoituskerrasta ja päättyvät seuraavaan harjoituskertaan. Jokaisella syklillä on yksi tai useampi teema. Teemat liittyvät ketteriin ohjelmistoprosesseihin ja/tai ohjelmistojen laatuun. Kukin ryhmä esittelee syklin aikana tekemänsä sovelluksen harjoituksissa. Kaikki paikalla olevat päättävät sen jälkeen yhdessä, mitä ryhmä tekee seuraavassa syklissä. Viimeisessä syklissä on tuotteen luovutus. 7 Ryhmän järjestäytyminen Ryhmät järjestäytyvät kurssin ensimmäisellä viikolla. Kukin ryhmä ilmoittaa luennoijalle (taina@cs.helsinki.fi) ryhmän nimen, ryhmän jäsenet ja sähköpostiosoitteet ja toteutettavan sovelluksen. Ne henkilöt, jotka eivät itse löydä ryhmää, voivat ilmoittautua luennoijalle. Luennoija etsii heille ryhmän. Ryhmät käyttävät kehitystyössä Scrumprosessimallin varianttia, jossa syklin pituus on yksi viikko. Ryhmien odotetaan hankkivan itse tietoja Scrumista ja soveltavan sitä omaan projektiin. 8 Taina 4

Syklien teemat Ensimmäinen sykli Teema: Laatu ketterissä prosesseissa Miten laatu nähdään ketterissä prosesseissa? Ryhmät tekevät yhteenvedot harjoituksiin Toinen sykli Teema: Laadunvarmistussuunnitelma Miten ryhmä valvoo ja varmistaa tehtävän tuotteen laatua? Teema: Projektissa käytettävät mittarit Kukin ryhmä valitsee projektissaan käyttämänsä laadunvarmistuksen mittarit. 9 Syklien teemat 2 Kolmas sykli Teema: CMMI ja ketterät prosessit CMMI on tunnettu prosessien kypsyysmalli, mutta toimiiko se ketterien prosessien kanssa? Teema: Oman prosessin kuvaus Ryhmät kuvaavat lyhyesti, mitä ryhmän käyttämä prosessi sisältää. Neljäs sykli Teema: Ketterien prosessien skaalautuvuus Miten ketterät prosessit toimivat, kun projektissa on mukana satoja työntekijöitä? Teema: Testauslähtöinen ohjelmistokehitys Neljännen syklin tuotos tehdään testauslähtöisellä ohjelmistokehityksellä. 10 Taina 5

Syklien teemat 3 Viides syklli Teema: Riskienhallinta ketterissä prosesseissa Miten riskienhallinta sopii ketteriin prosesseihin ja miten sitä toteutetaan niissä? Teema: Laatuyhteenveto Ryhmä tekee yhteenvedon siitä, miten laadunvarmistus toteutui projektissa ja miten se näkyy ohjelmiston laadussa. Teema: Tuotteen palautus Ohjelmisto ja sen dokumentaatio palautetaan syklin lopuksi. Työstä ei tarvitse tehdä käyttöohjetta Jätetty ohjelmisto ja dokumentaatio arvostellaan pisteytyksellä 0-20. Pisteytys on henkilökohtainen. 11 Empiirinen tutkimus Harjoitustyön tekijät osallistuvat empiiriseen tutkimukseen, jossa selvitetään jatkuvan parannuksen vaikutusta projekteissa. Tutkimukseen osallistuminen on osa harjoitustyötä, mutta siihen annetut vastaukset eivät vaikuta arvosteluun. Annetut vastaukset ovat täysin anonyymeja. Tutkimuksen tekijät eivät tiedä vastaajien henkilöllisyyksiä. Kurssin arvostelijat eivät näe annettuja vastauksia. Lisätietoja tutkimuksesta antaa Yliopistontutkija Marko Salmenkivi (Marko.Salmenkivi@cs.helsinki.fi). Harjoitustyön kotisivulla on lyhyt kuvaus tutkimuksesta. 12 Taina 6