Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Relevanta dokument
Detta har hänt... Agenda. Kursinformation. Kursinformation

Detta har hänt... Kursinformation. Agenda. Kursinformation

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Detta har hänt... Föreläsning 2: Projektplanering & granskning. Pratat och provat kravhantering. Bildat projektgrupper :-) Skaffat litteratur?

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

Detta har hänt... Sammanfattning - Krav. Agenda F2. Föreläsning 2: Projektplanering & granskning

Specifikationer i kompendiet Övningar på moodle.cs.lth.se Support Onsdag kl i E: (84?) Frågestund: F3

Agenda. Föreläsning 6: Utvärdering och om tentamen. Kursinformation

Streamade föreläsningar på webben

Agenda. Kursinformation. Manual för systemstart... Föreläsning 6: Utvärdering och om tentamen

Detta har hänt... Föreläsning 2: Projektplanering & Granskning Bildat projektgrupper. Pratat och provat kravhantering. Skaffat litteratur?

Agenda. Projektbeskrivning avsnitt 8: Acceptanstest - MS4 i korthet. Kursinformation

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

Medan vi väntar: Diskutera

Exercise 1b: Requirements evaluation

Utmaning. Föreläsning 1: Kursen & Projektuppgift Utvecklingsprojekt & Kravhantering. Agenda F1. Jonas Wisbrant - kort CV

Programvaruutveckling - Metodik 2016 Jonas Wisbrant

Exercise 1b: Requirements evaluation

Projektplan, Cykelgarage

Streamade föreläsningar på webben

Streamade föreläsningar på webben. Föreläsning 1: Kursen & Projektuppgift. Utvecklingsprojekt & Kravhantering. Utmaning. Jonas Wisbrant - kort CV

ETSA01 Ingenjörsprocessen för Programvaruutveckling Metodik

Streamade föreläsningar på webben. Medan vi väntar: Diskutera. Utmaning. Föreläsning 1: Projektuppgift & kravhantering. Om man utvecklar ett system...

ETSA01 Ingenjörsprocessen för Programvaruutveckling Metodik. Föreläsning 1 Markus Borg. Flickr: carlcollins.

Föreläsning 6. Utvärdering, om tenta, avrundning

Föreläsning 6. Utvärdering, om tenta, avrundning. Agenda. Kursinformation. Schemalagda kursmoment. Jonas Wisbrant. Kursinformation

Hemtentamen: ETSA02 Programvaruutveckling Metodik

ETSA02 Programvaruutveckling Metodik Föreläsning 1 Jonas Wisbrant

Hemtentamen: ETSA01 Ingenjörsprocessen för programvaruutveckling metodik

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

Föreläsning 3 Verifiering och Validering

Föreläsning 3 Verifiering och Validering

Är instruktionerna oklara, projektet rörigt och allmänt frustrerande?

Kursprogram, ETSF20 Programvaruutveckling för stora projekt (PUSP), 7,5 hp

Agenda. Kursinformation. Manual för systemstart. Föreläsning 6: Summering och om tentamen. Målgrupp:

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16

men borde vi inte också testa kraven?

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

men borde vi inte också testa kraven? Robert Bornelind

Projektarbete. Johan Eliasson

Agenda. Föreläsning 6: Summering och om tentamen Kursinformation

Hemtentamen: ETSA01 Ingenjörsprocessen för programvaruutveckling metodik Jonas Wisbrant

Arbeta i projekt. Anders Hessel ITP-projekt Uppsala Universitet

Testplan Cykelgarage

Exempel på verklig projektplan

Välkomna till KMM! KMM. KMM - lärandemål Efter fullgjord kurs ska ni bland annat kunna:

TDDI02. Programmeringsprojekt, Föreläsning 2. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Exercise 4a: Test 2 ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15. Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT15 Exercise 1

Detta har hänt... Kursinformation. Utse kursombud - nytt försök. Föreläsning 3: Test, Konfigurationer. Pratat och skapat krav och plan

Innehåll (3) Innehåll (2) Innehåll (5) Innehåll (4) Innehåll (6) Innehåll (7) Dokumenthistorik. beställare, Översiktlig beskrivning av projektet

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Idag. EDAA35: Utvärdering av programvarusystem. Mål. Innehåll. Kursmoment. Lärare

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Dokumentation och presentation av ert arbete

