Laadunvarmistuksesta. Luennon tavoitteista. Motivointia. Sommerville, Software Engineering (6th ed.)

Samankaltaiset tiedostot
Mittaaminen projektipäällikön ja prosessinkehittäjän työkaluna

Ohjelmistotuotteen hallinnasta

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

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

OHJELMISTOJEN LAADUN JA KOON MITTAAMINEN

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

OHJELMISTOJEN LAADUN JA KOON MITTAAMINEN

Mittaamisen maailmasta muutamia asioita. Heli Valkeinen, erikoistutkija, TtT TOIMIA-verkoston koordinaattori

Työkalujen merkitys mittaamisessa

Arviointi ja mittaaminen

ITK130 Ohjelmistojen luonne

MIKKO-projekti ja mittausten automatisointi

Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena

Menetelmäraportti - Konfiguraationhallinta

A4.1 Projektityö, 5 ov.

Käytettävyyslaatumallin rakentaminen verkkosivustolle

KOKONAISARKKITEHTUURIN ARVIOINTI

Automatisoinnilla tehokkuutta mittaamiseen

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

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky

Johdantoluento. Ohjelmien ylläpito

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

8. Laadunvalvonta. Mitä laatu on?

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

Software engineering

Avoimen ja yhteisen rajapinnan hallintamalli

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

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

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

Erikoissairaanhoidon toimintalukujen, tulosten ja laadun mittaaminen. Hallintoylilääkäri (evp.) Erkki Kujansuu, PSHP

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

TIETOJENKÄSITTELYTIETEIDEN LAITOS

Taulukot. Jukka Harju, Jukka Juslin

Uudelleenkäytön jako kahteen

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Algoritmit 1. Luento 3 Ti Timo Männikkö

Mobiilit ratkaisut yrityksesi seurannan ja mittaamisen tarpeisiin. Jos et voi mitata, et voi johtaa!

2. päivä. Etätehtävien purku Poikkeamat. Poikkeamat Auditoinnin raportointi Hyvän auditoijan ominaisuudet Harjoituksia

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

PS-vaiheen edistymisraportti Kuopio

Oleelliset vaikeudet OT:ssa 1/2

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

Muistutus aikatauluista

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ICT:n johtamisella tuloksia

File [Otsikko] Projektisuunnitelma. SPT2014 Selvitysprojekti projektihallinnan työkaluista

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Onnistunut SAP-projekti laadunvarmistuksen keinoin

15224 standardi johtamisen ja laadukkaan työn tukena auditoijan näkökulma YTL Merja Huikko

VÄLI- JA LOPPURAPORTOINTI

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Ylläpito. Ylläpidon lajeja

Pienin askelin snadein stepein -väline oman työn kehittämiseen arjessa

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

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

Identifiointiprosessi

T Projektikatselmus

Mikä sitten on kallista? Milloin raha on viisaasti käytetty? Miten kallis määritellään toimintopistelaskennan näkökulmasta?

Projektin suunnittelu

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

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

Software product lines

Tietorakenteet ja algoritmit - syksy

Tietojärjestelmän osat

KY TOMMI: toimintajärjestelmä energia-alalle. Energiapäivät, Tampere ( )

Tietokannan suunnittelu

Valmistuksen LAATUKÄSIKIRJA

Algoritmit 1. Luento 1 Ti Timo Männikkö

Webropol-kyselyt. Tarja Heikkilä

Ohjelmistojen suunnittelu

1. Johdanto. Ohjelmistotuotannon ongelmia

SYSTEEMITYÖ. Tärkeitä sanoja

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Periaatteet standardien SFS-EN ISO/IEC 17025:2005 ja SFS-EN ISO 15189:2007 mukaisen näytteenottotoiminnan arvioimiseksi

LAATUSUUNNITELMAMALLI

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Mittaaminen menettely (sääntö), jolla tilastoyksikköön liitetään tiettyä ominaisuutta kuvaava luku, mittaluku.

Riippumattomat arviointilaitokset

Vastuullisuusmallin tausta ja tavoitteet

Project group Tete Work-time Attendance Software

SoberIT Software Business and Engineering Institute T Testaussuunnitelma paperiprototyyppi ja Kevät 2003 HELSINKI UNIVERSITY OF TECHNOLOGY

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä

SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

9. Periytyminen Javassa 9.1

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

10 metriikkaa, joilla parannat johtamisen tasoa. Pekka Forselius, Senior Advisor, FiSMA ry Risto Nevalainen, Senior Advisor, FiSMA ry

Kuntasektorin yhteineset viitearkkitehtuurit Tiedon- ja asianhallinta Johtamisjärjestelmä

