INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

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

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

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

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

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

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

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

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

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

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

Medan vi väntar: Diskutera

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

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

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

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

Exercise 1b: Requirements evaluation

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

Exercise 1b: Requirements evaluation

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

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

Föreläsning 3 Verifiering och Validering

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

Programvaruutveckling - Metodik 2016 Jonas Wisbrant

Hemtentamen: ETSA01 Ingenjörsprocessen för programvaruutveckling metodik

Projektplan, Cykelgarage

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

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

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

Föreläsning 3 Verifiering och Validering

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

konfiguration och version och variant?

Föreläsning 4 Arkitektur, design, kodning

ETSA01 Ingenjörsprocessen för Programvaruutveckling Metodik

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Hemtentamen: ETSA02 Programvaruutveckling Metodik

Föreläsning 4 Arkitektur, design, kodning

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

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

Var är vi? Föreläsning 4 Arkitektur, design, kodning. Agenda. Kursinformation. Produktlinjer. Konfigurationshantering - forts. Detta har hänt...

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

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

Arbeta i projekt. Anders Hessel ITP-projekt Uppsala Universitet

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

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

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

Exempel på verklig projektplan

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

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

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

Före Kravspecifikationen

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

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

Dokumentation och presentation av ert arbete

Agil Projektledning. En introduktion

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Exercise 1a: Requirements and project kick-off

men borde vi inte också testa kraven? Robert Bornelind

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

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

men borde vi inte också testa kraven?

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

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

Dokumentation och presentation av ert arbete

ETSA02 Programvaruutveckling Metodik Föreläsning 1 Jonas Wisbrant

Testplan Cykelgarage

Teknisk fysik Institutionen för fysik Maria Hamrin Krister Wiklund. Hej,

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

Kurser och seminarier från AddQ Consulting

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

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

Kursöversikt Certifierad Mjukvarutestare

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

Projektkunskap & ledning Lektion 1

Diskutera medan vi väntar

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

Kravspecifikation Cykelgarage

Processbeskrivning Test

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

RUP - Rational Unified Process

PROJEKT Kurs om hållbar utveckling


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

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

1. Etablera projektet

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

Ramverk för projekt och uppdrag

Projektuppgift.

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

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

Examensarbete Verklighetsbaserat utvecklings- och projektarbete - Automationsteknik med mekatronik

Regressionstestning teori och praktik

Spelschema för årets fotbollsmästerskap! island tyskland Söndag 14/7 Växjö Arena, Växjö. Söndag 14/7 Kalmar Arena, Kalmar

Projektledning Introduktion. Version Juha Söderqvist

PROJEKTDIREKTIV Förstudie IP-hantering

REGELVERK & HANDBÖCKER

Senaste version kan hämtas från Internet i PDF 1 format

Transkript:

Föreläsning 2: ering & granskning INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT 57 Detta har hänt... Pratat och provat kravhantering Bildat projektgrupper :-) Skaffat litteratur? Kommit igång med projektwikin Genomfört en dubbel workshop Hur var den? L1:, funktionella krav, kvalitetskrav fb1: tillgång? begripligt? 58

Sammanfattning - Viktigt eftersom tidiga faser påverkar mycket kan finnas på olika abstraktionsnivåer påverkar ofta hela produkten Egenskaper hos krav: korrekt, komplett, otvetydig, verifierbar, konsistent, prioriterad, spårbar, genomförbar Spårbarhet: källa krav, krav-krav, krav-design/kod, krav-test är en viktig del i arbetet med produktledning och produktplanering 59 Agenda F2 Kursen Kursmål Kursombud ering Projekt eller utvecklingsprojekt? ering Strukturerad dokumentgranskning Grupperna: 11-15 26-28 i E:1406 på torsdag morgon Projektuppgiften Återkoppling L1 Projektens projektplan Inför övning 2 60

Kursmål - beställningen i bild täckning 61 Kursmål - beställningen i text Kunskap och förståelse kunna definiera grundläggande begrepp inom utveckling av stora programvarusystem. kunna beskriva de vanligaste processerna för utveckling av stora programvarusystem. kunna förklara de viktigaste momenten i kravhanteringsprocessen. kunna förklara hur testning går till. kunna beskriva vad en arkitekturdesign är. kunna beskriva de viktigaste stegen i projektplanering och projektuppföljning. kunna beskriva hur organisationer planerar och genomför en serie av projekt. Färdighet och förmåga kunna utveckla projektplan, kravspecifikation och testplan för ett mindre projekt. kunna granska projektplan, kravspecifikation och testplan för ett mindre projekt. kunna skriftligen formulera text i projektdokumentation. 62 Värderingsförmåga och förhållningssätt förstå komplexiteten i uppgiften att utveckla ett programvarusystem. ha förståelse för ingenjörens yrkesroll.

