58304116 Empiirinen ohjelmistotutkimus - Kevät 2004
Viimeksi päivitetty: 2.1.2004 (Hyvää uutta vuotta kaikki)
Aika: Keskiviikkoisin 14:15 - 16:00
Paikka: A318
Pitäjä: Juha Taina
1. Ilmoitustaulu
- Tervetuloa seminaariin! Seuraa tarkasti tätä ilmoitustaulua, niin tiedät miten seminaari etenee. JT
2. Osallistujalista
Seminaariin hyväksytyt (21.1.2004):
- Airamaa, Kimmo
- Henriksson, Kim
- Hiipakka, Mikko
- Ilonen, Sami
- Kajala, Jani
- Karekallas, Justus
- Kauppinen, Raine
- Krannila, Kaisa
- Mattila, Antti
- Muuronen, Mari
- Pöyhönen, Antti
- Tevanlinna, Antti
3. Yleistä
Empiirinen ohjelmistotutkimus on ohjelmistotekniikan ala, missä empiirisin kokein pyritään selvittämään ohjelmistotekniikan lainalaisuuksia, todentamaan teorioita ja arvioimaan menetelmiä. Empiirinen ohjelmistotutkimus sopii erittäin hyvin ohjelmistotekniikkaan, sillä se kaventaa kuilua tietojenkäsittelytieteen (eli tieteen) ja ohjelmistotekniikan (eli tekniikan) välillä.
Tässä seminaasissa on tarkoitus tutustua empiiriseen ohjelmistotutkimukseen. Sopivia seminaarin aihealueita ovat esimerkiksi seuraavat.:
- Empiirisen ohjelmistotutkimuksen perusteet
- Historialliset katsaukset ohjelmistotekniikkaan: ohjelmistotekniikka ennen, nyt ja tulevaisuudessa.
- Onko ohjelmistotekniikka tiedettä?
- Ohjelmistotutkimuksen mittarit
- "Best-practices" - hyväksi havaitut menetelmät ohjelmistotekniikan osa-alueilta
- Sopivat case-tyyppiset tutkimukset
- Empiirisen ohjelmistotutkimuksen tilastolliset menetelmät
- Ohjelmistoyhtälöt ja niiden perusteet (ohjelmistoyhtälö = kaava, jonka avulla arvioidaan tehtävän ohjelmiston vaatimia resursseja tunnettujen parametrien, kuten ohjelmiston koon, avulla)
- Empiirisen ohjelmistotutkimuksen prosessimallit
- Testien tulosten analyysi ja tulkinta
- Empiirisen ohjelmistotutkimuksen psykologia
- Empiirisen ohjelmistotutkimuksen etiikka
- mittaaminen häiritsee prosessia
- mittaamiseen suhtaudutaan epäluuloisesti (mihin näitä käytetään)
- jokainen projekti on omanlaisensa, eli mitkään tekijät eivät ole "vakioita"
- mitä arkkitehtuureista voidaan mitata
- mihin mittaustuloksia voidaan käyttää
- mitä voidaan automatisoida ja miten
- mitä asioita voidaan/täytyy selvittää kyselemällä/haastattelemalla
- sanallisten tulosten käsittely ja analysointi
- rasti ruutuun -tulosten käsittely ja analysointi
- kohdeohjelmiston vaikutus ja sen eliminointi
- kohdehenkilöiden vaikutus ja sen eliminointi
- käyttökokemuksen vaikutus ja sen eliminointi
- kokeen tavoitteenasettelu
- koeympäristön valinta
- kokeen laajuus
- tutkimusympäristössä saatujen tulosten sovellettavuus
- ohjelmistoyrityksessä tehtävät kokeet
Myös muita käytännöllisiä ohjelmistotekniikan aiheita ja aihealueita voidaan esitellä seminaarissa.
3.1. Hyväksytty suoritus
Hyväksyttyyn suoritukseen tarvitaan:
- Riittävästi läsnäoloja (vähintään 11/15 kertaa paikalla)
- Ajoissa valmistunut kirjallinen esitelmä aiheesta
- Omalla esitelmävuorolla pidetty suullinen esitelmä
3.2. Läsnäolo
Läsnäolo tarkoittaa
- Paikalla olemista
- Osallistumista esitelmästä käytävään keskusteluun
Tässä seminaarissa ei käytetä opponentteja, joten aiheesta keskustelu ja kysymysten esittäminen kuuluvat kaikille läsnäolijoille.
3.3. Kirjallinen esitelmä
Esitelmä palautetaan antamalla seminaarin pitäjälle linkki www-sivulle, josta esitelmä löytyy joko PostScript- tai pdf-muodossa.
Esitelmän tulee olla valmiina viimeistään viikoa ennen suullista esitystä. Testaa esitelmäsi avautumien TKTL:n koneilla ennen linkin antoa.
- Esitelmän pituus: 10-15 sivua
- Esitelmän lähteet: 7 - 15 lähdettä
- Esitelmän tyyli: kuten tieteellisen kirjoittamisen kurssin tutkielmassa
3.4. Suullinen esitelmä
- Esitelmän pituus: noin tunti
- Esitelmän materiaali: ennalta tehdyt kalvot tai PowerPoint-esitys
- Jos haluat käyttää siirrettävää videotykkiä, tee varaus TKTL:n atk-ylläpidon kautta edellisellä viikolla
- Muista ottaa katsekontakti kuuntelijoihin ja antaa tilaa kysymyksille
4. Esitietovaatimukset
Seminaari sopii erityisesti ohjelmistotekniikan suuntautumisvaihtoehtojen opiskelijoille. Muitakaan ei toki käännytetä pois.
Jokaisella seminaariin osallistujalla tulee olla suoritettuna Tieteellisen kirjoittamisen kurssi ja pakolliset Cumun kurssit.
Ohjelmistotekniikan laudaturkurssit, erityisesti Ohjelmistoprosessit ja ohjelmistojen laatu -kurssi, saattavat antaa riittävää kypsyyttä aiheiden käsittelyyn. Tilastotieteen opinnoista on etua, mutta ne eivät ole pakollisia.
5. Kokoontumiset
Seminaari kokoontuu keskiviikkoisin 21.1.2004 - 5.5.2004 14:15-16:00 salissa A318. Keskiviikkona 14.4.2004 ei ole seminaaria pääsiäisloman johdosta.
Aikataulu ja esitykset
- 21.1.2004 Juha Taina, seminaarin aloitus ja empiirisen ohjelmistotutkimuksen alustus.
- 28.1.2004 EI ESITYSTÄ!
- 4.2.2004 Jani Kajala, Best practices - Development Fundamentals ( Kalvokopiot)
- 11.2.2004 Kaisa Krannila, Onko ohjelmistotekniikka tiedettä?
- 18.2.2004 Kimmo Airamaa, Testauksen mittarit
- 25.2.2004 Raine Kauppinen, Ohjelmistotuotannon kansallisia erityispiirteitä 80-luvulta nykypäivään
- 3.3.2004 Mikko Hiipakka, Laadunvarmistus ohjelmistotuotantoprojektissa
- 10.3.2004 Antti Mattila,
Haastattelututkimuksen menetelmistä ohjelmistoyrityksiä tutkittaessa
(Kirjoittajan teknisten ongelmien johdosta kirjallinen dokumentti on rtf- ja html-muodoissa.) - 17.3.2004 Mari Muuronen, Tilastolliset menetelmät empiirisessä ohjelmistotutkimuksessa
- 24.3.2004 Paneelikeskustelun yhteenveto
- 31.3.2004 Justus Karekallas, Tilariippuvan testauksen empiirisiä tutkimuksia
- 7.4.2004 Sami Ilonen, Empiirisen ohjelmistotutkimuksen menetelmien arviointi
- 14.4.2004 PÄÄSIÄISLOMA, EI ESITYSTÄ!
- 21.4.2004 Antti Pöyhönen, Oliopohjaisten CK-suunnittelumittareiden ja ohjelmistovikojen yhteys
- 28.4.2004 Antti Tevanlinna, Implementing static and dynamic analysis
- 5.5.2004 Kim Henriksson, Ohjelmistoyhtälöt ja niiden perusteet
6. Lähdemateriaali
Ohjelmistotekniikan kannalta mielenkiintoisia lehtiä ovat ainakin seuraavat:
- ACM transactions on software engineering and methodology
- Computer / IEEE
- IEE Proceedings. Software
- IEEE Software
- IEEE Transactions on Software Engineering
- Journal of systems and software
- Software engineering notes
- Software process: improvement and practice
- Software testing, verification & reliability
- Software: practice & experience
Ohjelmistotekniikan kannalta mielenkiintoisia konferensseja on paljon. Alan ehdoton ykkönen on International Conference on Software Engineering (ICSE). ICSEn proceedingsit löytyvät mm. kirjastostamme.
IEEE:n ja ACM:n elektroniset kirjastot löytyvät osoitteesta http://www.lib.helsinki.fi/finelib/lisens.html. Osoitteen kautta aukeaa sivu, missä ovat linkit IEEE/IEE - IEL online ja ACM - Association of Computing Machinery. Näitä linkkejä seuraamalla pääsette itse elektronisiin kirjastoihin. Kirjastot ovat käytettävissä ainakin tietojenkäsittelytieteen laitoksen koneilta.
Laitoksen kirjastojärjestelmä löytyy osoitteesta http://www.cs.helsinki.fi/kirjasto/. Järjestelmän avulla on helpointa löytää kirjastomme kirjoja, teknisiä raportteja ja kirjastoon tulevien lehtien nimiä.
Empiirisen ohjelmistotutkimuksen menetelmistä kertoo parhaiten kirja Claes Wohlin et al. Experimentation in Software Engineering - An Introduction. Kluwer Academic Publishers, 2000. ISBN 0-7923-8682-5. Kirjaa saa kysyä allekirjoittaneelta.
Juha Taina (Juha.Taina@cs.Helsinki.FI)