Verkkopalveluiden saavutettavuus

Automaattinen yksikkötestaus

Tuotekehitys ja yrityksen laatujärjestelmä

ESIPUHE... 3 SISÄLLYSLUETTELO JOHDANTO... 6

Transkriptio:

Laadunvarmistuksesta Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Sommerville, Software Engineering (6th ed.) 1

Tavoitteista Luentojen jälkeen opiskelijan tulisi osata: ymmärtää laadunhallintaprosessin perusteita ymmärtää standardien merkitys laadunhallinnassa ymmärtää metriikkojen käytön perusteita 2

Sisällöstä Tavoitekalvon asioita. laadunvalvonnasta ja standardeista laatusuunnitelmien tekemisestä laadun kontrolloinnista ohjelmiston mittaamisesta ja metriikoista 3

Motivointia Useimpien organisaatioiden tavoitteena on tuottaa korkean laatutason tuotteita ja palveluja. Ohjelmiston laatu ei käsitteenä ole mitenkään selvä. Standardeja käytetään useissa organisaatioissa. 4

Laadunvalvonnan vaikeudesta Määrittelyjen tulisi olla asiakkaan toiveiden mukaisia. Kuitenkin kehitysorganisaatio saattaa asettaa omia tavoitteitaan (esim. ylläpidettävyyden suhteen), joita ei aina näy määrittelyissä. Kaikkia määrittelyjä ei voida esittää yksiselitteisesti (esim. ylläpidettävyys). Määrittelyjä on vaikea kirjoittaa oikein mutkikkaalle ohjelmistolle: toiminta saattaa vastata määrittelyjä mutta ei käyttäjien toiveita. 5

Ylläpidettävyys, siirrettävyys ja tehokkuus voivat olla kriittisiä laatuominaisuuksia, joita ei aina (voida) määritellä riittävän tarkasti ja jotka kuitenkin vaikuttavat laatuun. 6

Laadunvalvonnan tehtäviä määrittää organisaation/projektin toimintoja ja standardeja tarkastaa, että kaikki noudattavat noita määrittelyjä rohkaista ammattimaista otetta ryhmissä, kaikkea laatuun liittyviä asioita ei voi mitata (eleganssi, luettavuus jne). 7

Kolme päätehtävää: Laadun varmistus. Organisaatiossa laadukkaaseen ohjelmistoihin johtavien toimintojen ja standardien kehyksen perustaminen. Laadun suunnittelu. Sopivien toimintojen ja standardien valinta kehyksestä kullekin projektille. Laadun seuranta ja kontrollointi. Niiden prosessien määrittely ja käyttö, joiden avulla varmistutaan, että valittuja laatutoimintoja ja -standardeja noudatetaan. 8

Riippumattomuus kehitysprosessista Laadunhallinta on ohjelmiston kehitysprosessiin nähden riippumatonta tarkastustoimintaa! Tarkoitus saada prosesseista riippumaton, objektiivinen kuva. Laadunhallintaryhmän tulisi raportoida ongelmista ja vaikeuksista johdolle (yli projektipäällikkötason). tulisi olla erillinen organisaation projektiryhmiin nähden. 9

Standardeista ISO 9000. Kansainvälinen standardi, soveltuu monelle teollisuuden alalle. ISO 9001 on laajin ISO 9000 -standardeista organisaatioille, joissa on tuotteiden suunnittelua, kehitystä ja ylläpitoa. ISO 9000-3 sisältää tulkinnan ohjelmistotuotannolle. 10

ISO 9001. On geneerinen laatuprosessien malli. Organisaation laatuprosessit tulisi olla määriteltyinä ja dokumentoituna asianmukaisesti organisaation laatukäsikirjassa. On erilaisia laatusysteemejä, joita voi soveltaa erilaisiin hallinnollisiin vastuihin. Standardeja on muitakin: IEEE, ANSI, NATO, BSI, US DoD, kansainvälisiä ja kansallisia 11

Laadunvarmistuksesta ja laatustandardeista Tarjotaan kehys, jonka puitteissa tavoitellaan laatua. Tuotestandardeja. Sisältää asiaa mm. dokumenteista ja koodin dokumentoinnista. Prosessistandardeja. Noudatettavien prosessien kuvaukset. Standardit ovat tärkeitä: Kertovat hyvistä ja toimivaksi havaituista käytännöistä. Antavat kehyksen, jonka ympärille laadunvarmistusprosessi rakentuu. Varmistavat jatkuvuutta: henkilöriskit pienempiä. 12

