Agenda Kursinformation ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Sammanfattning av kursen och operativ utvärdering Schemalagda kursaktiviteter Cykelgarageprojektet Föreläsning 6 Tentamen = A:HE.1-3 Så går det till - process :-) Genomgång av förra årets tenta Utvärdering, om tenta, avrundning Jonas Wisbrant Kort om webbprojektet Kursavslutning tack & hej! 1 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 Schemalagda kursmoment 3 Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 4
Snabbspolande utvärdering av kursen Öa Exempel sida 1: Schemalagda kursmoment Introduktion till projektwiki för C1&I i E:1407 må kl 9 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! 5 F1 Intro, kravhantering, projektplanering, gruppindelning 6 Öb. Praktisk intro till projektwikin för C&I (Hacke) Identifiera krav Analysera krav Dokumentera krav Validera krav 7 8
Ö1 Kravhantering, Use-case, kravkvalitet UC3: Register for course Primary actor: Student Precondition: the student has logged in Main success scenario: F2 Kravhatering, Granskningsprocess & Projektplanering Identifiera Analysera Student lists available courses Student selects one course System accepts the selection Dokumentera Exception scenarios: 3a) The student has not been accepted on earlier required courses --> The system tells the student this situation Validera 3b) The course is full and no more students are admitted --> The system tells the student this situation Ö2 9 Dokumentgranskning, Projektplanering F3 10 Testning Black White Acceptanstest (VoV) Systemtest (Verifiering) Integrationstest Enhetstest 11 34 12
Ö3 Testplanering, Systemtest, ändringshantering. F4 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 Ö4 13 Test forts. F5 14 Utvecklingsprocesser, vidareutveckling, No silver bullet! Prog A Prog B Prog C Prog D Legacy 15 16
F6 Sammanfattning, utvärdering om tentamen Föreläsningsfilmer på kurswebben Frågor: Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 17 18 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 Cykelgarageprojektet Årets föreläsningar - efter hand 19 Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F5 20
Snabbspolande utvärdering av kursen Kravspecifikation Exempel sida 1: = Inte alls Deltog 10 = Väldigt Inte lärorikt Sal Film Öa. Introduktion till projektwiki för C&I i E:1406 kl 9.15 Positivt Negativt Nya idéer - = Ingen åsikt 0 Schemalagda kursmoment Bra överblick För tidigt i kursen x Gör riktig manual Exempel sida 2: Cykelgarageprojektet Use-case Kvalitetskrav Funktionella krav x 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 Korrekt Komplett Otvetydig Verifierbar Konsistent Prioriterad Genomförbar Modifierbar Spårbar Glöm inte att besvara CEQ-enkäten! 21 Kravspecifikation: Återkoppling 22 Projektplan Mål och begränsningar Use-case Kvalitetskrav Uppdragsbeskrivning Intressenter Tidsestimat Aktiviteter Leverabler Gantt-schema Riskanalys Korrekt Komplett Otvetydig Verifierbar Konsistent Prioriterad Numreringen av kraven... 23 24
Projektplan: Återkoppling Testplan Uppdragsbeskrivning Intressenter Tidsestimat Aktiviteter Leverabler Gantt-schema Riskanalys Testprocess Mål och metoder Testrapporter Kravtäckning Testfall Pre- & post-condition Observerbart Genomförbart 25 Testplan: Återkoppling 26 Design Testprocess Mål och metoder Testrapporter Kravtäckning Testfall Pre- & post-condition Observerbart Tydliga detaljer Genomförbart Klassdiagram med relationer Klassbeskrivningar: Publika metoder Attribut Parametrar 27 28
Design: Återkoppling Installationsmanualen Klassdiagram med relationer? Klassbeskrivningar: Publika metoder Attribut Parametrar Var god vänd! 29 Dokumentgranskning 30 Programmering 31 32
Testning Om tentan 33 Om hemtentamen 1 34 Om hemtentamen 2 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 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. FF2. FF3. Kursinnehåll 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ör godkänd kurs skall studenten VF1. VF2. förstå komplexiteten i uppgiften att utveckla ett programvarusystem. ha förståelse för ingenjörens yrkesroll. KI1. Utvecklingsprocessen för programvara KI2. Processmodellering KI3. Kravhantering KI4. Testning KI5. Arkitekturdesign KI6. Projektstyrning KI7. Projektuppföljning KI8. Projektdokumentation KI9. Granskningar KI20 Projekt- och organisationsnivåer Avslut Lunds universitet / LTH / Datavetenskap / ETSA01 VT 2012 / F3 43 44
Hälsningar från förra årets studenter Sammanfattning Kursboken kan upplevas som svår Vi har försökt introducera software engineering med fokus på områdena: krav plan design 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) test Filmer publicerade i förväg Inom varje område har vi berättat om tillämpat flera olika, tekniker principer och metoder. 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 45 46 48 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
... 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