föreläsning 6 utvärdering, om tenta,...
TRANSCRIPT
ETSA01 Ingenjörsprocessen förprogramvaruutveckling – Metodik
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Föreläsning 6
Utvärdering, om tenta, avrundning
Jonas Wisbrant
1
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Agenda
Kursinformation
Sammanfattning av kursen och operativ utvärdering• Schemalagda kursaktiviteter• Cykelgarageprojektet
Tentamen = A:HE.1-3• Så går det till - process :-)• Genomgång av förra årets tenta
Kort om webbprojektet
Kursavslutning ≈ tack & hej!
2
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Kursinformation
Nu är det vecka 20 -> slutinlämning om 57 timmar
• V 20:
– Nu: F: Om tentamen, sammanfattning, utvärdering– On kl 24: Slutleverans projekt
• V 21:
– To-fr: Hemtentamen
• Före midsommar:
– Återkoppling på projekt och projektbetyg– Resultat från hemtentan
3
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 4
Schemalagda kursmoment
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Snabbspolande utvärdering av kursen
5
Schemalagda kursmomentSchemalagda kursmomentSchemalagda kursmoment DeltogDeltogDeltog
Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15 Inte Sal Film
Positivt
Bra överblick
Negativt
För tidigt i kursen
Nya idéer
Gör riktig manual till wikin
x x
Lämna anonymt i lådorna vid utgången
Exempel sida 1:
Glöm inte att besvara CEQ-enkäten!
CykelgarageprojektetCykelgarageprojektetCykelgarageprojektetDel-tog
Läro-rikt 1-10
KravhanteringKravhanteringKravhantering
x 8Positivt Negativt
Wikimallen svår att använda
Nya idéer
Fler konkreta exempelx 8
Exempel sida 2:
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Öa Introduktion till projektwiki för C1&I i E:1407 må kl 9
6
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
F1 Intro, kravhantering, projektplanering, gruppindelning
7
Dokumentera krav
Validera krav
Analysera krav
Identifiera krav
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Öb. Praktisk intro till projektwikin för C&I (Hacke)
8
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Ö1 Kravhantering, Use-case, kravkvalitet
9
UC3: Register for coursePrimary actor: Student
Precondition: the student has logged in
Main success scenario:• Student lists available courses
• Student selects one course
• System accepts the selection
Exception scenarios:3a) The student has not been accepted on earlier required courses--> The system tells the student this situation
3b) The course is full and no more students are admitted--> The system tells the student this situation
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
F2 Kravhatering, Granskningsprocess & Projektplanering
10
Dokumentera
Validera
Analysera
Identifiera
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Ö2 Dokumentgranskning, Projektplanering
11
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
F3 Testning
12
34
Systemtest(Verifiering)
Acceptanstest(VoV)
Enhetstest
Integrationstest
Black
White
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Ö3 Testplanering, Systemtest, ändringshantering.
13
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
F4 Arkitektur, design, kodning, versioner
14
Hela systemet
M3
M1M11 M12
M2
M21
M22
Nätverk
Klient 1 Klient 2 Klient n…
Betj. 1 Betj. 1 Betj. m…
Koppling <--> Samhörighet
Version, konfiguration, variant
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Ö4 Test forts.
15
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
F5 Utvecklingsprocesser, vidareutveckling,
16
Prog A Prog B
Prog C Prog D
Legacy
No silver bullet!
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
F6 Sammanfattning, utvärdering om tentamen
17
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5
Föreläsningsfilmer på kurswebben
18
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6 19
Frågor: Hur många stannar hemma eftersom föreläsningarna ligger på webben?
Hur bra är det?
Problem: Hur fråga de som inte är här?
Lösning: Samma frågor här och i CEQ... CEQHär ?
Från kursstart
2011-utdrag
Årets föreläsningar
- efter hand
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5
Cykelgarageprojektet
20
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Snabbspolande utvärdering av kursen
21
Schemalagda kursmomentSchemalagda kursmomentSchemalagda kursmoment DeltogDeltogDeltog
Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15 Inte Sal Film
Positivt
Bra överblick
Negativt
För tidigt i kursen
Nya idéer
Gör riktig manualx x
Lämna anonymt i lådorna vid utgången
Exempel sida 1:
Glöm inte att besvara CEQ-enkäten!
CykelgarageprojektetCykelgarageprojektetCykelgarageprojektetDel-tog
Läro-rikt 1-10
KravhanteringKravhanteringKravhantering
x 8Positivt Negativt
Wikimallen svår att använda
Nya idéer
Fler konkreta exempelx 8
Exempel sida 2:
0 = Inte alls10 = Väldigt lärorikt = Ingen åsikt-
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Kravspecifikation
• Use-case• Kvalitetskrav• Funktionella krav
– Korrekt– Komplett– Otvetydig– Verifierbar– Konsistent– Prioriterad– Genomförbar– Modifierbar– Spårbar
22
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Kravspecifikation: Återkoppling
• Mål och begränsningar• Use-case• Kvalitetskrav
– Korrekt– Komplett– Otvetydig– Verifierbar– Konsistent– Prioriterad
• Numreringen av kraven...
23
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Projektplan
• Uppdragsbeskrivning• Intressenter• Tidsestimat• Aktiviteter• Leverabler• Gantt-schema• Riskanalys
24
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Projektplan: Återkoppling
• Uppdragsbeskrivning• Intressenter• Tidsestimat• Aktiviteter• Leverabler• Gantt-schema• Riskanalys
25
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Testplan
• Testprocess– Mål och metoder– Testrapporter
• Kravtäckning• Testfall
– Pre- & post-condition– Observerbart– Genomförbart
26
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Testplan: Återkoppling
• Testprocess– Mål och metoder– Testrapporter
• Kravtäckning• Testfall
– Pre- & post-condition– Observerbart– Tydliga detaljer– Genomförbart
27
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Design
• Klassdiagram med relationer
• Klassbeskrivningar:– Publika metoder– Attribut– Parametrar–
28
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Design: Återkoppling
• Klassdiagram med relationer
• Klassbeskrivningar:– Publika metoder– Attribut– Parametrar
29
Var god vänd!
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Installationsmanualen
30
?
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Dokumentgranskning
31
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Programmering
32
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Testning
33
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Om tentan
34
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Om hemtentamen 1
• Uppgiften delas ut 24 maj kl 8:00, lämnas in senast 25 maj kl 10:00• Uppgifterna löses individuellt• Tanken att det ska ta ungefär en arbetsdag att svara på frågorna• Allt material i kursen ingår. Alla svar ska baseras på kursboken och
annat material i kursen. Man kan referera till ytterligare material. Alla källor ska i så fall tydligt redovisas i texten.
• Räkna inte med filmerna.• Svar på olika nivåer:
– Godkänd nivå: en grundläggande förståelse av innehållet, grundläggande kunskap om vad i materialet som är viktigt, återge fakta på ett korrekt sätt.
– Mer avancerad nivå: analysera materialet genom t ex jämförelser och identifiering av mönster, göra jämförelser med projektet i kursen.
35
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Om hemtentamen 2
Dokument och omfattning:• Rapport á 4-6 sidor text - helst inte mer
- irrelevant inslag ger avdrag
Inlämning x 3:
För plagiatkontroll: • [email protected]
För rättning: • [email protected] - d v s samma som för slutinlämningen• Ta reda på din samID
För autentisering och säkerhet• Pappersutskrift i grå skåpet eller per papperspost
36
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
U1 Kravkrav (10 p)
Förklara innebörden av de 6-8 egenskaper
bra krav bör ha - var för sig eller tillsammans.
Det är inte alltid man lyckas uppnå dessa goda
egenskaper hos sina krav. Diskutera för var och en av
egenskaperna:
• hur man kan eller bör gå tillväga för att säkerställa/
veta/bekräfta att kravspecifikationen uppfyller den
egenskapen
• när och hur under den fortsatta processen man kan
få problem om man inte upptäckt brister i tid.
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
U2 Testa ditt system (10 p)
Jalote presenterar flera olika metoder för att välja ut testfall och/eller för
att säkerställa att de täcker projektets behov:
•! Equivalence Class Partitioning
•! Boundary Value Analysis
•! Pairwise Testing
•! State-Based Testing
•! Control Flow-Based Criteria
a) Förklara kortfattat vad respektive metod går ut på.
b) Anta sedan att du ska formulera en serie testfall för nivåerna:
•! Enhetstest
•! Integrationstest
•! Systemtest
Välj för varje nivå ut en eller två av de metoder som du förklarade i
första delen av uppgiften som du finner mest lämpliga och argumentera
för ditt val av metod (er).
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
U3 Planera granskning av designdokument (10 p)
a. Förklara innebörden av de olika desigvyerna: Modul-beskrivning (eng Module), Komponenter och konnektorer (eng
Component and connector), Allokeringsbeskrivningar (eng
Allocation).
b. Antag därefter att du som projektledare i ett
utvecklingsprojekt har ansvaret för att det genomförs en
formell granskning av en arkitekturdesign med alla tre
designvyerna. Dokumentet omfattar sammanlagt ca 40 A4-
sidor text och grafik. Föreslå hur många och vilka personer
(vad behöver de kunna eller ha för roll) du vill engagera och
hur du vill att granskarna ska arbeta, samt berskriv hur hela
granskninsgprocessen bör gå till från initiering/inbjudan till
upprättande av granskningsprotokoll.
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
U4 Utvecklingsprocesser (10 p)
Det finns flera olika sorters utvecklingsprocesser.
Beskriv följande modeller: Vattenfallsmodellen,
Iterativ utveckling och Lättrörliga processer
(”agile”).
Jämför modellerna med avseende på i vilka typer av
projekt de är lämpliga att använda.
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
U5 Studentprojekt vs riktiga projekt (12 p)
Olika processmodeller är bra i olika sammanhang. Projektet i kursen utfördes med en
tydligt definierad processmodell typ vattenfall. Se kurswebben: http://cs.lth.se/kurs/
etsa01/projekt2011/ avsnitt 5-8.
Antag scenario 1: att din projektgrupp skulle delta i en ny projektkurs till hösten där ni
hade helt fria händer att planera ert arbete.
Antag scenario 2: att din projektgrupp anlitades av ett riktigt företag för att genomföra
ett liknande projekt.
Ange för båda scenarierna:
• två moment, aktiviteter eller subprocesser som ni borde ta med till det nya projektet.
• två moment, aktiviteter eller subprocesser som ni borde avstå ifrån eller tona ner.
• två moment, aktiviteter eller subprocesser som inte ingick i kursens
processbeskrivning, men som du anser borde vara med för att få ett framgångsrikt
projekt.
Motivera kortfattat samtliga 12 val. Svaren skulle kunna redovisas i en matris enligt
exemplet nedan och de är bra om du kan identifiera moment, aktiviteter eller
subprocesser där du tror/anser att behoven skiljer sig åt mellan scenarierna
Studentprojekt och Riktiga företag.
OBS! Att återanvända exempelsvaret i matrisen nedan ger inga poäng ;-)
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
U6 Täcker tentan kursmålen (8 p)
De hittills formulerade uppgifterna (U1-U5) täcker en stor del av
kursens kursmål, men inte allt. Nedan beskrivs kursens formella kursmål
enligt KA.
a. Ange för var och en av kursmålspunkterna nedan vilken/vilka
tentamensuppgifterna U1-U5 (om någon) som adresserar kursmålet
ifråga. Motivera om kopplingen inte är uppenbar.
b. Föreslå en tentamensuppgift som adresserar ett eller flera kursmål
som inte behandlats i U1-U5 ovan. Ett tänkt svar på din föreslagna
uppgift ska både visa att man förstår viktiga ord och begrepp i kursen
och att man kan reflektera och dra egna slutsatser. Uppgiften ska inte
vara en kopia av tidigare publicerade tentamenssuppgifter i kursen,
men kan vara en nyskapande variant. Ange även vilket/vilka kursmål
du anser att frågan behandlar.
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F3
U6 forts: Kursmål
43
KursinnehållKI1. Utvecklingsprocessen för programvaraKI2. ProcessmodelleringKI3. KravhanteringKI4. TestningKI5. ArkitekturdesignKI6. Projektstyrning
KI7. ProjektuppföljningKI8. ProjektdokumentationKI9. GranskningarKI20 Projekt- och organisationsnivåer
Kunskap och förståelse: För godkänd kurs skall studenten:KF1. kunna definiera grundläggande begrepp inom utveckling av stora programvarusystem.KF2. kunna beskriva de vanligaste processerna för utveckling av stora programvarusystem.KF3. kunna förklara de viktigaste momenten i kravhanteringsprocessen.KF4. kunna förklara hur testning går till.KF5. kunna beskriva vad en arkitekturdesign är.KF6. kunna beskriva de viktigaste stegen i projektplanering och projektuppföljning.KF7. kunna beskriva hur organisationer planerar och genomför en serie av projekt.
Färdighet och förmåga: För godkänd kurs skall studentenFF1. kunna utveckla projektplan, kravspecifikation och testplan för ett mindre projekt.FF2. kunna granska projektplan, kravspecifikation och testplan för ett mindre projekt.FF3. kunna skriftligen formulera text i projektdokumentation.
Värderingsförmåga och förhållningssätt: För godkänd kurs skall studentenVF1. förstå komplexiteten i uppgiften att utveckla ett programvarusystem.VF2. ha förståelse för ingenjörens yrkesroll.
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Avslut
44
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Sammanfattning
Vi har försökt introducera software engineering med fokus på områdena:– krav– plan– design
– test
Inom varje område har vi berättat om tillämpat flera olika, tekniker principer och metoder.
45
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Nytt och oprövat i kursen
• Modifierad projektuppgift (manualer)
• Filmer publicerade i förväg
• Studenter som projekthandledare
• 5v-påsk&bygg --> 3v-påsk-2v-bygg --->
Hälsningar till nästa år hämtas från era utvärderingar
46
Hälsningar från förra årets studenter
• Kursboken kan upplevas som svår
• 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)
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Och sedan då....
47
Krav
Test
Design
Kod
Projekt-plan
Utv-process
Binär
Objektorienterad modellering och
designKravhantering
Programvarutestning
Programvaru-utveckling i grupp
Programvaruutveckling för stora system
Coaching av programvaruteam
Ingenjörsprocessen - ekonomi och
kvalitet
Konfigurations-hanteringIngenjörsprocessen
- samhällsaspekter
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6 48
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
... hoppas att ni i och med den här kursen fått en grund att fundera vidare inom området.
49
Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F6
Tack för oss och lycka till med slutinlämning och tentamen
50