FÖRELÄSNING 8 DSV2PVT

Relevanta dokument
Kravspecifikation för hårdvaruprojekt i kursen Datorsystemteknik, HT2005. Temperaturvakt med loggningsfunktion

Föreläsning 4, Användbarhet, prototyper

Användarcentrerad systemdesign

Problemet. Beställarkompetens och kravhantering. Användbarhetsboom Internet som motor. Beställarproblemet. Användarnytta = verksamhetsnytta.

Objektorienterad programmering

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

12 principer of agile practice (rörlig)

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Användbarhet i sitt sammanhang

Introduktionsmöte Innehåll

Preliminär specifikation av projekt

Kod och kvalitet. Mjukvarukvalitet. Mjukvarukvalitet. Effektkartan. -ilities. TNM021 Programvaruutveckling

Användarcentrerad systemdesign

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Exercise 1b: Requirements evaluation

Grundläggande värderingar

Varje rätt svar ger 0.5 poäng. (max 3p)

Regressionstestning teori och praktik

AvI-index. Ett instrument för att mäta IT-systems användbarhet

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

SKOLFS. beslutade den XXX 2017.

1) Kravhantering varför? (1.5p)

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

Sahlgrenska Universitets sjukhuset. chefspolicy

Föreläsning 8, Design

Agile-metoder, XP och ACSD

SMD084 lp människa/datorinteraktion. Del II Programmeringens matematiska grunder. Del I - Lektionsplanering. Del II Lektionsplanering

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

Exercise 1b: Requirements evaluation

Bra på bygglov. En intervjustudie 3

Exercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15

Utvärdering av gränssnitt särskilt befintliga. Hur utvecklar man användbara system? Användbarhet handlar om kvalitet

Objektorienterad konstruktion

En modell för diagnostisering och utveckling av arbetet med ständiga förbättringar. Erik Allard Helena Ekblom

LEDARSKAP I KOMPLEXA ORGANISATIONER

Inkapsling (encapsulation)

Agil programutveckling

Introduktion till Programmering. Dåtid, nutid och framtid

Kartläggning av underhållsledning i processindustrier

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

KVALITET VID UPPHANDLING AV TJÄNSTER

Rätt information till rätt person vid rätt tillfälle

Totte Staxäng, Vill ni kommentera vad jag säger eller ge feedback så finns jag på Twitter. Jag svarar på mycket men läser allt J

Irland Nr 5 FÖRBÄTTRINGAR AV MJUKVARUPROCESSEN FALLSTUDIE

Kvalitet och verksamhetsutveckling

Föreläsning 1: Intro till kursen och programmering

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

UTBILDNING: ISO 9001 Grundkurs

LEDARSKAP I KOMPLEXA ORGANISATIONER

2203$ ) UHOlVQLQJ. Varför fungerar XP Några motiveringar till varje regel efter Beck. Innehåll. Planeringsspelet

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

XP-projekt: En fördjupning

men borde vi inte också testa kraven?

Objektorientering. Grunderna i OO

Hur man kvalitetssäkrar en röntgenklinik. Liselotte Joelson

Hur påvisar man värdet med säkerhetsarbetet i turbulenta tider och när budgeten är tight?

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

Lite om databasdesign och modellering

Webservice & ERP-Integration Rapport

UTBILDNING: Nya ISO 14001:2015

SIQ Framgångsinsikt Baserad på framgångsfaktorerna i SIQ Managementmodell Version 2018:1

Kursen utgör fjärde terminen på det Systemvetenskapliga kandidatprogrammet. G2F, Grundnivå, har minst 60 hp kurs/er på grundnivå som förkunskapskrav

Platina och kvalité. Rasmus Staberg, Teknisk direktör,

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Design och krav. Design Definition. enkelt Det ska vara möjligt att. Henrik Artman

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

Databaser design och programmering. Design processen ER- modellering

UTBILDNING: Nya ISO 14001:2015

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Nulägesanalys. Ok, från en punkt till huvudprocesser och stödprocesser som vi måste ha koll på. Sedan kollade vi hur vi ligger till.

Övningstenta, Examinationsfrågor

Provloggar och föreläsningar

UTBILDNING: ISO 9001 Grundkurs

Användarcentrerad systemdesign

Projektplan, Cykelgarage

Skolverkets föreskrifter om ämnesplan för ämnet mjukvarudesign inom vidareutbildning i form av ett fjärde tekniskt år;

Medvetet utförande av ledarskap

Interaktionsdesign - Prototyper. Användbarhetskrav

Datavetenskapligt program, 180 högskolepoäng

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

Distribuerade affärssystem

Föreläsning 1: Intro till kursen och programmering

EDAA01 Programmeringsteknik - fördjupningskurs

Intervjuguide- Doktorandrekrytering

Låt oss ta hand om din utveckling, medan du själv utvecklar ditt företag

Produktfamiljöversikt. LMS1000 Blixtsnabb mätning på rekordtid! 2D-LIDAR-SENSORER

