Medan vi väntar: Diskutera Om man utvecklar ett system... • Vad kan gå fel? • Vad brukar gå fel? • Varför då? • Vad kan man göra åt det? ... samt notera kurswebben: http://cs.lth.se/etsa01... ... samt köp kurskompendium för 50;-
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Streamade föreläsningar på webben
• Synligt inom LU • Vänligen sprid inte filmerna! • Ni bör inte synas – Möjligen nacken på 2-3 främre rader
• Ni kan komma att höras – Säg till om jag ska klippa bort ljud 2
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Man kan skicka frågor via webbformulär
Föreläsning 1: Projektuppgift & kravhantering INGENJÖRSPROCESSEN METODIK ETSA01 VT13 | JONAS WISBRANT
3
Utmaning Kan man förstå software engineering utan att ha upplevt stora programvaruprojekt?
Kan man förstå vad som händer i stora programvaruprojekt utan att ha studerat software engineering? 4
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Jonas Wisbrant - kort CV Samhällsvetare vid LU
1989
Kommunikation och webbutveckling
1990
Programvaruingenjör LTH i Helsingborg
2002
Institutionen för Datavetenskap 1
2002
LUCAS - Center for Applied Software Research Diverse undervisning
Det Norske Veritas
2008
Institutionen för Datavetenskap 2
2009
EASE / Programvaruportalen / kommunikation Datorer i System Ingenjörsprocessen
5
Datavetenskap + LU-webb
2011
Datavetenskap + LTH-webb?
2013
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Agenda F1 Kursen & projektuppgiften Kravhantering: • Vad är ett krav? • Hur hittar vi dem? • Hur vet vi att de är bra?
Att göra inför övning 1A
OBS! • Ti kl 08 i Hacke & to kl 8 i E:3308 • Wiki-support för C och I 6
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
I pausen: Bilda projektgrupper och köpa kompendier
Om kursen
7
Kursen Innehåll
Formalia
• Projektplanering
• 5 hp
• Kravhantering
• Obligatorisk för C1, D1, alternativobligatorisk för IE3
• Arkitekturdesign
• Moment
• Testning
– Föreläsningar
• Modeller av utvecklingsprocessen för programvara
– Övningar – Projekt
Övningar Projekt
Föreläsning Hemarbete 8
– Hemtentamen • Del 1 av 3 kurser
Vi genomför ett utvecklingsprojekt under rimligt ordnade former och belyser det med teori och reflektioner.
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Kurslitteratur • Bok Pankaj Jalote, A Concise Introduction to Software Engineering, Springer, 2008. – J: 6.2-5, 7.1.1-7.1.3 kursivt
• Kompendium Examples and Exercises in the Software Engineering Process, 2011. – Säljs av CS-institutionen för 50;-
9
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
ETSA01: Ingenjörsprocessen metodik VT2013
måndag
V
tid Student
12
8
10
12
13
tisdag 15
K
Ö0a F1
8
10
12
13
Veckoschema - kurs
v 0.9 2013-03-04
onsdag 15
K
8
10
12
Ö0b
13
torsdag 15
K
Ö1a
8
10
Ö0c
F2
-
Projekt
-
-
-
-
->
10
12
13
15
•
•
•>
L3
fb1
|-
-
-
->
•
lö
sö
fb0
G1
•
G4
•
fb2 Ö3
|-
-
-
-
-
-
-
-
-
-
-
-
->
G2
•
•
•
•
•
•
•
•>
L4
F4
Student
fb3 Ö4
Projekt
|-
Handledare
G3 -
-
-
->
fb4
T
T
T
T
T
T
T
Ö5
Student Projekt
K
Ö2
F3 •
Handledare
•
•>
L5 |-
Handledare
-
-
-
-
-
-
-
-
->
fb5
F5
Student
19
8
L2
Student
18
K
L1 ->
Projekt Handledare
17
fredag 15
Projekt
Student
16
13 Ö1b
Handledare
15
12
Projekt Handledare
20 22
F6
Student
L6
Projekt Student Personal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
23
Personal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
24
Personal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
25
Personal
-
-
-
-
-
-
-
-
-
-
-
->
fb6
F
Schemalagd föreläsning
10
Ö
Schemalagd övning
L
Leverabel från projektet
fbT
G
Granskningsmöte?
T
Tentamen
fb Återkoppling
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik K=Kurskompendium A= Övning på kurswebben P=projektbeskrivning på kurswebben J=Jalote, Pankaj Preliminära granskningsmöten i projektet
Leveranser från projektet L1 Användarfall 1 samt funktionella krav och kvalitetskrav
Planerad återkoppling från projekthandledare fb1 Att gruppen har förstått grunderna i formulering av användarfall och krav.
L2
fb2 Att kravspecifikationen har struktur i Wikin.
Kravspecifikation 0.x
T
T
T
T
T
T
T
Personal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
23
Personal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
24
Personal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
25
Personal
-
-
-
-
-
-
-
-
-
-
-
->
fb6
22
F
Student
Schemalagd föreläsning
J=Jalote, Pankaj
Ö
Schemalagd övning
K=Kurskompendium
L
Leverabel från projektet
A= Övning på kurswebben
Preliminära granskningsmöten i projektet
fbT
G
Granskningsmöte?
T
Tentamen
fb Återkoppling
P=projektbeskrivning på kurswebben
Leveranser från projektet
Planerad återkoppling från projekthandledare
L1
Användarfall 1 samt funktionella krav och kvalitetskrav
fb1 Att gruppen har förstått grunderna i formulering av användarfall och krav.
L2
Kravspecifikation 0.x
fb2 Att kravspecifikationen har struktur i Wikin.
G1 Granskning av Kravspecifikation 0.99
L3
Kravspecifikation 0.99, Granskningsprotokoll från granskning inför Kravspecifikation 0.99. Projektplan med tider och risker.
fb3 Att krav, granskningsprotokoll och projektplan är av tillräcklig kvalitet för att milstolpe 1 ska kunna passeras.
G2 Granskning inför Kravspecifikation 1.0
L4
Kravspecifikation 1.0, granskningsprotokoll
fb4 OK eller ytterligare iteration
G3 Granskning inför design 1.0
L5
Testplan 1.0, Design 1.0, Granskningsprotokoll från granskningar inför Testplan 1.0 och Design 1.0
fb5 Översiktlig återkoppling på testplan och design
G4 Granskning inför Testplan med testspecifikation 1.0 L6
Sista versionen av Kravspec, Projektplan, Testplan, Design, exekverbar kod, testprotokoll, manual för systemstart
fb6 Granskning och bedömning av samtliga dokument fbT Tentamensresultat i LADOK (ej från projekthandledare).
Föreläsningar
Förberedelser
Övningstillfällen
Förbered
F1
Kursöversikt, kravhantering, gruppindelning, projektuppgiften, Intro till övning 1
J: 1, 3, 4
Ö1
F2
Kravhantering, Projektplanering, Granskning.
J: 3, 4, 7.5
Kravhantering: Kravkriterier, Kvalitetskrav, Användarfall, relationen mellan Användarfall, och skall-krav, projektuppgiften
Projektbeskrivning A: R.7-10 en avsnitt 1-4 på Introduktion, kurswebben. diskussion kring L1 A: R.1-6
F3
Testning
J: 8
Ö2
F4
Arkitektur, design, kodning, versioner
J: 5, 6, 7
Diskussion: A: P.1-6 Göra A: I.2-3
F5
Utvecklingsprocesser, vidareutveckling, om tentamen
J: 2
Projektplanering: Intressentanalys, A: P.1-5 affärsmål, produktmål, projektmål, A: I.1 riskanalys, riskkategorier, uppställning Dokumentgranskning (inspection)
F6
Inför tentamen, sammanfattning av kursen
J: 1-8, A:HE1 Ö3
Ändringshantering, Testplanering, Systemtest
A: T.1-8
Diskussion: A:T.1-8 Göra: A: T.11-12
Ö4
Test forts, Design
Besked ges vid F4 A: T.9-10
Ö5
Återkoppling testplan och design
11
Sker på plats
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Examination Projektarbete 26 timmar hemtenta 24-25/5: • U3 Kravgranskning (10 av 60 p) Beskriv hur en kravgranskning går till och förklara målsättning, varför denna typ av granskning är viktig, vem som bör delta, samt vilka typer av fel man bör leta efter. • Diskutera vilka svårigheter som finns då man vill införa denna typ av granskningar i en organisation samt ange tänkbara lösningar på dessa problem. Ange också om det finns några alternativ till denna typ av granskning och vilka dessa i så fall är.
12
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Personal Jonas Wisbrant, • kursansvarig, föreläsningar, övningar
Anna Axelsson • övningar, projekthandledning
Markus Borg • övningar, projekthandledning
Emelie Engström • övingar, projekthandledning
Kim Weyns • övningar, projekthandledning
Krzysztof Wnuk • övningar, projekthandledning 13
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Hälsningar från förra årets studenter Kursboken kan upplevas som svår - det är den inte. Projektet innebär att man ofta känner osäkerhet. Det är viktigt att alla i projektgruppen har koll på tidplanen - vem, vad, när & varför ;-) Bred medverkan i projektet ger stor fördel på tentan.
Nytt och obeprövat i kursen: - bara en vecka till påskuppehållet
➡
kraftigt modifierad inledning
- en mycket bättre test-labb ?!? 14
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Om projektuppgiften
15
Projektuppgiften Arbeta i grupper om 6 personer
Genomför utvecklingsprojekt från början till slut • • • • •
16
Kravidentifiering och kravanalys Projektplanering Design och implementation Testning Leverans
Leverabler –
Kravspecifikation
– – – –
Projektplan Testplan & testspecifikation Granskningsrapporter Designdokument
– – –
Manual Testrapporter Exekverbar applikation
Plattformar – –
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Moinwiki för dokumenten Java/swing för programvaran
Kick-start: Etablera projektgrupper i pausen 158 personer -->
26,3
Första deadline om 109,5 h
26 grupper
Anmäl dig på anslagna lappar i senast i pausen Kursledningen fördelar de som inte anmält sig Grupperna är igång på ONSDAG KL 13. • Har konto i projekt-wikin • Har förberett Övning 1! • Har läst in sig på projektuppgiften
17
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Bilda projektgrupper och köp kompendium i pausen Skriv upp dig på en av grupperna Alla grupper ska ha sex deltagare. Grupp XX
Deltagare (namn) Lisa Larsson
D1
Kalle Karlsson
IE3
E:3308
Notera grupp och övningslokal Köp kompendium 18
Program
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Kravspec Projektplan Testplan
•
•>
L5
Design
•
•>
L5
Code
xls finns på kurswebben
Test
|-
Handledare
19
Student Projekt
-
-
-
-
-
-
-
->
fb5
F5
Veckoschema för projekten - idé
Kravspec
ETSA01: Ingenjörsprocessen metodik Projektplan VT2013
Projektgrupp:
Tidplan vt 2013
Testplan
måndag
Design
V
tid
Code
Student 12 Test
8
10
12
13
tisdag 15
K
Ö0a F1
8
10
12
13
onsdag 15
K
8
10
12
Ö0b
13
torsdag 15
K
Ö1a
8
10
12
Ö0c
Ö1b
2,0
1,0 1,0
fredag 15
K
8
10
12
13
15
1,0
Projekt Startman.
1,0
Kravspec Handledare
20
13
Handledare Student
->
F6
Student 15 Projekt
F2
L1 1,0
0,5
fb0
L2 1,0
3,0
L6
1,0
G1
Projektplan Testplan
Student 16 Code
-
- ->
F3
fb2
L6
Ö3
L6
Projekt Test
L6
Kravspec Startman
•
•
•
•
•>
L3
L6
Projektplan Handledare
|->
Testplan Schemalagd föreläsning Design
Ö
Schemalagd övning
|-
Handledare
17
• L6
L6
|-
fb1
Handledare Design
F
lö
Ö2
Projekt Kravspec Kravspec Projektplan
K
L
-
-
Leverabel från projektet
-
-
-
-
G
-
-
Granskningsmöte?
-
-
fb
- ->
F4
Student
Återkoppling
T
Tentamen
1,0 Timmar per projektmedlem
fb3 Ö4
Projekt
G2
Kravspec
•
•
•
•
•
•
•
•>
19Projektplan Testplan
L4 L4
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
G3
Design
•
•
G4
•
Code
18
Handledare
|-
Student
Ö5
-
- ->
fb4
Projekt Kravspec Projektplan Testplan
•
•>
L5
Design
•
•>
L5
Code
Projektwikin
• Självförklarande |- - - - - ;-)
Test
Handledare
19
-
-
->
fb5
F5
Student Projekt
Kravspec Projektplan Testplan Design
• Läsrätt:
Code Test
Startman. Handledare
20
– egen grupp – kursledning (med automatik) F6
Student Projekt Kravspec Projektplan Testplan
L6 L6 L6
Design
L6
Code
L6
Test
L6 L6
Startman
|->
Handledare F
20
Schemalagd föreläsning
Ö
Schemalagd övning
L
Leverabel från projektet
G
Granskningsmöte?
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
fb
Återkoppling
T
Tentamen
1,0 Timmar per projektmedlem
sö
Om kravhantering
21
Agenda Krav • Definition • Olika sorter
Kravhanteringsprocessen • • • •
22
identifiera analysera dokumentera validera
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
“Top 10 challenges” 1. Låg användaråterkoppling 2. Ofullständiga krav 3. Kraven ändras 4. Lågt stöd från ledningen 5. Behärskar inte teknologin 6. Resursbrist 7. Orealistiska förväntningar 8. Oklara mål 9. Orealistiska tidsplaner
Standish Group Survey ”Chaos Report” (1994) Top 10 Challenges
10. Ny teknik 23
[Standish Group, 1995]
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Vad är ett krav?
Underlag för test
Önskemål
Behov
Måste Kontrakt Funktion
Idé Beslut
Produktegenskap Begränsning
Nytta 24
Lönsamhet
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen i ingenjörsprocessen Idé Affärsmål Produktmål Tidplan
Utvärdering
Användarfall
Kvalitetskrav Risker
Verifiera
Krav
Acceptanstest
Verifiera
Testdokumentation
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Integrationstest
Verifiera
Applikation 25
Support
Releasebeslut
Kravtäckning
Design Gränssnitt hårdvara
Underhåll
Release
Funktionella krav
Resurser
Projektplan
Validera
Varianter
Konfigurationer
Enhetstest
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Support
Acceptanstest Testdokumentation Felrapport
Granskning
Design
Systemtest
Gränsvärde
Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Kodgranskning Whitebox
Återanvänd kod
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Integrationstest
V-modellenV-modellen i ingenjörsprocessen för programvaruutvecking Versioner
Applikation
Verifiera
Varianter
Konfigurationer
Enhetstest
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Idé Affärsmål Produktmål Tidplan
Användarfall
Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Utvärdering
Validera
Risker
Verifiera
Krav
Rele
Kravtäckning
Acceptan
Verifiera Granskning
Design
Gränsvärde
Gränssnitt hårdvara 26
Kodgranskning
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Återanvänd kod
Programkod Versioner
Whitebox Blackbox
Ekvivalensklasser Kodtäckning Verifiera
Integration
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Olika sorters krav
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Funktionella krav • Beskriver vilka funktioner systemet ska erbjuda
Kvalitetskrav • Begränsningar för funktionerna • Påverkar ofta hela produkten
27
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Programkod
Applikation
Användbarhet - Begriplighet, lärbarhet, handhavande, attraktivitet
Effektivitet - Tidsbeteende, resursutnyttjande
Underhållsbarhet - Analyserbarhet, ändringsbarhet, stabilitet, testbarhet
Portabilitet Uppfyllandegrad (standarder etc) Delar av ISO9126, se också Ingproc 2 Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Kodtäckning
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
- Mognadsgrad, feltolerans, återhämtningsförmåga
28
Ekvivalensklasser
Blackbox
Versioner
Tillförlitlighet
Systemtest
Gränsvärde
Återanvänd kod
Kvalitetskrav
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Funktionella krav, exempel
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Om kunden erlägger belopp större än en varas pris ska systemet returnera mellanskillnaden.
Vid time-out returnerar systemet erlagda mynt.
Om en kund trycker på en knapp för en vara som inte finns händer ingenting.
29
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
99% av personerna på perrongen ska var korrekt identifierade inom 15 sekunder
Systemet får vara ur funktion högst 30 minuter om året.
30
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Integrationstest
Verifiera Varianter
Det får maximalt gå 1.0 sekund från en myntiläggning till att systemet är redo att ta emot nästa mynt.
Programvaran får högt använda 65 kb ROM
Systemtest
Gränsvärde
Återanvänd kod
Kvalitetskrav, exempel
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Tidplan
Risker
Verifiera
Krav
Granskning
Felrapport
En Process enligt wikipedia ≈ En samling i förväg uttänkta aktiviteter som ska användas varje gång man skapar ett visst resultat...
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Kravhanteringsprocessen
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Identifiera krav
Analysera krav Dokumentera krav Validera krav
31
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
• Från olika personer med olika behov • Ta hänsyn till lagar, regler och standarder • Hur? – – – – – – –
32
Marknadsanalyser Kundkontakter Analys av gamla system och processer Intervjuer, Kartläggningar (frågeformulär etc), Observationer Prototyper
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Identifiera krav
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Analysera krav
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Programkod
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
• Förstå problemen som systemet ska lösa • Identifiera nya krav, stryk krav, omformulera krav, värdera, dvs iterera • Viktiga önskemål om kravspecifikation i denna fas: – Korrekt, dvs stämmer med bakomliggande behov – Komplett, dvs inga viktiga saker saknas – etc
33
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
• Dvs ta fram kravspecifikation • Olika format möjliga – Text – Grafisk form – Formell notation
34
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Dokumentera krav
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Användningsfall (use case)
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Identifiera, analysera, dokumentera och validera krav, utgående från typiska exempel på användning.
Administrera kurs
Anmäla sig
Lärare
Student Lista kurser
35
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Programkod
Applikation
Kodtäckning
Huvudscenario 1. Studenten listar tillgängliga kurser 2. Studenten väljer en kurs 3. Systemet registrerar valet och meddelar studenten
Undantagsfall 3a) Studenten saknar förkunskapskrav från någon tidigare kurser => Systemet meddelar studenten att och orsak till detta 3b) Kursen är fulltecknad, studenten får inte plats => Systemet registerar studenten i kö och meddelar studenten
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Förhandsvilkor: Studenten är inloggad
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Ekvivalensklasser
Blackbox
Versioner
Primär aktör: Student
36
Systemtest
Gränsvärde
Återanvänd kod
Användarfall - exempel välja kurs
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Release
Funktionella krav
Tidplan
Kvalitetskrav
Resurser Risker
Projektplan
Verifiera
Krav
Support
Acceptanstest Testdokumentation
Granskning
Felrapport
Design
Systemtest
Gränsvärde Kodgranskning
Gränssnitt hårdvara
Whitebox
Återanvänd kod
Programkod
Användarfall - Metod
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Identifiera aktörer och deras mål För varje användningsfall: - förstå och specificera huvudscenario - beskriv förhandsvillkor
För varje huvudscenario - identifiera undantagsscenarier
För varje undantagsfall:
Aktör UC1
UC2
UC3
S
S
S
U U
U U U
- definiera vad som ska hända
Val av detaljnivå beror på situationen... 37
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Tidplan
Risker
Verifiera
Krav
Felrapport
Granskning
Ny har vi formulerar funktionsoch kvalitets-krav. Men...
Kodgranskning Whitebox
Programkod
• Hur hittar vi bland kraven? • Hur analyserar och dokumenterar vid dem? • Hur säkerställer vi att vi förstått? • Hur ska vi prioritera?
Process enligt wikipedia ≈ En samling i förväg uttänkta aktiviteter som ska användas varje gång man skapar ett visst resultat...
38
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Analysera krav Dokumentera krav Validera krav
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Identifiera krav
Systemtest
Gränsvärde
Återanvänd kod
Kravhanteringsprocessen
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Granskning
Felrapport
39
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Dataflödesdiagram
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Student: pnr, namn, inskrivningsår Kurs: kurskod, namn, #hp Program: beteckning, namn Följer
Student
*
1
Program *
* Läser *
Kurs
Ingår på *
ER-diagram - Entity Relationship
40
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Används ofta för att modellera data i databaser
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Data lagras i systemet (entitet + attribut), t ex:
Systemtest
Gränsvärde
Återanvänd kod
ER-diagram - exempel
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering
Kvalitetskrav Risker
Verifiera
Krav
Granskning
Felrapport Gränsvärde
Whitebox
Programkod
Ekvivalensklasser
Blackbox
Verifiera
Applikation
ecking aruutv gramv
llen
V-mode
för pro
Tidpla
n er
Resurs
Utvär
Verifie
Gräns
ra
asser
lenskl
ing
Kodgr
Ekviva
anskn
port
Kodtä ox
katio
n
ra
ration
stest
Integ
tstest
Verifie
Blackb ner
Versio
t mtes
ckning
box
White
d
amko
Progr
n
ntatio
kume
värde
kning
ara kod
est
Testdo
Felrap
Grans
n
tanst
Syste
hårdv
nvänd
Återa
t
ebeslu
Releas
Accep ckning
ra
Verifie
Krav
snitt
håll rt
era
Kravtä
Desig
Gräns
Enhetstest
Konfigurationer
Suppo
se
Risker
ktProje plan
Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik Under
g
derin
Relea Valid
smål l darfal a krav Använ ionell v Funkt etskra Kvalit
Integrationstest
Kodtäckning
Versioner
Affär
Systemtest
Kodgranskning
Återanvänd kod
Idé
Acceptanstest Testdokumentation
Gränssnitt hårdvara
ktProdu mål
Support
Releasebeslut
Kravtäckning
Verifiera
Design
Skillnad?
Underhåll
Release
Funktionella krav
Resurser
Projektplan
Validera
Användarfall
ner
Enhe
uratio
ter Varian
Konfig
Appli
processe
| Compute Lund
r Science
| Jonas
Wisbrant
| ETSA01
n metodik
Ingenjörs
University
ER-dia
am di a g r s e d f lö
Data la
gram -
Läser *
*
Kurs 36
ER-dia Lund Un
35
41
U Lund
ity | C
nivers
ompu
cience
ter S
| Jo
t|E
01 TSA
In
spro genjör
gram -
iversity
Entity R
| Comp
uter Sc
hip
Jonas
Wisbran
t | ETSA
01 Ingen
ik etod
en m
cess
Använda
jörsproc
essen
metodik
ella krav Kvalitetsk rav
Utvärde
Design
ring Underhål
ning
Återanvä
nd kod
de
kod
Blackbox
Versione
r Varianter
Lund University
Science
| Jonas
Wisbrant
| ETSA01
Ingenjörsproce ssen metodik
V-modellen för programvaruutvecking Utvärdering
Validera
Användarfall
Release
Funktionella krav Kvalitetskrav
Resurser Risker
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Programkod
Dokumentera krav med naturligt språk
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
42
Konfigurationer
Nackdelar: • Otydligt • Risk att blanda olika sorters krav • Risk att slå samman flera krav i ett
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
• Generellt • Flexibelt • Lätt att använda och förstå
Systemtest
Gränsvärde
Återanvänd kod
Fördelar:
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Enhetstest
est
sklasser
Kodtäckn
Integrat
ionstest
Verifiera Konfigur
ationer
| Computer
rt
Systemt
Ekvivalen ing
tion
mentatio
Felrappo
Gränsvär
Whitebox
Program
Idé
Projektplan
Testdoku kning
Applika
eslut
nstest
Kodgrans
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Affärsmål
Releaseb
Accepta
ng
Gränssnit
Använ ds ofta fö att mo dellera r data i databa ser
Tidplan
Support
Kravtäck
Granskni
t hårdvara
l
Release
Verifiera
Krav Verifiera
Produktmål
tvecking
Validera
rfall Funktion
Risker
å
elations
ience |
ål
mål
Tidplan
plan
*
Ingår p
n för prog
ramvaruu
Idé Affärsm
Produkt
Resurser
Projekt-
gras i s ysteme Studen t (entit t: pnr, et + at namn, tribut), Kurs: k inskriv t ex: urskod ningså , namn r Progra , #hp m: bet ecknin g, nam n Studen F öljer t * * Progra 1 m
Data
isbran nas W
V-modelle
exempe l
Enhetst est
n
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Release
Funktionella krav
Tidplan
Kvalitetskrav
Resurser Risker
Projektplan
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning
Gränssnitt hårdvara
Whitebox
Återanvänd kod
Programkod
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Table of contents
3. Specific Requirements
1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms, and Abbreviations 1.4 References 1.5 Overview
Appendix Index
2. General Description 2.1 Product Perspective 2.2 Product Functions 2.3 User Characteristics 2.4 General Constraints 2.5 Assumptions and Dependencies
43
Support
Acceptanstest Testdokumentation
Design
Delar i en kravspecifikation
Underhåll
Releasebeslut
Kravtäckning
Verifiera
[IEEE Guide to Software Requirements Specifications, ANSI/IEEE Std 830-1984]
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Release
Funktionella krav
Tidplan
Kvalitetskrav
Resurser Risker
Projektplan
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Återanvänd kod
Programkod
Produktmål
Användarfall
Krav-krav
Funktionella krav
Resurser
Kvalitetskrav Risker
Release
Test - krav Verifiera
Krav
Design-krav
Utvärdering
Validera
Tidplan
Projektplan
Applikation
Kodtäckning
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Support
Acceptanstest Testdokumentation
Granskning
Felrapport
Design
Systemtest
Gränsvärde
Återanvänd kod Design
Underhåll
Releasebeslut
Kravtäckning
Kodgranskning Whitebox
kod
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Integrationstest
Verifiera Varianter
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Enhetstest
Integrationstest
Verifiera Varianter
Verifiera
Gränssnitt hårdvara
44
Ekvivalensklasser
Blackbox
Versioner
Krav - källan Affärsmål
Systemtest
Gränsvärde
Gränssnitt hårdvara
Idé
Support
Acceptanstest Testdokumentation
Design
Spårbarhet V-modellen för programvaruutvecking
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Release
Funktionella krav
Tidplan
Kvalitetskrav
Resurser Risker
Projektplan
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Validera kraven
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Kontrollera att kravspecifikationen är korrekt och av hög kvalitet Exempel på metoder: • Granskning (vanligast) • Utveckla testfall • Verktygsstöd för formellt skrivna krav
45
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Felrapport
Granskning
Kodgranskning Whitebox
Programkod
46
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
[Alan Davis]
Systemtest
Gränsvärde
Återanvänd kod
Tidiga faser är viktiga
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Bra egenskaper hos krav och en kravspecifikation • Korrekt • Heltäckande • Otvetydig • Verifierbar
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Support
Acceptanstest Testdokumentation
Granskning
Felrapport
Design
Systemtest
Gränsvärde
Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Kodgranskning Whitebox
Återanvänd kod
Programkod
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
• Konsistent Enskilt eller tillsammans?
• Prioriterad / nödvändighet • Spårbar • Genomförbar
Vid time-out returnerar systemet erlagda mynt.
47
Tidplan
Korrekt
✔
Heltäckande
-
Otvetydigt
✔
Konsistent
-
Verifierbart
✔
Nödvändigt
✔
Spårbart
x
Rankat
-
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål
Checklista för granskning för kursens projekt
Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Support
Acceptanstest Testdokumentation Felrapport
Granskning
Design
Systemtest
Gränsvärde
Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Kodgranskning Whitebox
Återanvänd kod
Programkod
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Integrationstest
Verifiera Varianter
Konfigurationer
Enhetstest
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
1. 2. 3. 4. 5.
48
Saknas några krav? Är samtliga krav nödvändiga? Finns det några motstridiga krav? Kan samtliga krav verifieras? Ä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? 12. Har samtliga krav unika identifierare?
Produktmål
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Guidat alternativ på kurswebben
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Release
Funktionella krav
Tidplan
Kvalitetskrav
Resurser Risker
Projektplan
Verifiera
Krav
Granskning
Felrapport
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Programkod
Kravprioritering
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Ekvivalensklasser
Blackbox
Integrationstest
Kodtäckning
Versioner
Verifiera
Applikation
Varianter
Enhetstest
Konfigurationer
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Omöjligt att implementera alla bra idéer!
Jämför krav med avseende på: • • • • • •
49
Värde för kund Kostnad att implementera Ledtid att implementera Risk Värde för nya kunder …
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Release
Funktionella krav
Tidplan
Kvalitetskrav
Resurser Risker
Projektplan
Verifiera
Krav
Felrapport
Granskning
Systemtest
Gränsvärde Kodgranskning Whitebox
Återanvänd kod
Exempel prioritering - värde/kostnad
Support
Acceptanstest Testdokumentation
Design Gränssnitt hårdvara
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Programkod
Ekvivalensklasser
Blackbox
Applikation
Integrationstest
Kodtäckning
Versioner
Verifiera Varianter
Konfigurationer
Enhetstest
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
V-modellen för programvaruutvecking Idé Affärsmål Produktmål
Utvärdering
Validera
Användarfall
Tidplan
Funktionella krav
Resurser
Kvalitetskrav Risker
Projektplan
Release
Verifiera
Krav
Kravtäckning
Acceptanstest
Verifiera
Testdokumentation Felrapport
Värde
6
Design
Whitebox
Återanvänd kod
Applikation
4 3 7 89 11 12
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
5 2
10 14
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Kostnad 50
Kodgranskning
Programkod
1
Systemtest
Gränsvärde
Gränssnitt hårdvara
Support
Releasebeslut
Granskning
13
Underhåll
Konfigurationer
Enhetstest
V-modellen för programvaruutvecking Idé Affärsmål Produktmål Tidplan
Utvärdering Release
Funktionella krav Kvalitetskrav
Resurser
Projektplan
Validera
Användarfall
Risker
Verifiera
Krav
Granskning
Felrapport
Kodgranskning Whitebox
Återanvänd kod
Programkod
Krav och projekt i ett större perspektiv
Ekvivalensklasser
Blackbox
Kodtäckning
Versioner
Applikation
Produktledning
Krav
Design
Impl
Test
Krav Krav Krav
Design Design Design
Impl Impl Impl
Test Test Test
Plattform
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Sammanfattning - Krav • Viktigt eftersom tidiga faser påverkar mycket • Krav kan finnas på olika abstraktionsnivåer • Kvalitetskrav påverkar ofta hela produkten • Egenskaper hos krav: korrekt, komplett, otvetydig, verifierbar, konsistent, prioriterad, spårbar, genomförbar • Krav är en viktig del i arbetet med produktledning och produktplanering
Mer om krav i Kravhantering (ETS170) 52
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Integrationstest
Verifiera Varianter
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
• Spårbarhet: källa–krav, krav-krav, krav-design/kod
Systemtest
Gränsvärde
Gränssnitt hårdvara
51
Support
Acceptanstest Testdokumentation
Design
Produkter
Underhåll
Releasebeslut
Kravtäckning
Verifiera
Konfigurationer
Enhetstest
Att göra nu Prio 1: Kom på banan nu! • Skaffa wiki-konton enligt kurswebb. Hitta INTE på egna namn • Läsa in er på projektbeskrivningen • Göra R.1-6
Prio 2: • Läsa J:3-4 • Uppdatera: http://wiki.cs.lth.se/ETSA01/ gruppXX/gruppmedlemmar
Kursledning: Prio 1: Kom på banan nu! – Rigga kurswikin – Förbereda övning 1a och 1b 53
Denna vecka C & I:
Wiki ti kl 8 i Hacke Ta gärna med laptop
Alla: Övningar on kl 13: Krav och projekt to kl 8: Projekt utan lokal Wikiguide i E:3308
to kl 13: Projekt med lokal & HL fr kl 24: L1 i wikin :-)
V2 Tidag efter påsk + tentavecka E:A kl 13: – Mer om kursen – Om Projekt – Om Granskning – Val av kursombud
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Projektuppgiften - storyn • Utveckla och leverera programvara till ett organiserat garage som förvarar cyklar. - Applikation - Installationsmanual • Arbetsgivaren och beställare vill ha insyn: - Projektplan - Granskningsprotokoll - Testrapporter från systemtest • Vi vet att det ska vidareutvecklas av någon annan: - Kravspecifikation - Testspecifikation - Design - Programkod 54
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
Leverabler –
Kravspecifikation
– – – –
Projektplan Testplan & testspecifikation Granskningsrapporter Designdokument
– – –
Manual Testrapporter Exekverbar applikation
Plattformar – –
Moinwiki för dokumenten Java/swing för programvaran
Uppdrag
Faser och leverabler
Målmiljö
Kravspecifikation
= barcode reader
Operator
= electronic lock Barcode printer
PC
= pincode terminal
Fas 1 Specifikation
Projektplan
Testplan Fas 2 Design Extra exit door
Bicycle garage
Entry door
Designdokument
Fas 3 Implementation och enhetstest
Exit door
Fas 4 Systemtest
Utvecklingsmiljö
Aktörer
Dokumentmiljö
Projekthandledare Projektgrupp
55
Lund University | Computer Science | Jonas Wisbrant | ETSA01 Ingenjörsprocessen metodik
QA från IP3
Exekverbar källkod
Dokumenterat genomförda systemtest