Projektplanering. Projektplanen. Om inte projektet planeras noga, kommer det garanterat att misslyckas

Dokumentation och presentation av ert arbete

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

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

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT. Övning 2 Riskhantering, intressenter och kravgranskning.

PROJEKTLEDNING. Vad är ett PROJEKT? Ett projekt:

Testbara krav. SAST Syd Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Föreläsning 4: Konfigurationer, Plattformar & Design I Programvaruutveckling - Metodik 2016 Jonas Wisbrant

Före Kravspecifikationen

Frågor och svar till tentamen i Kravhantering

PROJEKT Kurs om hållbar utveckling

Dokumenthantering. Tieto PPS AH016, 5.1.0, Sida 1

Rätt svar och poängsättning: 0,5p per rätt svar, max 2,5p A. 2 B. 5 C. 3 D. 6 E. 4

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

produkters egenskaper och innehåll

Kurser och seminarier från AddQ Consulting

REGELVERK & HANDBÖCKER

LUNDS UNIVERSITET. Projektledning

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Kursöversikt Certifierad Mjukvarutestare

Dokumentation och presentation av ert arbete

Föreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al.

Projectbase en generell projektmodell

Bilaga 5 b: Mall för projektplan

Projektet. TNMK30 - Elektronisk publicering

RUP - Rational Unified Process

Projektuppgift.

Föreläsning 3: Test, Konfigurationer. Övning 2 Riskhantering, intressenter och kravgranskning.

Kursplan Gränssnittsdesign, 100p Läsår

Projektledning Introduktion. Version Juha Söderqvist

Card Consulting. Projektmetodik Lars Ahlgren Card Consulting

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Agil Projektledning. En introduktion

Detta har hänt... Jonas Wisbrant - kort CV. Kursombud - nytt försök. Föreläsning 3: Test, Konfigurationer. Pratat och skapat krav och plan

Interaktionsdesign - Prototyper. Användbarhetskrav

Kursprogram, ETS032 Programvaruutveckling för stora system (PUSS), 7,5 hp

Examensarbete Verklighetsbaserat utvecklings- och projektarbete - Automationsteknik med mekatronik

Skriftlig tentamen den 25 oktober 2014 Kravhantering, ETS672, 7,5 hp

Föreläsning 3. Programvaruutveckling för Stora System. Målsättning i programvaruprojekt. Fel och risker. Christin Lindholm

Projektet. EDAA35 Föreläsning 7. Krav på uppgiften. Ert projektförslag. Inlämning av förslag. Egna idéer är välkomna!

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Kandidatarbete på Industriell ekonomi

Exercise 1a: Requirements and project kick-off

Ramverk för projekt och uppdrag

Dokumentation och presentation av ert arbete. Kursens mål. Lärare Projektmedlemmar. Studenter Extern personal. Projektfaser. Projektroller.

Transkript:

ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning Jonas Wisbrant 2 Detta har hänt... Pratat krav Bildat projektgrupper :-) Skaffat litteratur? Kommit igång med projektwikin: Formulerar krav Genomfört en övning: Hur var den? 3

Agenda Kursinformation Projektet, wikin och deadlines Kursombud Mer om kravhantering Mer om projekt, projektplanering Dokumentgranskning 4 Kursinformation V 2: Måndag: Nu Tisdag kl 24: Deadline Kravspecifikation 0.x Inför övning to: P1-6 I:1 Granska ABC- video Fråga: Har ni lagt in granskningsmöte(n) för krav- och plandokument i privata kalendrar? V 3: Måndag kl 15 Föreläsning: Testning Måndag kl 24 deadline: Granskningsprotokoll + Kravspecifikation 0.99 Granskningsprotokoll + Projektplan 0.99 Man kan även lägga upp granskningsprotokollen som en PDF-fil och länka till den 5

