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

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

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

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

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

Streamade föreläsningar på webben

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

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

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

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

Medan vi väntar: Diskutera

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

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

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

Exercise 1b: Requirements evaluation

Programvaruutveckling - Metodik 2016 Jonas Wisbrant

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

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

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

Projektplan, Cykelgarage

Hemtentamen: ETSA01 Ingenjörsprocessen för programvaruutveckling metodik

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

Föreläsning 3 Verifiering och Validering

Exercise 1b: Requirements evaluation

ETSA01 Ingenjörsprocessen för Programvaruutveckling Metodik

Hemtentamen: ETSA02 Programvaruutveckling Metodik

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

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

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

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

Föreläsning 3 Verifiering och Validering

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

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

ETSA02 Programvaruutveckling Metodik Föreläsning 1 Jonas Wisbrant

Exempel på verklig projektplan

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

Projektarbete. Johan Eliasson

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

men borde vi inte också testa kraven?

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

PROJEKT Kurs om hållbar utveckling

men borde vi inte också testa kraven? Robert Bornelind

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

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

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

Arbeta i projekt. Anders Hessel ITP-projekt Uppsala Universitet

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

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

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

produkters egenskaper och innehåll

PROJEKTLEDNING. Vad är ett PROJEKT? Ett projekt:

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

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

Testplan Cykelgarage

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

Dokumenthantering. Tieto PPS AH016, 5.1.0, Sida 1

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

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

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Dokumentation och presentation av ert arbete

Föreläsning 5 Processer Vidare utveckling

Card Consulting. Projektmetodik Lars Ahlgren Card Consulting

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

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

Frågor och svar till tentamen i Kravhantering. Del 2. Kravhantering (ETS170), LTH Grupp B

Före Kravspecifikationen

Kandidatarbete på Industriell ekonomi

Innehåll. Kravhantering. Kravhantering TDDD06 Introduktion till kravhantering. Vad är kravhantering?

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

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

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Föreläsning 5 Processer, vidare utveckling

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar

Föreläsning 5 Processer, vidare utveckling

Projektplan. LiTH Reglering av Avgaser, Trottel och Turbo Fredrik Petersson Version 1.0. Status. Reglerteknisk Projektkurs RATT LIPs

Dokumentation och presentation av ert arbete

Kurser och seminarier från AddQ Consulting

Regressionstestning teori och praktik

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

Bilaga 5 b: Mall för projektplan

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

Projectbase en generell projektmodell

Inlämning 2 - Tentamensfrågor

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

Övningstenta, Examinationsfrågor

Kursöversikt Certifierad Mjukvarutestare

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

Frågor och svar till tentamen i Kravhantering

Dokumentation och presentation av ert arbete

Innehåll. Projekt Greed. Projekt definition. Projekt Greed En introduktion till projektmodellen LIPs

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

Examensarbete Verklighetsbaserat utvecklings- och projektarbete - Automationsteknik med mekatronik

Riktlinjer Projektmodell fo r Kungä lvs kommun

REGELVERK & HANDBÖCKER

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

Ramverk för projekt och uppdrag

LUNDS UNIVERSITET. Projektledning

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 projekt Mer om kravhantering Dokumentgranskning 4 Kursinformation V 2: Måndag: Nu Tisdag kl 24: Deadline Kravspecifikation 0.x Till övning to: P1-6 I:1 Granska ABC- video Fråga: När ska ni ha granskningsmöte V 3: Måndag kl 13 F: Testning Måndag kl 24 deadline: Granskningsprotokoll + Kravspecifikation 0.99 Granskningsprotokoll + Projektplan 0.99 OBS! Grupp 17-26 har övning i E:A på torsdag Man kan även lägga upp en PDF-fil och länka till den 5

Kursinformation forts Projekt i IP3: Ska föreslå förbättingar i utvecklingsprocessen inför en tänkt vidare utveckling av systemet... De kanske kontaktar er Har egen sida i projektwikin Kan göra anspråk på typ 2 h per projektmedlem + enligt ök 6 Inlämning nästa tisdag kl 24: Kravspec 0.x Projekthandledarna vill veta: Dokumentet är påbörjat och innehåller tänk Återkoppling via mail & övning 7

Inlämning måndag v3 kl 24: Krav 0.99 } granskning krav Plan 0.99 granskning plan Påbörjad manual Återkoppling Innehåll Form Korrigering Krav 1.0 Plan 1.0 Ändringshantering 8 Utse kursombud Möten To 2011-03-31 kl 12.30 i LUCAS-rummet (E:4130) Må 2011-05-09 kl 12.30 i LUCAS-rummet (E:413 Beslut: (C) (C) (D) (D) (I) 9

Tre meddelanden från webbformulären :-) Tydliggör kontextdiagram (boken suger där..) Omvärldens kommunikation med systemet på en ganska hög nivå Märklig matte i Avancerad checklista för granskning av kravspecifikation: Har inte hunnit titta på det... Course Webb feedback P4: Figur 4.3 kommer över texten i Crome Åtgärdat 10 Kravhanteringsprocessen Identifiera krav Nu vet vi hur vi formuerar 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... Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 11

Identifiera Dataflödesdiagram Analysera Dokumentera Validera * = AND + = OR 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 n Student Program Följer Används ofta för att modellera data i databaser n n Läser Ingår på n Kurs n 13

Naturligt språk Identifiera Analysera 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 Dokumentera Validera 14 Delar i en kravspecifikation 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 Identifiera Analysera Dokumentera Validera [IEEE Guide to Software Requirements Specifications, ANSI/IEEE Std 830-1984] 15

Identifiera Spårbarhet Analysera Dokumentera Från krav till källan till krav Validera Mellan krav (visar beroende) Från design och kod till krav Från testfall till krav 16 Identifiera Kravvalidering 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 17

