Krav- och Uppgiftsanalys
Rätt sak till rätt sak
Systemutvecklingsprocessen Kraven går hand i hand med utvärdering Referenspunkt för testning Medvetenhet om kraven
Kravfel 8000 mjukvaruprojekt 16 % klarade budget och tidsramar Genomsnittligt projekt överskrider Budget med 90% Tidsplan med 120% Felaktiga krav ca 56 % av felkällorna Källa: Standish Group
Användarkrav Rätt kravspec Fel kravspec Rätt systemspec Fel systemspec Fel systemspec Rätt design Fel design Fel design Rätt kod Fel kod Fel kod Rätt produkt Fel produkt
Användarkrav Rätt kravspec Fel kravspec Rätt systemspec Fel systemspec Fel systemspec Rätt design Fel design Fel design Rätt kod Fel kod Fel kod Rätt produkt Fel produkt
Problem Lösningar ersätter krav
Problem Målet ändras på vägen
Problem Dålig prioritering av krav
Problem Otydliga krav Tvetydiga krav
Problem Otillräcklig versionshantering
Problem Ändringar görs utan kontroll
Problem Kravdefinitionen avslutas inte
Problem Icke-behövda krav
Problem Otillräckliga krav
Krav kan justeras i efterhand
Problem Vad menar vi med krav? Egentligen?
Krav Affärsmässiga Varför gör vi produkten? Funktionella Vad skall den göra? Icke-funktionella Hur skall den göra det? Speciella krav t.ex. säkerhet
Varför uppgiftsanalys? Hitta och ta bort otydligheter Utbildning/dokumentation Arbetsbeskrivningar Design av arbete Design specifikation Utvärdering Säkerhet/felanalys
Människan är anpassningsbar
Uppgiftsanalysens faser Datainsamling Fullständighet Representation Överskådlighet Kraftfullhet Analys Kraftfullhet Förståelse
Förståelse av uppgift
H(ierachical) T(ask) A(nalysis) Beskriver händelser baserat på: Mål vad man vill uppnå Operationer vilka aktiviteter som leder till målet Planer villkor för att utföra operationer
Planer Procedurbeskrivningar Villkorsbeskrivningar Planer för tidsanpassning
Representationsformer Hierarkiska diagram Hierarkisk text Tabellformat Alla dessa är likvärdiga!
Resultatet Inte diagrammen! Analysen av diagrammen Vad saknas? Vad är komplicerat? Vad är enkelt? Var finns det risk att göra fel?
Förståelse?
Allt går inte att fånga!
Felanalys HTA + en feltaxonomi Feltaxonomi Kontrollfel Handlingsfel Felval Minnesfel Kommunikationsfel/Perceptionsfel
Exempel 1 Koka vatten 1
Exempel 1 Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Plan 1: Gör 1.1, 1.2 1.3 i ordning
Exempel 1 Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen 1.2.1 1.2.2 1.2.3 Plan 1: Gör 1.1, 1.2 1.3 i ordning Plan 1.2: Gör 1.2.1 och 1.2.2 i valfri ordning. När grytan är full 1.2.3.
Exempel 1 Koka vatten 1 Ta fram gryta Fyll på vatten Sätt på spisen Värm vattnet Stäng av spisen 1.1 1.2 1.3 1.4 1.5 Håll gryta under kran Öppna kranen Stäng kranen 1.2.1 1.2.2 1.2.3 Plan 1: Gör 1.1, 1.2 1.3, 1.4 i ordning. När vattnet kokat gör 1.5 Plan 1.2: Gör 1.2.1 och 1.2.2 i valfri ordning. När grytan är full 1.2.3.
Exempel 1 Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt gryta på spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 Plan 1: Gör 1.1, 1.2 1.3 i ordning Plan 1.2: Gör 1.2.1 och 1.2.2 i valfri ordning. När grytan är full 1.2.3. Plan 1.3: Gör 1.3.1 och 1.3.2 i valfri ordning
Exempel 1 Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Plan 1: Gör 1.1, 1.2 1.3 i ordning Plan 1.2: Gör 1.2.1 och 1.2.2 i valfri ordning. När grytan är full 1.2.3. Plan 1.3: Gör 1.3.1 och 1.3.2 i valfri ordning. När vattnet kokar gör 1.3.3
Exempel 1 Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Öppna skåp Ta ut gryta Stäng skåp 1.1.1 1.1.2 1.1.3 Plan 1: Gör 1.1, 1.2 1.3 i ordning Plan 1.1: Gör 1.1.1, 1.1.2, 1.1.3 i ordning. Plan 1.2: Gör 1.2.1 och 1.2.2 i valfri ordning. När grytan är full gör 1.2.3. Plan 1.3: Gör 1.3.1 och 1.3.2 i valfri ordning. När vattnet kokar gör 1.3.3
Exempel 2: Felanalys Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Öppna skåp Ta ut gryta Stäng skåp 1.1.1 1.1.2 1.1.3 Fel 1.3.3: Om man glömmer stänga av plattan kan det uppstå brand.
Exempel 2: Felanalys Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Öppna skåp Ta ut gryta Stäng skåp 1.1.1 1.1.2 1.1.3 Fel 1.3.1: Om man sätter på fel platta kan det uppstå brand. Fel 1.3.2: Om man sätter grytan på fel platta kan det uppstå brand. Fel 1.3.3: Om man glömmer stänga av plattan kan det uppstå brand.
Exempel 2: Felanalys Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Öppna skåp Ta ut gryta Stäng skåp 1.1.1 1.1.2 1.1.3 Fel 1.3.1: Om man sätter på fel platta kan det uppstå brand. Fel 1.3.2: Om man sätter grytan på fel platta kan det uppstå brand. Fel 1.3.3: Om man glömmer stänga av plattan kan det uppstå brand. Fel 1.1.2: Om grytan är tung kan den tappas och orsaka skada.
Exempel 2: Felanalys Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Öppna skåp Ta ut gryta Stäng skåp 1.1.1 1.1.2 1.1.3 Fel 1.2.3: Om man glömmer stänga kranen kan det bli översvämning. Fel 1.3.1: Om man sätter på fel platta kan det uppstå brand. Fel 1.3.2: Om man sätter grytan på fel platta kan det uppstå brand. Fel 1.3.3: Om man glömmer stänga av plattan kan det uppstå brand. Fel 1.1.2: Om grytan är tung kan den tappas och orsaka skada.
Exempel 2: Felanalys Koka vatten 1 Ta fram gryta Fyll på vatten Värm vattnet 1.1 1.2 1.3 Håll gryta under kran Öppna kranen Stäng kranen Sätt på spisen Sätt grytan på spisen Stäng av spisen 1.2.1 1.2.2 1.2.3 1.3.1 1.3.2 1.3.3 Öppna skåp Ta ut gryta Stäng skåp 1.1.1 1.1.2 1.1.3 Fel 1.2.3: Om man glömmer stänga kranen kan det bli översvämning. Fel 1.3.1: Om man sätter på fel platta kan det uppstå brand. Fel 1.3.2: Om man sätter grytan på fel platta kan det uppstå brand. Fel 1.3.3: Om man glömmer stänga av plattan kan det uppstå brand. Fel 1.1.2: Om grytan är tung kan den tappas och orsaka skada. Fel 1.1.3: Om man glömmer stänga skåpet kan man slå i den öppna luckan.
Verktyget - inte svaret HTA är ett struktureringshjälpmedel Strukturerna inte givna i förväg Resultatet måste tolkas och förstås!
Vanliga fel Dela inte upp datastrukturerna Procedurerna skall bli mindre Gör inte diagrammen för finkorniga Dela upp stora diagram i mindre deldiagram Gör inte diagrammen för platta Ett platt diagram ger ingen information Glöm inte planerna Ett diagram utan planer säger inte mycket
Gör en uppgifts- och felanalys Uppgift: Byta till vinterdäck på bilen Ta sig hemifrån till gaten på Arlanda Baka en sockerkaka (valfritt recept) Jobba gärna två och två med strukturen Individuell inlämning Analysen! Felanalys Viktiga delar av uppgiften (se ovan) Motivera