ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Föreläsning 6 Utvärdering, om tenta, avrundning Jonas Wisbrant 1 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
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 Schemalagda kursmoment Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 4
Snabbspolande utvärdering av kursen Exempel sida 1: Schemalagda kursmoment Deltog Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15 Positivt Negativt Nya idéer Bra överblick För tidigt i kursen Gör riktig manual till wikin Inte Sal Film x x Exempel sida 2: Cykelgarageprojektet Deltog Lärorikt 1-10 x 8 Kravhantering Positivt Negativt Nya idéer Wikimallen svår att använda Fler konkreta exempel Lämna anonymt i lådorna vid utgången Glöm inte att besvara CEQ-enkäten! Öa 5 Introduktion till projektwiki för C1&I i E:1407 må kl 9 6
F1 Intro, kravhantering, projektplanering, gruppindelning Identifiera krav Analysera krav Dokumentera krav Validera krav 7 Öb. Praktisk intro till projektwikin för C&I (Hacke) 8
Ö1 Kravhantering, Use-case, kravkvalitet UC3: Register for course Primary 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 F2 9 Kravhatering, Granskningsprocess & Projektplanering Identifiera Analysera Dokumentera Validera 10
Ö2 Dokumentgranskning, Projektplanering F3 11 Testning Black White Acceptanstest (VoV) Systemtest (Verifiering) Integrationstest Enhetstest 34 12
Ö3 Testplanering, Systemtest, ändringshantering. F4 13 Arkitektur, design, kodning, versioner Koppling <--> Samhörighet Hela systemet M1 M11 M2 M12 M3 M21 M22 Klient 1 Klient 2 Klient n Betj. m Nätverk Betj. 1 Betj. 1 Version, konfiguration, variant 14
Ö4 Test forts. F5 15 Utvecklingsprocesser, vidareutveckling, No silver bullet! Prog A Prog B Prog C Prog D Legacy 16
F6 Sammanfattning, utvärdering om tentamen 17 Föreläsningsfilmer på kurswebben Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 18
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... Här? CEQ Från kursstart 2011-utdrag Årets föreläsningar - efter hand 19 Cykelgarageprojektet Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 20
Snabbspolande utvärdering av kursen Exempel sida 1: Schemalagda kursmoment Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15 Inte Sal Film Positivt Negativt Bra överblick För tidigt i kursen Nya idéer Gör riktig manual 0 = Inte allsdeltog 10 = Väldigt lärorikt = Ingen åsikt - x x Exempel sida 2: Cykelgarageprojektet Deltog Lärorikt 1-10 Kravhantering Positivt Negativt Wikimallen svår att använda Nya idéer Fler konkreta exempel x 8 Lämna anonymt i lådorna vid utgången Glöm inte att besvara CEQ-enkäten! 21 Kravspecifikation Use-case Kvalitetskrav Funktionella krav Korrekt Komplett Otvetydig Verifierbar Konsistent Prioriterad Genomförbar Modifierbar Spårbar 22
Kravspecifikation: Återkoppling Mål och begränsningar Use-case Kvalitetskrav Korrekt Komplett Otvetydig Verifierbar Konsistent Prioriterad Numreringen av kraven... 23 Projektplan Uppdragsbeskrivning Intressenter Tidsestimat Aktiviteter Leverabler Gantt-schema Riskanalys 24
Projektplan: Återkoppling Uppdragsbeskrivning Intressenter Tidsestimat Aktiviteter Leverabler Gantt-schema Riskanalys 25 Testplan Testprocess Mål och metoder Testrapporter Kravtäckning Testfall Pre- & post-condition Observerbart Genomförbart 26
Testplan: Återkoppling Testprocess Mål och metoder Testrapporter Kravtäckning Testfall Pre- & post-condition Observerbart Tydliga detaljer Genomförbart 27 Design Klassdiagram med relationer Klassbeskrivningar: Publika metoder Attribut Parametrar 28
Design: Återkoppling Klassdiagram med relationer Klassbeskrivningar: Publika metoder Attribut Parametrar Var god vänd! 29 Installationsmanualen? 30
Dokumentgranskning 31 Programmering 32
Testning 33 Om tentan 34
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 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: jonas.wisbrant.lu@analys.urkund.se För rättning: etsa01@cs.lth.se - 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
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. 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).
U3 Planera granskning av designdokument (10 p) a. Förklara innebörden av de olika desigvyerna: Modulbeskrivning (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. 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.
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 ;-) 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.
Kunskap och förståelse: För godkänd kurs skall studenten: U6 forts: Kursmål 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 studenten FF1. 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 studenten VF1. förstå komplexiteten i uppgiften att utveckla ett programvarusystem. VF2. ha förståelse för ingenjörens yrkesroll. Kursinnehåll KI1. Utvecklingsprocessen för programvara KI2. Processmodellering KI3. Kravhantering KI4. Testning KI5. Arkitekturdesign KI6. Projektstyrning Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F3 KI7. Projektuppföljning KI8. Projektdokumentation KI9. Granskningar KI20 Projekt- och organisationsnivåer 43 Avslut 44
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 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) 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
Och sedan då... Programvarutestning Objektorienterad modellering och design Kravhantering Design Ingenjörsprocessen - samhällsaspekter Test Projektplan Konfigurationshantering Binär Krav Kod Ingenjörsprocessen - ekonomi och kvalitet Coaching av programvaruteam Utvprocess Programvaruutveckling i grupp Programvaruutveckling för stora system 47 48
... hoppas att ni i och med den här kursen fått en grund att fundera vidare inom området. 49 Tack för oss och lycka till med slutinlämning och tentamen 50