Ohjelmistotuotanto, s /27/2003

Samankaltaiset tiedostot
Ohjelmistotuotanto, syksy laatu Ohjelmiston laatu

ITK130 Ohjelmistojen luonne

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Sytyke ry:n laivaseminaari Software Technology Transfer Pekka Forselius

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

Menetelmäraportti Ohjelmakoodin tarkastaminen

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

Software engineering

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE

Ohjelmistojen testaus

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Ohjelmistotuotanto s

Käytettävyyslaatumallin rakentaminen verkkosivustolle

SYSTEEMITYÖ. Tärkeitä sanoja

Yhteenveto. Menettelytavat

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Johdantoluento. Ohjelmien ylläpito

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Laadunvarmistustekniikat

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

Tietojärjestelmän osat

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Kontrollipolkujen määrä

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS

Tutkittua tietoa. Tutkittua tietoa 1

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

Laatu ohjelmistotyössä

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

Ohjelmistotuotanto, laadunvalvonta Syksy Laadunvalvonta. Mitä laatu on? Laadun komponentit. Laatuvaatimukset.

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

8. Laadunvalvonta. Mitä laatu on?

Projektityö

Yhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos

TOIMINNALLINEN MÄÄRITTELY MS

Projektin suunnittelu


Ylläpito. Ylläpidon lajeja

Suunnitteluvaihe prosessissa

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Yhteenvetodokumentti. myva. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Laadunvarmistustekniikoita. Ohjelmistotuotanto. Testaus termejä. Testaus periaatteita. Testaus havaintoja. Testaus havaintoja

EFQM kansalaisopiston kehittämisessä

Laadukkaiden ja luotettavien ohjelmistojen vaatimukset ja miten ne täytetään?

Ohjelmistojen vaatimusmäärittely Helsingin yliopisto, TKTL, s2013. Harri Laine 1. Vaatimusmäärittely. Vaatimusmäärittely. Vaatimusmäärittely

Projektin laadun ohjaus ja varmistus

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Projektinhallinta: kustannusarvio

Laadun kehittämisestä businesshyötyjä

Ohjelmiston testaus ja laatu. Testaus käytettävyys

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

ISO/IEC sarja (SQUARE)

Ohjelmistojen suunnittelu

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

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Ohjelmiston testaus ja laatu. Laatu

KOKONAISARKKITEHTUURIN ARVIOINTI

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Ketterä vaatimustenhallinta

LAADUNHALLINTA. Prof. Jouko Kankainen JoKa-konsultit Oy

ISO standardi. Standardisarjan standardeja

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan

@Tampereen Testauspäivät ( )

