Föreläsning 6: Summering och om tentamen ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg 1 Agenda Kursinformation Sammanfattning av kursen och operativ utvärdering Schemalagda kursaktiviteter Cykelgarageprojektet Tentamen Så går det till hemtentaprocessen! Genomgång av tidigare tenta Kursavslutning och framtida kurser 1
Kursinformation Nu är det vecka 20 -> slutinlämning om 2 veckor + 13,5 h V 20: Må kl 10 F: Sammanfattning, utvärdering, om tentamen Mån kl 23.59: L5b - Extern QA-granskning V 22: Må kl 23.59: L6 Slutinlämning V 23: Må kl 08 Ti kl 10 - Hemtentamen Kring midsommar: Återkoppling på projekt och projektbetyg Resultat från hemtentan Manual för systemstart Hur gör jag för att: installera systemet? få igång det? logga in? börja använda det? Målgrupp: Systemadministratör operatör... 2
Snabbrepris och utvärdering av enskilda kursmoment ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg 5 Snabbspolande utvärdering av kursen Exempel sida 1: Schemalagda kursmoment Deltog F1. Kursöversikt, kravhantering, gruppindelning, projektuppgiften, Intro till övning 1 Sal Positivt Bra överblick Negativt För tidigt i kursen Nya idéer Håll föreläsning på engelska istället x Exempel sida 2: Cykelgarageprojektet Kravhantering Deltog Lärorikt 1-10 Positivt Negativt Svårt logga in på Google-kontot Lämna anonymt i lådorna vid utgången Nya idéer Fler konkreta exempel Glöm inte att besvara CEQ-enkäten! x 8 3
F1 Intro, gruppindelning, kravhantering Grundbult i lyckade mjukvaruprojekt! Identifiera krav Analysera krav Dokumentera krav Funktionella krav Kvalitetskrav Korrekt, komplett, otvetydigt, verifierbart etc. Skall-krav Användningsfall Validera krav Ö1a Kravhantering Kursregistreringssystem - Intressentanalys - ER-diagram Cykeldatorprojekt - Kravidentifiering - Kravanalys Läskautomat - Interaktionskrav 4
Ö1b Krav-workshop kring användningsfall 1 F2 Projektplanering, granskningsprocess Kostnad Tidpunkt Kvalitet Planering Individuell granskning Introduktion Granskningsmöte Omarbete Uppföljning 5
Ö2 Projektplanering, dokumentgranskning Cykeldatorprojekt - Riskidentifiering - Riskhantering Projektplanering Granskning av aktuell kravspecifikation F3 Testning (blackbox), konfig.hantering, produktlinjer Fel Verifiering & validering Olika nivåer - Enhetstest - Integrationstest - Systemtest - Acceptanstest Ekvivalenspart. / parvis testning F k1 F k2 F kn Plattform v. k F k+1.1 F k+1.2 Plattform v. k+1 F k+1.m 6
Ö3 Testplanering, systemtest F4 Design, whitebox testing och verktygsdemo Designarkitektur beror på kvalitetskrav Objektorienterad design i UML Design av användargränssnitt Whitebox och kodtäckning 7
Ö4a Kodgranskning, teststrategi When to stop? Ö4b Test-workshop kring användningsfall 1 8
F5 Utvecklingsprocesser, vidareutveckling Processmodeller Linjära Evolutionära Iterativa Lättrörliga Legacy systems F6 Snabbrepris, utvärdering, om hemtentan 9
Lund University Computer Science Markus Borg ETSA01 Ingenjörsprocessen Metodik Snabbspolande utvärdering av kursen Exempel sida 2: Cykelgarageprojektet Deltog Lärorikt 1-10 Kravhantering Positivt Negativt Svårt logga in på Google-kontot Nya idéer Fler konkreta exempel x 8 10
Kravhantering Produktmål Kontextdiagram Användningsfall Funktionella krav Kvalitetskrav Kravspecifikation: Återkoppling 11
Projektplanering Tidsestimat Aktiviteter Leverabler Gantt-schema Riskanalys Projektplan: Återkoppling 12
Testplanering Testprocess Mål och metoder Testrapporter Kravtäckning Testfall Pre- & post-condition Observerbart Genomförbart Testplan: Extern QA-granskning 13
Design Klassdiagram med relationer Klassbeskrivningar: Publika metoder Attribut Parametrar Designdokument: Återkoppling 14
Dokumentgranskning Programmering 15
Testning Processförbättring för kursen Kursen kommer att göras om: utmärkt läge för feedback! Försvinner från D1 ersätts med annan kurs Kvarstår som obligatorisk för C1 utökas med 1 HP Fortsatt alternativobligatorisk för I3 Konsekvenser Färre än hälften så många studenter minskad projektadministration En extra poäng att fylla med innehåll SVARA PÅ CEQ-ENKÄTEN Den har chans att påverka mycket! 16
www.lth.se/stress-tarmflora Killar 19-35 år Web-formulär (2 min) Lågstressade och Högstressade tar prover hemma, lämnar på Kemicentrum eller BMC stress-tarmflora@food.lth.se, 046-2228326 Om hemtentamen ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg 34 17
Allmänt om hemtentamen Uppgiften görs tillgänglig 2 juni kl 8:00, lämnas in senast 3 juni 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 eller annat material i kursen. Man kan referera till ytterligare material, då ska alla källor tydligt redovisas. 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. Betyg i kursen Kursbetyget är en sammanräkning av projektbetyg och tentaresultat Skriver ni en riktigt bra hemtentamen så får ni betyg 5 Bara projektet är ok! Har er grupp gjort ett riktigt bra projekt så sänks betygsgränserna på tentan Riktlinje: Projektbetyg Tentamen Slutbetyg >30, <44 3 3 >44, <54 4 >54 5 >30, <40 3 4 >40, <50 4 >50 5 >30, <36 3 5 >36, <46 4 >46 5 18
Språket viktigt i hemtentamen! Förväntningar på språket högre än vid salstenta Teknisk dokumentation undvik talspråk Använd rättstavningsprogram Särskriv inte Använd rätt terminologi Läs genom innan inlämning. Två gånger! Skriv på svenska eller engelska Ni får gärna rita figurer/tabeller etc. Praktiskt om hemtentamen Dokument och omfattning: - Rapport på 4-6 sidor text - helst inte mer Irrelevanta inslag ger avdrag Kvalitet snarare än kvantitet! Inlämning x 3: För rättning: etsa01@cs.lth.se dvs. samma som för projektets slutinlämning Ärende ETSA01 Tentamen <samid> SamID meddelas per mail För plagiatkontroll: Mail skickas med CC: markus.borg.lu@analys.urkund.se För autentisering och säkerhet Pappersutskrift i grå skåpet eller per papperspost Underskrift! 19
OM det hade varit en salstenta: Förklara begreppen och hur saker och ting hänger ihop Hemtenta innebär mer resonerande uppgifter utan tydligt rätt eller fel. Ni ska kunna drive ett resonemang och argumentera för era svar med rätt begrepp. Tentafråga VT 2012 20
Tentafråga VT 2012 Förstå skillnad på verifiering/validering samt statisk/dynamisk testning Enhetstestning Av utvecklarna medan källkod skrivs, whitebox på klassnivå Testsvit används som regressionstest Integrationstest Av utvecklarna efter hand som klasser blir klara, whitebox med kodtäckning, stoppkriterium? Systemtest Av testarna, testar helheten, parvis testning, gränsvärden blackbox baserat på kraven mot kravtäckningsmatris Stresstest? Acceptanstest Av testarna med kundrepresentant, blackbox Tentafråga VT 2012 21
Tentafråga VT 2012 Naming conventions, files, statements, documentation comments a) För och nackdelar + läsbarhet, enklare buggrättningar, förenklat underhållsarbete - finns alltid undantag där det passar sämre, konventioner kan innebära merarbete b) Varför svårt för en hel organisation att använda samma standard? mycket är en smaksak, svårt att tvinga organisationer kan vara heterogena c) Hur följa upp att standarder efterlevs? utse en kodkvalitet-ansvarig som bjuds in till alla granskningsmöten introducera verktyg för att kontrollera att konventionerna följs Tentafråga VT 2012 22
Tentafråga VT 2012 System för att administrera badmintontävlingar. Exempel: registrera match Användningsfall 1. Skanna QR-kod på rapport 2. Mata in set-siffror 3. Mata in start-/sluttid 4. Mata in antal använda bollar 5. Klicka på Bekräfta Testfall 1. Skanna QR-kod på rapport TEST_A 2. Mata in set-siffrorna 15-21, 21-17, 21-8 3. Mata in starttid 10:25 och sluttid 11:30 4. Mata in antal använda bollar: 12 5. Klicka på Bekräfta 6. Verifiera att Match 22 presenteras i lista 2 Scenario i manual 1. Använd QR skannern för att registrera din match 2. Fyll i matchens resultat, uppdelat per set 3. Fyll i klockslag då matchen började resp. slutade 4. Mata in hur många fjäderbollar som användes 5. Klicka på Bekräfta för att lagra matchresultatet Tentafråga VT 2012 23
Tentafråga VT 2012 Underlättas av spårbarhet: Buggrättning Ändringshantering Vidareutveckling Regressionstestning Generell systemförståelse... Nackdelar med spårbarhet. När nödvändigt? dyrt att upprätta, särskilt i legacy-system krävs mycket arbete att underhålla vid förändringar, svårt för agil utveckling lätt att peka ut fel kopplingar, t.ex. för många ingår i standarder för säkerhetskritisk utveckling Tentafråga VT 2012 24
Tentafråga VT 2012 Planering Individuell granskning Introduktion Granskningsmöte Omarbete Uppföljning Roller vid mötet: ordförande, sekreterare, författare, granskare Rimligt med inbjudan 1-2 veckor innan mötet Individuell granskning: 5-15 sidor/h beroende på komplexitet Granskningsmöte: max 2 h Uppföljningsmöte en vecka senare Fler exempel på tentafrågor 25
Slutord ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg 51 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 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 26
En sista överblick Gå djupare! 27
Frågan kvarstår 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? Vi tackar för oss... och hoppas att ni i och med den här kursen har fått fler frågor än svar men en grund för vidare funderingar! Lund University Computer Science Markus Borg ETSA01 Ingenjörsprocessen Metodik 28