Utse kursombud Möten Fr 2013-04-19 kl 12.30-13.10 i LUCAS-rummet (E:2405) Må 2013-05-07 kl 12.30 i LUCAS-rummet (E:4130) Beslut: Jonatan Bratel (I) Erik Gärtner (D) Konrad Gjertsson (D) Anna Lissborg(C) Anton Lundborg (C) 63 Projekt vs. utvecklingsprojekt? 64

Hur svårt det är att koka pasta... beror på om man gjort det förut... och var man börjar 65 Projekt är något mer eller mindre unikt Från beställares synvinkel: en investering som ska gå med vinst avstämningspunkter för att se om det går som man tänkt sig Från utförares synvinkel: en teknisk uppgift som ska bli klar i tid avstämningspunkter för att visa att man klarar att utföra uppgiften UTMANING: Vi bygger inte ytterligare ett hus, gipsar nästa ben eller kokar pasta igen...... vi gör innovation på beställning. 66

Utvecklingsprojekt vs. en-gång-till-projekt Likheter Skillnader Planering och uppföljning Hög komplexitet Samarbete Kan ändra sent... Utvecklingsprojekt är något som man gör när man inte vet från början exakt hur det ska gå till 67 Photo attribution: nuchylee at http://www.freedigitalphotos.net/ 68 täckning

Ska vi börja med projektplanen eller kravspecifikationen? Fas 1 Specifikation Fas 2 Fas 3 Implementation och enhetstest Fas 4 specifikation Testplan dokument Exekverbar källkod Dokumenterat genomförda systemtest Beroende av varandra en är en del av produkten. Sista versionen måste sparas. Planen hör till organisationen. Erfarenheterna bör sparas. 69 ering och projektplaner 70

ering täckning 71 Diskussion: Förklara för varandra Vad är det för skillnad mellan projektets:? Projektmål 72

täckning täckning ering Intressentanalys 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 4 23 November Användarf Funkt K 73 Kommunikation i projektet över tiden Visioner & krav Beställarens projekt Specifikation & plan Bekräfta System Utvecklarens projekt Godkänna 74

täckning Signaler i projektet Behov er Visioner Förväntningar 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 75 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 : 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 76

täckning täckning Fyra viktiga metoder inom projektplanering Intressentanalys Underleverantör Kostnadsskattning Schemaläggning 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 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 Riskhantering 77 Intressentanalys (stakeholders) Organisationer Beställare Utvecklare Sponsor Kundansvarig IT-funktion Projektledare Slutanvändare Utvecklare Vad vill varje intressent? Affärs-, produkt och projektmål Konflikter? Kommunikationsbehov Underleverantör Gränssnitt 78

täckning täckning Kostnadsskattning Persontid viktigaste (dvs dyraste) faktorn Alltid svårt att veta, men viktigt ändå Olika angreppssätt Expertbedömning Algoritmiska modeller 79 Schemaläggning Aktivitet Tid (d) Beroenden A1 5 A2 5 A3 10 A1 A4 2 A3 A5 10 A6 15 A3, A5 start Aktivitetsnätverk för kritisk väg 10 15 A5 A6 5 10 2 A1 A3 A4 5 slut Gantt-diagram A2 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 80 4 23 November

täckning täckning Riskhantering hög Riskprocess Sannolikhet låg låg [1] Konsekvens hög [5] Strategier Reducera konsekvens Minska risk Alternativ (plan B) 81 Risk S K Prio (S x K) Strategi Undersöka alternativ Hårdvara försenad 2 5 10 Konstruera simulator Ont om persontid 4 2 8 Minska scope Strulig beställare 5 1 5 Andas... Prioritera för given funktionalitet: Tidpunkt, kostnad eller kvalitet Tidpunkt När ska vi leverera? Ju större osäkerhet desto svårare att fixera......prioritera en eller två...... lova aldrig alla tre. Kostnad Vad kan det få kosta? Kvalitet Hur bra ska det bli? 82

täckning täckning 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 : 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 83 Sammanfattning projektplanering Programvaruprojekt speciella eftersom de är en av, komplexa, och eftersom det går att ändra sent en 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 Tidpunkt - kostnad - kvalitet: Välj max 2 84