Tuotestandardeja Suunnitelmien katselmointilomake Vaatimusmäärittelydokumentin rakenne Ohjelmointikielen tyyliopas Projektisuunnitelman formaatti Muutospyyntölomake... 13

Prosessistandardeja Suunnitelmien katselmointien pitäminen. Dokumenttien lähettäminen tuotehallintaan (versionhallintajärjestelmään). Version julkistamisprosessi. Projektisuunnitelman hyväksymisprosessi. Muutosten hallintaprosessi.... 14

Byrokraattisia, turhaa työtä? Ohjelmistosuunnittelijoiden tulisi osallistua myös standardien kehittämiseen. Motivaatiot standardien käytölle tulevat paremmin tällöin näkyville. Standardien tulisi myös perustella, miksi niitä käytetään. Katselmoi ja muokkaa standardeja vastaamaan muuttuvia teknologioita ja työskentelyolosuhteita. Työkaluja tukemaan standardien käsittelyä, jotta rutiinien kuormaa saisi pienennettyä. Harkinnan käytön sallimista suositellaan: järjettömia ohjeistuksia ei kannata noudattaa poisjättämisiä tulee kuitenkin harkita tarkkaan. 15

Dokumentointistandardit Dokumentointiprosessistandardit. Kuinka dokumentteja tuotetaan? Dokumenttistandardit. Esimerkkejä: Dokumenttien identifiointistandardi Dokumenttien rakennestandardi Dokumenttien esitysstandardi Dokumenttien päivitysstandardi. Dokumenttien vaihto(välitys)standardit. Esim. että dokumenttien elektroniset versiot yhteensopivia. 16

Prosessin laatu Prosessin laatu vaikuttaa ohjelmiston laatuun. Prosessin laadunhallinta sisältää: Prosessistandardien määrittelyn. Esim. kuinka ja milloin katselmoinnit pidetään. Kehittämisprosessin tarkkailun sen varmistamiseksi, että standardeja noudatetaan. Ohjelmistoprosessin raportoinnista projektipäällikölle ja ohjelmiston ostajalle. Prosessipohjaisessa laadunvalvonta ei aina toimi, esim. standardi voi vaatia tiettyjä toimia, kun tarvittaisiin prototyyppejä. Tällöin johdon pitäisi varmistaa, että laatuprosessit tukevat ennemmin kuin haittaavat tuotekehitystä. 17

Laatusuunnitelmat Johdatus tuotteeseen Tuotesuunnitelmat Prosessien kuvaukset Laatutavoitteet Riskit ja riskien hallinta 18

Laadun kontrollointi Tarkastetaan tuotoksia määriteltyjä laatustandardeja vasten. Laatukatselmoinnit. Joukko ihmisiä katselmoi tuotoksia. Tarkistetaan, että standardeja noudatetaan ja että dokumentit noudattavat standardeja. Poikkeamista tiedotetaan. (Näistä omat kalvot.) Automaattiset ohjelmiston arvioimiset. (Ks. mittaamisesta ja metriikoista seuraavilla kalvoilla.) 19

Ohjelmiston mittaaminen ja metriikat Haetaan numeerinen arvo jollekin ohjelmistotuotteen tai -prosessin ominaisuudelle. motivointia mittausprosessi tuotemetriikat mittausten analysointi 20

Motivointia Johto voi käyttää: eri osastojen tai ryhmien laadukkuuden (tehokkuuden ym) vertailuun. tuotteiden ja prosessien vertailuun. osana prosessien parannustoimenpiteitä. Hyötyjä ei aina tunneta ja jotkut pitävät (tätäkin toimintaa) akateemisena puuhasteluna. 21

Esimerkkejä Tuotteen koko koodiriveinä. Kirjoitetun tekstiosuuden luettavuus (Fog indeksi). Toimitetun tuotteen virheiden ja bugien määrä. Komponentin kehitykseen tarvittu henkilötyömäärä. 22

Tyyppejä Metriikat voivat olla: Kontrollimetriikoita (prosessi-) korjauksien vaatima km. työmäärä Ennustemetriikoita (liittyvät yleensä tuotteeseen) Syklomaattinen kompleksisuus Muuttujien km. pituus koodissa Objektien sisältämien muuttujien ja metodien km. lukumäärät 23

Tiettyjä ominaisuuksia voi mitata suoraan. Ylläpidettävyys, kompleksisuus, ymmärrettävyys riippuvat monesta tekijästä ja niitä ei voi mitata suoraan (ovat ulkoisia ominaisuuksia). Noille johdetaan arvot muita, helpommin mitattavia tekijöitä ja ominaisuuksia käyttäen (näitä kutsutaan sisäisiksi ominaisuuksiksi). Yksi ulkoinen ominaisuus voi riippua useasta sisäisestä ominaisuudesta. Riippuvuussuhteiden kunnollinen selvittäminen vaatii jatkuvaa mallikehitystä, historiadatan jatkuvaa keruuta, tilastomenetelmien hyvää osaamista. 24