Kursrapport. Se bilaga. Åtgärdsplan se bilaga. Analys. Antal registrerade studenter: 55 Antal studenter som besvarat den summativa kursvärderingen: 7

Att välja verktyg för portföljhantering. - Vad vet en leverantör om det?

Molntjänster -- vad är molnet?

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

UTBILDNING: Revision mot de nya kraven

tentaplugg.nu av studenter för studenter

Astrakan Strategisk Utbildning AB

UTBILDNING: Nya ISO 9001:2015 och Nya ISO 14001:2015

Kursen utgör fjärde terminen på det Systemvetenskapliga kandidatprogrammet. G2F, Grundnivå, har minst 60 hp kurs/er på grundnivå som förkunskapskrav

Medvetet utförande av ledarskap

Transkript:

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 1 FÖRELÄSNING 8 DSV2PVT Kvalitet i mjukvara, utvecklingsmodeller Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap (DSV) IT-Universitetet SU/KTH

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 2 Kvalitet är: Definitioner av kvalitet Kvalitet är svårt att definiera, omöjligt att mäta men lätt att känna igen B. Kitchenham, 1989. Alla sammantagna egenskaper hos ett objekt eller en företeelse som ger dess förmåga att tillfredsställa uttalade och underförstådda behov ISO Kvalitet är frånvaro av defekter Crosby 1979. the degree to which the attributes of the software enable it to perform its intended end use U.S. Department of Defense

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 3 Vad är kvalitet? Kvalitet är svårdefinierat eftersom Kvalitet kan vara olika saker för olika slags produkter Kvalitet kan vara olika saker för olika användare av samma produkt Kvalitetskraven på en produkt beror på våra förväntningar Kvalitet märks sällan när den är hög, men betydligt mer när den saknas Vi gör alltid en avvägning mot kostnaden

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 4 Förändringar i synen på kvalitet Synen på kvalitet har förändrats från att betyda att produkten uppfyller de specifikationer som den byggts efter till att betyda att produktens förmåga att uppfylla kundens behov och förväntningar från leverantörens önskesyn på kvalitet till en mer kundtillvänd syn på kvalitet

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 5 Speciellt för kvalitet i mjukvara? Mjukvaran har ingen fysisk representation Man saknar kunskap om kundens behov när utvecklingen påbörjas Kundens behov förändras med tiden Den snabba utvecklingen inom både hårdvara och mjukvara De höga förväntningarna från kunderna, speciellt med avseende på anpassningsförmåga. Mjukvaran tillverkas bara en gång

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 6 Kvalitetsegenskaper i mjukvara Korrekthet Underhållsvänlighet Tillförlitlighet Testbarhet Användarvänlighet Flyttbarhet Effektivitet Återanvändbarhet Integritet Integrerbarhet Kostnadseffektivitet

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 7 Hur mäter man kvalitet? Hur vet vi att kvalitetsegenskperna uppfyllts? Vad kan vi mäta och när kan vi mäta? Finns det kopplingar mellan interna och externa egenskaper?

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 8 Hur mäter man kvalitet? (forts.) Attribut Funktionsduglighet Tillgänglighet Anpassnings förmåga Användarvänlighet Delattribut Processkapacitet Processnabbhet Lagringskapacitet Trolig tillgänglighet Tillförlitlighet Underhållsvänlighet Integritet Förbättringar Utbyggbarhet Flyttbarhet Inkörningstid Enkelt att använda Nödvändig träning Produktivitet Kundtillfredsställelse Exempel på mätningar Transaktioner per sek. Svarstid Lagrade enh. (bytes/post) Total tid/antal fel Mean time to failure Tid att rätta tex 90% av funna fel Procentandel orörda programdelar Tid för tillägg av små förbättringar Tid för att inkludera 10% logik Nödvändiga resurser för att flytta produkten till en ny plattform Tid att nå basnivå för användningen av produkten Läsbarhetsindex Minimal träningstid Antal lösta uppgifter/timme Resultat av användarundersökning

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 9 Problem med specifikationer Specifikation med kundens behov Specifikation med utvecklingsorganisationens behov Kvalitetsegenskaper kan inte specificeras på ett otvetydigt sätt Mjukvaruspecifikationer är vanligtvis inte kompletta Kvalitet i mjukvara kan vara mer än bara att den skall sakna fel samt uppfylla sin specifikation

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 10 Vilka faktorer påverkar mjukvarans kvalitet? Teknologin som används i utvecklingen Personalens kunnande Kostnader, tidsåtgång och planering Kvaliteten hos mjukvaruprocessen

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 11 Faktorer vikt? Teknologi Process Personal

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 12 Förbättringar av processen Se till att alla i organisationen gör på samma sätt Definiera rutiner som beskriver hur arbetsuppgifter skall utföras Konstruera standarder som beskriver hur arbetets produkter skall se ut Samla mätdata och erfarenheter Identifiera styrkor och svagheter Använd sedan dessa data och erfarenheter för att bli bättre

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 13 Modeller för processförbättring Det finns ett antal olika modeller och standarder för processförbättringsarbete och kvalitetssäkring. ISO 9000 CMM och CMM-familjen ISO/IEC 15504 SPICE CMMI

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 14 ISO 9000 Fokuserar helt på produktens kvalitet, kundens förväntningar Spänner över väldigt mycket, men är inte så detaljerad Binär modell, antingen har man ISO 9000 eller så har man det inte

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 15 ISO 9000

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 16 CMM Capability Maturity Level Utvecklad av SEI, Carnegie Mellon University Används för att avgöra en organisations mognadsgrad Definierar vilka förbättringar som bör ge de största effekterna beroende på organisationens utgångspunkt En utvärdering ger ett betyg på organisationsnivå Stegvis förbättring

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 17 CMM

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 18 ISO/IEC 15504 SPICE Förslag till standard för processförbättring Utvecklad i ett internationellt samarbete Används för att avgöra förmågan hos en process eller processinstans Definierar vilka förbättringar som bör ge de största effekterna beroende på processens utgångspunkt En utvärdering ger en betygsprofil över de processer som organisationen valt att utvärdera Kontinuerlig förbättring

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 19 CMMI Den nya versionen av CMM En kombination av CMM, de andra CMM-modellerna och SPICE Både organisations- och processperspektiv Både stegvis och kontinuerlig förbättring Mycket omfattande och komplex

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 20 KOSTNAD Kostnad hittade fel kostnad n Krav insamling kostnad 10 X n Design Implemen tation Integration Operation TID

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 21 Kodgranskning Leta fel i koden, utskriven på papper. Gruppvis eller individuellt. Spciella, strukturerade metoder finns. Har använts framgångsrikt i många projekt i över 20 år. Har inte fått den spridning det kanske förtjänar Kodgranskning upplevs som mycket tråkigt.

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 22 Kontinuerlig kodgranskning Fel hittas lättare i samma sekund som man gör dem. Kodstandarder följs på ett bättre sätt om man har ett socialt tryck att följa dem. Samarbetet förbättras eftersom man lär sig att förstå varandras sätt att tänka.

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 23 Parprogramming En uppmärksammad del av XP (Extreme Programming) är parprogrammeringen, där man alltid arbetar i par framför en dator. All kod produceras på detta sätt med Två programmerare Ett tangentbord En mus En monitor

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 24 Hur går parprogramming till Samarbete mellan två programmerare En åt gången skriver kod Den andra personen har till uppgift att Agera granskare Hålla fokus på övergripande, strategiska mål Man turas om att ha de olika rollerna Man byter ofta programmeringspartner

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 25 Vad ger parprogrammering för fördelar? Problemlösningsfördelar man löser omöjliga problem snabbare Två programmerare som arbetar i par producerar mer än två programmerare som arbetar var för sig Den kod som produceras med hjälp av parprogrammering har högre kvalitet Programmerarna stärker moralen hos varandra i stressiga situationer

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 26 Vad ger parprogrammering för fördelar? (forts.) Programmerarna trivs bättre med sitt arbete om de arbatar i par Arbetsgruppen blir mer sammansvetsad och kommunikationen ökar Specialkunskaper sprids till flera medarbetare

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 27 Kan det verkligen fungera? Studier gjorda med studenter visar att det fungerar Relative Time: One Individual vs Two Collaborators 200.0% 150.0% 100.0% 50.0% 0.0% Program 1 Program 2 Program 3 One Individual Two Collaborators

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 28 Kan det verkligen fungera? Studier gjorda med studenter visar att det fungerar Post Development Test Cases Passed 100.0% 80.0% 60.0% 40.0% 20.0% 0.0% Program 1 Program 2 Program 3 Individuals Collaborators

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 29 Hur skall vi använda parprogrammering på den här kursen? Använd parprogrammering inom grupperna ni behöver inte byta programmeringspartner. Se till att den som inte har kommandot för tillfället verkligen hänger med i det som görs hela tiden. Vad händer om vi har väldigt olika kunskapsnivå när det gäller programmering? Är du den som är sämre se till att få förklaringar! Är du den som är bättre glöm inte att låta din kamrat programmera!

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 30 XP extreme Programming Kombinerar ett antal väletablerade metoder för mjukvaruutveckling till en helhet Tar sin utgångspunkt i programmering och programmerarnas arbete, inte ledning och organisation Värderingar Enkelhet, kommunikation, återkoppling och mod Roller Kund, programmerare, ledning

Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 31 Metaforen Rak och enkel planering Tidiga och täta produktreleaser Enklast möjliga lösning XP beprövade metoder Skriv testkoden först av allt, testa ständigt Ständigt förbättrande av koden All kod skrivs i par Alla äger koden Bygg hela tiden Ingen övertid Kodstandard Kunden finns på plats hela tiden