Laatukäsikirja - mikä se on ja miten sellainen laaditaan?

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Staattinen testaus. Luento 5 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Vaatimusmäärittely Good Minton Sulkapalloliiton kilpailutoiminnan rekisteriohjelma

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen. Antti-Pekka Tuovinen (Jukka Paakki et al.

2. Ohjelmistotuotantoprosessi

Software product lines

Yhteinen opintohallinnon järjestelmä

arviointi edellyttää historiatietoja, esim. mittareiden kalibroimiseksi

7. Verifiointi ja validointi

Uudelleenkäytön jako kahteen

Ohjelmiston testaus ja laatu. Testaustasot

T Projektikatselmus

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Miten kerätä tietoa toiminnan jatkuvaan kehittämiseen

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos


Käytettävyys verkko-opetuksessa Jussi Mantere

Opistojohtaminen muutoksessa hanke. Kansanopiston kehittämissuunnitelma. Tiivistelmä kehittämissuunnitelman laatimisen tukiaineistoista

Transkriptio:

Ohjelmistotuotanto Laatu - useita eri näkemyksiä: klassinen: kaikki tarpeet huomioiva hyvyys tuote- ja hintasidonnainen: mitä kalliimpi sitä parempi tarkoituksenmukaisuus: laadukas tuote sopii tarkoitukseensa ja täyttää käyttäjän odotukset tekninen: laadukas ohjelmisto on teknisesti hyvä ja virheetön arvopohjainen : laadukkuutta on täyttää käyttäjän tarpeet käytettävissä olevien resurssien puitteissa 1 Harri Laine, Jukka Paakki 2 Laatu - lisää näkökohtia: laatua ei voi määritellä, mutta sen tunnistaa täyttää asiakkaiden tarpeet vastaa määrityksiään tarjoaa runsaasti piirteitä parasta, mitä kyseiseen hintaan on saatavissa parempi kuin kilpailijansa Pressmanin määritelmä: ohjelmistolaadulla tarkoitetaan "yhdenmukaisuutta täsmällisesti määriteltyjen toiminnallisuus- ja suorituskykyvaatimusten, täsmällisesti dokumentoitujen kehitystyöstandardien sekä yleisesti tunnustettujen ammattimaisesti kehitettyjen ohjelmistopiirteiden kanssa" tuote prosessi Harri Laine, Jukka Paakki 3 Harri Laine, Jukka Paakki 4 teollinen kypsyys: kyky erottaa tuote sen tuotantoprosessista input tuotantoprosessi tuottaja pyrkii prosessia kehittämällä vaikuttamaan prosessin tulokseen output on kiinnostunut tuotteen laadusta Määritelty tuotantoprosessi: samaa prosessia voidaan soveltaa useamman tuotteen valmistamiseen prosessin laatua voidaan mitata prosessia on mahdollista parantaa aikaisempien kokemusten perusteella laadukas prosessi: tehokas edullinen ennustettava vakaa Harri Laine, Jukka Paakki 5 Harri Laine, Jukka Paakki 6 Harri laine 1

Prosessiajattelun kulmakivi: laadukas prosessi tuottaa laadukkaita tuotteita input tuotantoprosessi Laatusertifikaatteja prosessille, ei tuotteille output Laatutoiminnan tekijöitä Fox C., Frakes W.: The Quality Approach: Is It Delivering? Communications of the ACM 40, 6, 1997, 25-29. Prosessinäkökulma: laadukas prosessi-> laadukas tuote Tiedon kerääminen ja analysointi prosessia ja tuotteita kuvaavaa tietoa on kerättävä systemaattinen tietoon perustuva laadunarviointi Asiakaskeskeisyys viime kädessä päättää, onko tuote laadukas organisaation sisäinen ketju (total quality management TQM) Harri Laine, Jukka Paakki 7 Harri Laine, Jukka Paakki 8 Laatutoiminnan tekijöitä Laatutoiminnan tekijöitä Virheiden eliminointi virheiden löytäminen (testaus, tarkastukset, ) virheiden korjaaminen (virheenjäljitys, tuotteenhallinta) virheiden ehkäisy prosessia parantamalla (koulutus, paremmat menetelmät ja työtavat, laatumittarit, ) Laadun hallinta johdon sitoutuminen yleinen laatupolitiikka, laatujärjestelmä, laatustandardit, laatupäällikkö ja -tiimi, Harri Laine, Jukka Paakki 9 Harri Laine, Jukka Paakki 10 muutosten sietokyky sopeutuvuus uusiin toimintaympäristöihin - ylläpidettävyys - joustavuus - testattavuus - siirrettävyys - uudelleenkäytettävyys - yhteiskäyttöisyys toiminnallisuus - oikeellisuus - luotettavuus - tehokkuus - itsesuojelukyky - käytettävyys siirrettävyys (portability): ohjelmiston siirtämisessä toiseen ohjelmistoympäristöön tai käyttöjärjestelmään vaadittava työmäärä uudelleenkäytettävyys (reusability): ohjelmiston tai sen osien käyttöaste muissa järjestelmissä yhteiskäyttöisyys (interoperability): ohjelmiston toimivuusaste muiden järjestelmien kanssa ylläpidettävyys (maintainability): ohjelmiston muuttamiseen tai korjaamiseen vaadittava työmäärä Harri Laine, Jukka Paakki 11 Harri Laine, Jukka Paakki 12 Harri laine 2

joustavuus (flexibility): ohjelmiston toiminnan muuttamisaste sen suoritusaikana testattavuus (testability): ohjelmiston testaamiseen tarvittava työmäärä oikeellisuus (correctness): vaatimusten ja käyttäjän tarpeiden täyttöaste luotettavuus (reliability): ohjelmiston häiriöttömässä toimintakunnossa pysymisen aste tehokkuus (efficiency): ohjelmiston tila- ja aikavaativuus (muisti, prosessoriaika) itsesuojelukyky (integrity): ohjelmiston kyky estää sen valtuuttamaton käyttö käytettävyys (usability): ohjelmiston opetteluun ja käyttämiseen vaadittava työmäärä Mittaaminen??? Harri Laine, Jukka Paakki 13 Harri Laine, Jukka Paakki 14 Ohjelmiston laatu - tarkastelukulmia Ohjelmiston laatu - tarkastelukulmia ohjemiston laatu - täyttää asiakkaan odotukset(subj.) - toteuttaa vaatimusnsä (objektiivinen) - mukautuu ennalta tuntemattomiin tarpeisiin - sopiva hinta/laatu-suhde - valmistuu aikataulussaan - on ylläpidettävissä ja hallittavissa - taustalla hyvä tuotantoprosessi - tuottaa voittoa - on virheetön ja luotettava - on joustava ja sopii yhteen muiden järjestelmien kanssa - on helppokäyttöinen Harri Laine, Jukka Paakki 15 Harri Laine, Jukka Paakki 16 Ohjelmistojen laadunvarmistustekniikoita testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset ja katselmukset (inspections, reviews) asiantuntijoiden suorittamia dokumentin (voi olla myös koodi) läpikäyntejä tarkoituksena löytää virheitä tavoitteena löytää ongelmat mahdollisimman aikaisin ja näin säästää kustannuksia oikeaksi todistaminen (formal verification) ohjelman oikeaksi todistamista matemaattisin keinoin suhteessa sen yn Ohjelmistojen laadunvarmistustekniikoita Esim. yhden vaiheen virheen korjauksen suhteellinen hinta eri projektin vaiheissa: : perushinta suunnittelu: 3-6-kertainen koodaus: 10-kertainen testaus: 15-40-kertainen kenttätestaus (beta-testaus): 30-70-kertainen (tuote on luovutettu): 40-1000-kertainen Harri Laine, Jukka Paakki 17 Harri Laine, Jukka Paakki 18 Harri laine 3

Tarkastukset Tarkastukset ovat tehokas tapa parantaa laatua kun yksikkötestaus löytää n. 15-50% ja järjestelmätestaus 25-55% virheistä, löytyy määrämuotoisessa suunnitelman tarkastuksessa 45-65% ja määrämuotoisessa koodin tarkastuksessa 45-70% virheistä C.Jones: Software Defect Removal, (IEEE) Computer, April, 1996, pp 94-95 Määrämuotoinen katselmus Formal technical review Määrämuotoinen katselmus on yksi tarkistusmuoto. Siinä tarkistusryhmä arvioi projektin jonkin työvaiheen tulosta (dokumenttia) ja yrittää löytää siitä puutteita ja virheitä. Tarkistusryhmän tapaamiset suunnitellaan huolellisesti etukäteen. Yhdellä kertaa paikalla on 3-5 henkilöä. Tapaamisen kestoaika on alle kaksi tuntia. Jokainen tarkistusryhmän jäsen tutustuu huolellisesti dokumenttiin ennen yhteistä kokousta ja tuottaa siitä henkilökohtaisen virhelistan. Tämä on tarkastusten / katselmusten tärkein vaihe. Harri Laine, Jukka Paakki 19 Harri Laine, Jukka Paakki 20 Määrämuotoinen katselmus Yhdessä tapaamisessa keskitytään yhteen osaratkaisuun ja yritetään löytää siitä puutteita. Mitä pienempää osaa käsitellään sitä todennäköisemmin ryhmä saa siitä riittävän yksityiskohtaisen kuvan. katselmus: jonkin komponentin tai suunnitelma, käyttöliittymä tai sen osa, ohjelmakoodin osa, jne. tarkastus: vaihedokumentti (vaatimus, arkkitehtuurisuunnitelma, testaussuunnitelma tms.) Tarkistettavan osan tekijä osallistuu katselmukseen. Tarkistusryhmän johtaja käy arvioitavaa työtä kohta kohdalta läpi, jolloin ryhmän jäsenet voivat kommentoida työtä laatimiensa virhelistojen perusteella. Sihteeri kirjaa annetut kommentit. Katselmuskokouksella on oltava selvä työjärjestys. Muussa tapauksessa tuloksena on helposti kontrolloimaton keskustelu / väittely, josta ei ole iloa kenellekään. Harri Laine, Jukka Paakki 21 Määrämuotoinen katselmus Kun työ on käyty läpi, ryhmä voi joko hyväksyä sen sellaisenaan hylätä sen, jolloin kohde tulee myöhemmin uudestaan katselmoitavaksi tai hyväksyä sen muutoksilla. Tällöin työhön täytyy tehdä muutoksia, mutta muutokset eivät vaadi enää uutta kokousta. Kokouksen tuloksena saadaan yhteenvetodokumentti läpikäydyistä asioista mitä arvioitiin ketkä arvioivat mitä saatiin tulokseksi: virhelista Harri Laine, Jukka Paakki 22 Ohjeita katselmukseen Arvioidaan tuotetta, ei tekijää. Kokouksen tarkoituksena ei ole haukkua toisen työtä, vaan löytää työstä mahdollisia puutteita. Kokouksen ilmapiirin tulisi olla avoin ja ongelmakohtien raportoinnin ystävällistä. Suunnitellaan aikataulu ja pidetään siitä kiinni. Rajoitetaan väittelyä. Jos jostain asiasta ei päästä yksimielisyyteen (onko virhe vai ei), se kannattaa kirjata ylös myöhempää selvitystä varten. Käydään läpi ongelma-alueet, mutta ei yritetä ratkoa löydettyjä ongelmia. Tapaamisessa on tarkoitus löytää puutteita, ei korjata niitä. Korjaus voidaan tehdä myöhemmin, kunhan ongelma on dokumentoitu selvästi. Ohjeita katselmukseen Rajoitetaan osallistujien määrää. Iso ryhmä ei takaa parempaa onnistumista. Sopiva ryhmän koko on 3-5 henkilöä. Vaaditaan, että osallistujat ovat tehneet kotiläksynsä. Jokainen osallistuja joutuu tutustumaan käsiteltävään asiaan etukäteen. katselmus: pari tuntia tarkastus: yksi työpäivä Kehitellään eri dokumenttityypeille yleinen käsiteltävien asioiden lista (tarkistuslista), jota voidaan helposti soveltaa yksittäisissä tapaamisissa. Tällä tavalla samanlaisia asioita käsittelevien kokousten rakenne on samanlainen. Varataan katselmoinnille riittävästi aikaa ja resursseja, ml. perehtymisvaihe. Tämä työvaihe tahtoo helposti unohtua projektisuunnitelmasta, jolloin työtä tehdään ikäänkuin muiden vaiheiden ohessa. Harri Laine, Jukka Paakki 23 Harri Laine, Jukka Paakki 24 Harri laine 4

vikojen määrä liian myöhäistä ja kallista vikojen määrä suorituskyky liian myöhäistä Harri Laine, Jukka Paakki 25 Harri Laine, Jukka Paakki 26 koko, mutkikkuus (McCabe) tuottavuus liian myöhäistä, osin turhaa toimintopisteet(fp) COCOMO vajavaista epätarkkaa Harri Laine, Jukka Paakki 27 Harri Laine, Jukka Paakki 28 tarkastukset, katselmukset epätarkkoja subjektiivisia työteliäitä formaali todistaminen vaatii asiantuntemusta epäkypsää Harri Laine, Jukka Paakki 29 Harri Laine, Jukka Paakki 30 Harri laine 5

Laadun kattava arviointi Ohjelmisto - arkkitehtuuri formaali todistaminen viat arkkitehtuurin tarkastaminen ja mittaaminen laitoksen Maisa-projekti epäkypsää toimintopisteet, COCOMO arkkitehtuuri koko, mutkikkuus tarkastukset, katselmukset viat Harri Laine, Jukka Paakki 31 Harri Laine, Jukka Paakki 32 Harri laine 6