Frågor från kurswebben 1. Varför läggs inte filmerna på itunes U? Undviker gärna publik spridning p g a, integritet, kvalitet och krånglighet. 2. Kan man göra något åt bärbara datorer som stör andra under föreläsningarna? Förslag: De som vill anteckna, kurssurfa eller annat med dator som stör sitter långt bak. De som bara stör med datorn kan kanske göra det någon annanstans? 3. Förtydligande på vad lämplig statistik innebär (i projektuppgiften)? Beror på målsättningen för ert cykelgarage 4. Den 5-siffriga nummer projektet har tillgång till representeras av siffrorna 8-12 Borde vara det, inte den! Tack! Fixat :-) 5. Använda github (eller liknande) för codehosting med tanke på att vem som helst kommer kunna gå in och bläddra i källkoden? - Tveksamt! ==> http://cs.lth.se/utbildning/samarbete_eller_fusk/ 6 Inlämning imorgon ti kl 24: Kravspec 0.x Jobba gärna vidare under tiden Projekthandledarna vill veta: Kravspecifikation är påbörjat och innehåller tänk Produktbeskrivning i klartext? Dokumentets struktur? Användarfall? Kontextdiagram? Återkoppling via mail & / övning 2 7

Inlämning måndag v3 kl 24: Krav 0.99 } granskning krav Plan 0.99 granskning plan Återkoppling Innehåll Form Korrigering Krav 1.0 Plan 1.0 Ändringshantering 8 Utse kursombud Möten Fr 2012-03-30 kl 12.30 i LUCAS-rummet (E:4130) Må 2012-05-07 kl 12.30 i LUCAS-rummet (E:4130) Beslut: Alfredsson, Emilia (I) Sartorius, Carolina (D) Eliasson, Anton (D) Wigren, Adam (C) Gråborg, Mikael (C) 9

ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Kravhantering fortsättning 10 Kravhanteringsprocessen Identifiera krav Nu vet vi hur vi formulerar funktions- och kvalitets-krav. Men... Analysera krav Hur hittar vi, analyserar och dokumenterar krav Dokumentera krav Hur säkerställer vi att vi förstått? Hur ska vi prioritera? Validera krav Process enligt wikipedia En samling i förväg uttänkta aktiviteter som ska användas varje gång man skapar ett visst resultat... 11

Identifiera Dataflödesdiagram Analysera Dokumentera Validera 12 Identifiera ER-diagram - Entity Relationship Analysera Data lagras i systemet (entitet + attribut), t ex: Dokumentera Student: pnr, namn, inskrivningsår Validera Kurs: kurskod, namn, #hp Program: beteckning, namn 1 * Student Program Följer Används ofta för att modellera data i databaser * * Läser Ingår på * Kurs * 13

Skillnad? 14 Identifiera Naturligt språk Analysera Dokumentera Fördelar: Generellt Flexibelt Lätt att använda och förstå Nackdelar: Otydligt Lätt att blanda olika sorters krav Lätt att slå samman flera krav i ett 15 Validera

Identifiera Delar i en kravspecifikation Analysera Dokumentera Table of contents 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms, and Abbreviations 1.4 References 1.5 Overview 2. General Description 2.1 Product Perspective 2.2 Product Functions 2.3 User Characteristics 2.4 General Constraints 2.5 Assumptions and Dependencies 3. Specific Requirements Appendix Index Validera [IEEE Guide to Software Requirements Specifications, ANSI/IEEE Std 830-1984] 16 Identifiera Spårbarhet Analysera Dokumentera Från krav till källan Validera Mellan krav - visar beroende Från design och kod till krav Från testfall till krav 17

Identifiera Validera kraven Analysera Kontrollera att kravspecifikationen är korrekt och av hög kvalitet Dokumentera Validera Exempel på metoder: Granskning (vanligast) Utveckla testfall Verktygsstöd för formellt skrivna krav 18 Identifiera Tidiga faser är viktiga Analysera Dokumentera Validera [Alan Davis] 19

Bra egenskaper hos en kravspecifikation Identifiera Analysera Korrekt Komplett Otvetydig Verifierbar Konsistent Prioriterad Dokumentera Validera Genomförbar Modifierbar Spårbar 20 Checklista för granskning för kursens projekt Identifiera Analysera 1. Saknas några krav? Dokumentera 2. Är samtliga krav nödvändiga? Validera 3. Finns det några motstridiga krav? 4. Kan samtliga krav verifieras? 5. Är samtliga krav tydligt formulerade eller kan några krav misstolkas? 6. Finns samtliga nödvändiga definitioner? 7. Är det möjligt för dokumentets målgrupp att förstå dokumentet? 8. Följer kravspecifikationen sin dokumentmall? 9. Är något krav formulerat för detaljerat? 10.Har något krav formulerats på för hög abstraktionsnivå? 11.Är all texter och illustrationer nödvändiga? Guidat alternativ 12.Har samtliga krav unika identifierare? 21