Statisk testning - dokumentgranskning 85 ar grundläggande idé Hitta fel tidigt utan att exekvera kod d.v.s statisk testning Rätt personer ska läsa Personerna ska läsa på rätt sätt Alla viktiga delar av dokumenten ska läsas Alla dokument kan granskas (krav, test, design, kod, testfall, ) Läs dokument på ett strukturerat sätt täckning 86

täckning täckning sprocessen Planering Individuell granskning Introduktion smöte Omarbete Uppföljning ABC-video: Nu ti/on Ö2 - - specifikation före individuell granskning före möte före omarbete före nästa måndag 24 MS1 Test & design: TBD TBD TBD före 3/5 MS2 Roller Moderator Författare Sekreterare Granskare Förslag: senast fredag 87 Lästekniker vid 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 88

täckning täckning Vad kostar det? Planering Individuell granskning Introduktion smöte Omarbete Uppföljning Planering och introduktion:? Individuell granskning: : 5 sid/h : 4 sid/h Kod: 150 LOC/h (utan kommentarer) Testplan: 4 sid/h Hur vet man om det är värt det? Antal personer på ett granskningsmöte: 4-10 personer x?h Omarbete och uppföljning:?h 89 V-modellen för programvaruutvecking Har vi hittat problemen - eller hur många lejon finns det i skogen? Lejonen kan vara fel och jägarna kan vara granskare 90

täckning täckning V-modellen för programvaruutvecking Med två granskare A N = totalt antal fel (som man vill veta) N A = antal fel som granskare A hittar NB = antal fel som granskare B hittar N AB = antal fel som båda hittar B Andel som granskare A hittar = N AB /N B Andel som granskare A hittar = N A /N N A /N = N AB /NB --> N = N A * NB/N AB 91 V-modellen för programvaruutvecking - sammanfattning Planering Individuell granskning Introduktion smöte Omarbete Uppföljning 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 är bra 92

Projektuppgiften - forts 93 Projektuppgiften - storyn Utveckla och leverera programvara till ett organiserat garage som förvarar cyklar. - - Installationsmanual Arbetsgivaren och beställare vill ha insyn: - - sprotokoll - Testrapporter från systemtest Vi vet att det ska vidareutvecklas av någon annan: - specifikation - Testspecifikation - - Leverabler specifikation Testplan & testspecifikation srapporter dokument Manual Testrapporter Exekverbar applikation Plattformar Moinwiki för dokumenten Java/swing för programvaran 94

Uppdrag Faser och leverabler Målmiljö specifikation = barcode reader Operator = electronic lock Barcode printer PC = pincode terminal Fas 1 Specifikation Testplan Fas 2 Extra exit door Bicycle garage Entry door dokument Fas 3 Implementation och enhetstest Exit door Fas 4 Utvecklingsmiljö Aktörer Dokumentmiljö Projekthandledare Projektgrupp 95 QA från IP3 L3 måndag v 16 kl 24: 0.x Good version Individual inspection Inspection meeting Inspection protocoll 0.99 Supervisor review Better version 0.0991 Supervisor feedback 1.0 96 Exekverbar källkod Dokumenterat genomförda systemtest

i wikin? Något som fungerar För projektgruppen För projekthandledaren Kan ha fler rubriker... 97 Veckoschema för projekten - idé måndag tisdag onsdag torsdag fredag V tid 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K 8 10 12 13 15 K lö sö 12 Student Ö0a F1 Ö0b Ö1a Ö0c Ö1b Projekt 1,0 spec 1,0 2,0 1,0 1,0 1,0 L1 Handledare -> fb0 15 Student F2 Ö2 Projekt spec 1,0 3,0 L2 G1 Handledare - - - - - -> fb1 - - - -> fb2 16 Student F3 Ö3 Projekt spec > L3 L3 Testplan Handledare - - - - - - - - - - - - -> fb3 17 Student F4 Ö4 Projekt spec G2 > L4 L4 98 Testplan G3 G4

Att göra inför övning 2 P.1-6 och intressenter I:1: Granska ABC-video och notera brister inför granskningsmöte torsdag morgon Onsdag kl 13: Mjuk deadline krav 0.x Torsdag kl 8: Återkoppling@Ö2 Måndag v16: Föreläsning om testning 3 x hård deadline 4 dag Torsdag v 16: Återkoppling@Ö3 99 Frågor om projekt som sådana? kursprojektets projektplan? kursprojektets kravspecifikation? 100