Identifiera Tidiga faser är viktiga Analysera Dokumentera Validera [Alan Davis] Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 18 Bra egenskaper hos en kravspecifikation Identifiera Analysera Korrekt Komplett Otvetydig Verifierbar Konsistent Prioriterad Dokumentera Validera Genomförbar Modifierbar Spårbar 19

Identifiera Granskningslista för kursens projekt 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å dokudokumentet begripligt för sin målgrupp? 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ör abstraktionsnivå? 11.Är någon text eller illustration nödvändig Guidat alternativ 12.Har samtliga krav unika identifierare? 20 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 21

Exempel, prioritering 13 Värde 6 5 1 4 2 3 7 8 9 11 12 14 10 Kostnad 22 Krav och projekt i ett större perspektiv Björn Regnell kommer F6 Produktledning Plattform Produkter Krav Krav Krav Krav Design Impl Design Impl Design Impl Design Impl Test Test Test Test 23

Sammanfattning - Krav Kravhantering viktigt eftersom tidiga faser påverkar mycket Krav kan finnas på olika abstraktionsnivåer Kvalitetskrav beskriver kvalitetsattribut och påverkar hela produkten Kravhanteringsprocessen: identifiering, analysering, dokumentering, validering Viktiga attribut: korrekt, komplett, otvetydig, verifierbar, konsistent, prioriterad, genomförbar, modifierbar, spårbar Spårbarhet viktigt: källa > krav, krav > krav, krav -> design/ kod Krav är en viktig del i arbetet med produktledning och produktplanering Mer om krav i Kravhantering (ETS170) 24 ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Om projektplanering och projektplaner Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 25

Diskussion: Förklara för varandra Vad är det för skillnad mellan projektets: Affärsmål Projektmål Produktmål? 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 System Testresultat Acceptans Aktör A Meddelande Media Meddelande Aktör B Återkoppling 27

Kommunikation i projektet över tiden Visioner & krav Beställarens projekt Specifikation & plan Bekräfta System Utvecklarens projekt Godkänna Typiskt innehåll i en projektplan Inledning: projektmodell, utvecklad produkt, målsättningar, begränsningar 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 Be Aktör B Visio Spec Bekr Syst God Ut Återkoppling 29

Fyra viktiga delområden inom projektplanering Underleverantör Intressentanalys Kostnadsskattning September 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 Schemaläggning Riskhantering Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 30 Intressent analys (stakeholders) Vad vill varje intressent? Beställare Utvecklare Konflikter? Kundansvarig Sponsor IT-funktion Projektledare Slutanvändare Utvecklare Underleverantör Gränssnitt 31

Kostnadsskattning Persontid viktigaste (dvs dyraste) faktorn Alltid svårt att veta, men viktigt ändå Olika angreppssätt Expertbedömning Algoritmiska modeller Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 32 Schemaläggning Aktivitetsnätverk för kritisk väg Aktivitet Tid (d) Beroenden A1 5 A2 5 A3 10 A1 A4 2 A3 A5 10 A6 15 A3, A5 start 10 15 A5 A6 5 10 2 A1 A3 A4 5 A2 slut Gantt-diagram September October November Date finished (2007) Project planning 7 september Requirements definition 21 September Milestone 1 21 September Test planning 20 October High-level design 20 October Milestone 2 20 October Implementation and unit testing 9 November Integration and system building 16 November Milestone 3 16 November System testing 23 November Milestone Lunds 4 universitet / LTH / Datavetenskap / ETSA01 VT 2010 / F1 33 23 November

Riskhantering Riskprocess Sannolikhet hög låg låg [1] hög [5] Konsekvens Strategier Reducera konsekvens Minska risk Alternativ (plan B) Risk S K Prio (S x K) Strategi Hårdvara Undersöka alternativ försenad 2 5 10 Konstruera simulator Ont om persontid 4 2 8 Minska scope Strulig beställare 5 1 5 Andas... Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2010 / F1 34 Frågor om 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 35

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 36 ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Dokumentgranskning (statisk testning) 37

Granskningar grundläggande idé Läs dokument på ett strukturerat sätt Hitta fel tidigt utan att exekvera kod dvs statisk testning Hitta felet (fault) direkt utan debugging Alla dokument kan granskas (krav, test, design, kod, testfall, ) Rätt personer ska läsa Personerna ska läsa på rätt sätt Alla viktiga delar av dokumenten ska läsas Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 38 Granskningsprocessen Planering Individuell granskning Introduktion Granskningsmöte Omarbete Uppföljning ABC-video: Nu ti/on to - - Krav & plan:?????? MS1 före nästa måndag 24 Test & design:?????? före 3/5 MS2 Roller Moderator Författare Sekreterare Granskare Tips: Planera in det mötet idag! Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2010 / F1 39

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) 40 Några exempel på siffror Antal personer på ett granskningsmöte: 4-10 Mängd material [Ebenau, et.al., Software Inspection Process]: Krav: 5 sid/h Design: 4 sid/h Kod: 150 LOC/h (utan kommentarer) Testplan: 4 sid/h 41

Hur många lejon finns det i skogen? Lejonen kan vara fel och jägarna kan vara granskare Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2011 / F1 42 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 43

ETSA01 Ingenjörsprocessen - Metodik Position 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 44 Att göra inför övning 2 P.1-6 Risker och intressenter I:1: Granska ABC-video inför granskningsmöte Disdag kl 24: Deadline Måndag v3: Föreläsning om testning 5 x deadline Granskningskommentarer Checklistepunkt Kommentar OBS! Grupp 17-26 har övning i E:A på torsdag Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2010 / F1 45

Frågor om projekt som sådana? kursprojektets projektplan? kursprojektets kravspecifikation? 46