Kravprioritering Omöjligt att implementera alla bra idéer! Jämför krav med avseende på: Värde för kund Kostnad att implementera Ledtid att implementera Risk Värde för nya kunder 22 Exempel, prioritering 13 6 Värde 1 5 2 4 3 10 7 9 8 14 11 12 Kostnad 23

Krav och projekt i ett större perspektiv Produktledning Plattform Produkter Krav Krav Krav Krav Design Impl Design Impl Design Impl Design Impl Test Test Test Test 24 Sammanfattning - Krav Viktigt eftersom tidiga faser påverkar mycket Krav kan finnas på olika abstraktionsnivåer Kvalitetskrav påverkar ofta hela produkten Kravhanteringsprocessen: identifiera, analysera, dokumentera, validera Egenskaper hos krav: korrekt, komplett, otvetydig, verifierbar, konsistent, prioriterad, genomförbar, modifierbar, spårbar Spårbarhet: källakrav, krav-krav, krav-design/kod Krav är en viktig del i arbetet med produktledning och produktplanering Mer om krav i Kravhantering (ETS170) 25

ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Om projektplanering och projektplaner Diskussion: Förklara för varandra Vad är det för skillnad mellan projektets: Affärsmål Projektmål Produktmål? 26

Signaler i projektet Behov Idéer Visioner Förväntningar Krav Avtal Plan Data Specifikationer Pengar Protokoll Beslut Förslag Prototyper Frågor Förtydliganden Produkten Testresultat Acceptans Aktör A Meddelande Media Meddelande Aktör B Återkoppling 28 Kommunikation i projektet över tiden Visioner & krav Beställarens projekt Specifikation & plan Bekräfta System Utvecklarens projekt Godkänna

Be Inledning: projektmodell, utvecklad produkt, målsättningar, begränsningar Visio Spec Bekr Syst God Projektorganisation: utvecklingsorganisationen, andra intressenter Hårdvara och programvara som krävs för projektets genomförande Arbetsnedbrytning: aktiviteter, leverabler, milstolpar Tidplan: när varje aktivitet påbörjas och avslutas, när varje milstolpe ska uppnås Uppföljning och rapportering: hur detta ska ske? Riskanalys Aktör A Meddelande Media Meddelande Aktör B Återkoppling 30 Fyra viktiga metoder inom projektplanering Underleverantör Intressentanalys Kostnadsskattning September Schemaläggning October November Date finished (2007) 7 september 21 September 21 September 20 October 20 October 20 October 9 November 16 November 16 November 23 November 23 November Project planning Requirements definition Milestone 1 Test planning High-level design Milestone 2 Implementation and unit testing Integration and system building Milestone 3 System testing Milestone 4 Riskhantering 31 U t Typiskt innehåll i en projektplan

Intressentanalys (stakeholders) Utvecklare Beställare Kundansvarig Sponsor IT-funktion Projektledare Slutanvändare Utvecklare Underleverantör Vad vill varje intressent? Konflikter? Gränssnitt 32 Kostnadsskattning Persontid viktigaste (dvs dyraste) faktorn Alltid svårt att veta, men viktigt ändå Olika angreppssätt Expertbedömning Algoritmiska modeller Mer i Ingenjörsprocessen - ekonomi och kvalitet [ETSF01] 33