Mittausprosessi Valitse mittaustavat. Mihin halutaan vastauksia? GQM (Goal-Question-Metric) paradigma. Valitse arvioitavat komponentit. Kaikkia systeemin komponentteja ei ehkä tarvitse tai kannata mitata (arvioida). Kriittiset ja edustusjoukko. Mittaa komponenttien ominaisuudet. (Automaattisesti kerätään dataa.) 25

Havannoi poikkeavat arvot. Verrataan komponentteja toisiinsa. Verrataan vanhoihin arvoihin. Analysoi poikkeavat komponentit. Tarkoittaako poikkeava arvo heikentynyttä laatua? Kerättyä dataa tulee säilyttää. Dataa tulisi kerätä myös projekteista, joissa sitä ei hyödynnetä suoraan. 26

GQM Tavoitteet. Mitä halutaan saada aikaan? Organisaation tavoitteet? Kysymykset. Kuinka saadaan aikaan...? Tavoitteiden hienonnuksia. Yleensä tavoitteeseen liittyy kysymyksiä. Metriikat. Näiden avulla vastataan kysymyksiin. Kertovat, onko tavoitteisiin päästy. Tämän lähestyminen erottaa organisaatioon liittyvät (tavoitteet) asiat prosesseihin liittyvistä (kysymykset). 27

Tuotemetriikat Liittyvät suoraan ohjelmiin. Helposti mitattavilla ominaisuuksilla epäsuorat yhteydet laatuominaisuuksiin. Dynaamiset mitat, joita kerätään ohjelman toiminnasta. tehokkuus luotettavuus suoritusajat tietyille funktioille systeemin käynnistymisaika systeemin kaatumisten määrä tietyn ajan sisällä kohtuu suora yhteys laatuominaisuuksiin 28

Staattiset mitat, joita kerätään systeemin eri esityksistä (suunnitelmista, koodista, dokumentaatiosta). helposti (automaattisesti) kerättävissä löytyy useita Komponentin pituus ja kontrollin mutkikkuus -mittarit luotettavimpia ennustajia ymmärrettävyydelle, systeemin mutkikkuudelle ja ylläpidettävyydelle. 29

Esimerkkejä metriikoista Fan-in/Fan-out Koodin pituus Syklom. kompl. Funktiota x kutsuvien funktioiden lkm per funktion x kutsumien funktioiden lkm. Iso F-i tarkoittaa tiukkaa kytkentää muuhun rakenteeseen ja iso F-o mutkikasta kontrollilogiikkaa. Pituuden kasvaessa mutkikkuus ja virhealttius kasvaa. Ohjelman kontrollikompleksisuus. 30

Muuttujien km. pituus Ehtolauseiden sisäkkäisyys Pidempien muuttujanimien toivotaan olevan kuvaavia. Usean sisäkkäisen if-lauseen toimintaa vaikea ymmärtää. Fog indeksi Km. sanojen ja lauseiden pituus dokumenteissa. Iso luku voi kieliä vaikeasti ymmärrettävästä dokumentista. 31

Esimerkkejä olisuuntautuneista metriikoista Perintäpuiden korkeus Metodien Fanin / Fan-out Luokan pain. metodien lkm. Ylilataamisen määrä Korkeus tarkoittaa usein mutkikkuutta. Ed. kalvon lisäksi luokan sisäiset ja ulkopuoliset. Yks.kert. metodien paino yksi, muilla enemmän. Painavat luokat usein mutkikkaita. Jos iso, onko yliluokka ok kyseisille aliluokille? 32

Mittausten analysointi Kvantitatiivista dataa, jota on helppo tulkita väärin. Muutuspyyntöjen lukumäärä esimerkki: Seurataan tuota lukua ja pyritään saamaan sitä pienemmäksi. Tuloksena, että joltain osin pienenee ja joltain ei. Pitäisi kuitenkin ymmärtää, mistä syystä asiakkaat lähettävät muutospyyntöjä, jotka voivat olla merkki sekä hyvästä että huonosta laadusta. Pitää tietää, kuka teki, kuinka käyttävät ohjelmistoa, miksi tekivät, onko markkinoilla tapahtunut muutoksia. Siis, yksioikoinen johtopäätösten tekeminen vaarallista, tulkintaan liittyy epävarmuustekijöitä. 33