Schemaläggning Aktivitetsnätverk för kritisk väg Aktivitet A1 Tid (d) Beroenden 5 A2 5 A3 10 A1 A4 2 A3 A5 10 A6 15 10 15 A5 A6 10 5 start A1 2 A3 A4 slut 5 A2 A3, A5 Gantt-diagram September October Project planning Requirements definition Milestone 1 Test planning High-level design Milestone 2 Implementation and unit testing Integration and system building Milestone 3 System testing Milestone 4 Riskhantering November 34 Date finished (2007) 7 september 21 September 21 September 20 October 20 October 20 October 9 November 16 November 16 November 23 November 23 November Riskprocess Sannolikhet hög Strategier låg låg [1] Risk Konsekvens hög [5] Reducera konsekvens Minska risk Alternativ (plan B) S K Prio (S x K) Hårdvara försenad 2 5 10 Ont om persontid 4 2 8 Undersöka alternativ Konstruera simulator Minska scope Strulig beställare 5 1 5 Andas... Strategi 35

Typiskt innehåll i en projektplan Inledning: projektmodell, utvecklad produkt, affärsmål, begränsningar Projektorganisation: utvecklingsorganisationen, andra intressenter Hårdvara, programvara och andra resurser som krävs för projektets genomförande Arbetsnedbrytning: aktiviteter, leverabler, milstolpar Tidplan: när varje aktivitet påbörjas och avslutas, när varje milstolpe ska uppnås Uppföljning och rapportering: hur detta ska ske? Riskanalys 36 Sammanfattning projektplanering Programvaruprojekt speciella eftersom de är en av, komplexa, och eftersom det går att ändra sent Projektplanen beskriver t ex projektorganisation, arbetsnedbrytning, tidplan och riskanalys, mm. Kostnadsskattning kan göras baserat på expertbedömningar eller algoritmiska modeller Riskhantering sker i fyra steg: identifiera risker, bedöm risker, behandla risker, följ upp risker 37

ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Dokumentgranskning (statisk testning) 38 Granskningar grundläggande idé Alla dokument kan granskas (krav, test, design, kod, testfall, ) Hitta fel tidigt utan att exekvera kod d.v.s statisk testning Läs dokument på ett strukturerat sätt Rätt personer ska läsa Personerna ska läsa på rätt sätt Alla viktiga delar av dokumenten ska läsas 39

Granskningsprocessen Introduktion Planering ABC-video: Krav & plan: Nu före individuell hranskning Test & design: Individuell granskning Granskningsmöte Omarbete Uppföljning ti/on Ö2 - - före möte TBD före omarbete före nästa måndag 24 MS1 TBD före 3/5 MS2 TBD Roller Moderator Sekreterare Författare Granskare Tips: Planera in det mötet idag! 40 Lästekniker (individuell granskning) Ad-hoc - Upp till granskaren Checklist-baserad - Stöd av en checklista - Kan t ex ha tagits fram av organisationen Scenario-baserad - Följ ett användningsscenario under granskningen Perspektiv-baserad - Granska som en specifik roll: användare, testare, operatör, utvecklare, etc 41

Hur lång tid tar det? Planering och introduktion:? Hur vet man om det är värt det? Individuell granskning*: Krav: 5 sid/h Design: 4 sid/h Kod: 150 LOC/h (utan kommentarer) Testplan: 4 sid/h Antal personer på ett granskningsmöte: 4-10 personer x?h Omarbete och uppföljning:?h Planering Introduktion Individuell granskning Granskningsmöte Omarbete Uppföljning * Ebenau, et.al., Software Inspection Process 42 Hur många lejon finns det i skogen? Lejonen kan vara fel och jägarna kan vara granskare 43

Med två granskare A N = totalt antal fel (som man vill veta) NA = antal fel som granskare A hittar NB = antal fel som granskare B hittar NAB = antal fel som båda hittar B Andel som granskare A hittar = NAB/NB Andel som granskare A hittar = NA/N NA/N = NAB/NB --> N = NA* NB/NAB 44 Sammanfattning - Granskning Systematisk metod för att identifiera problem i material som inte kan exekveras Tar tid men lönar sig i allmänhet Under stabila förhållanden kan man uppskatt hur många fel som finns kvar Granskning är bra Planering Introduktion Individuell granskning Granskningsmöte Omarbete Uppföljning 45

Att göra inför övning 2 P.1-6 Risker och intressenter I:1: Granska ABC-video inför granskningsmöte torsdag morgon Tisdag kl 24: Deadline krav 0.x Måndag v3: Föreläsning om testning 4 x deadline Torsdag v 3: Återkoppling 4 dag Påskuppehållet: Vem gör vad? Onsdag v 4: MS1 46