Hemtentamen: ETSA02 Programvaruutveckling Metodik

Relevanta dokument
Hemtentamen: ETSA01 Ingenjörsprocessen för programvaruutveckling metodik

Hemtentamen: ETSA01 Ingenjörsprocessen för programvaruutveckling metodik Jonas Wisbrant

Hemtentamen: ETSA02 Programvaruutveckling Metodik

Hemtentamen: ETSA02 Programvaruutveckling Metodik

Agenda. Föreläsning 6: Utvärdering och om tentamen. Kursinformation

Agenda. Kursinformation. Manual för systemstart... Föreläsning 6: Utvärdering och om tentamen

Agenda. Projektbeskrivning avsnitt 8: Acceptanstest - MS4 i korthet. Kursinformation

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

Hemtentamen: ETSA02 Programvaruutveckling Metodik

Agenda. Föreläsning 6: Processer och vidareutveckling. Kursinformation. Utvecklingsprocesser. Programvara efter release. L5b Extern QA-granskning

Detta har hänt... Agenda. Kursinformation. Föreläsning 5: Processer och vidareutveckling

ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg

Agenda. Kursinformation. Manual för systemstart. Föreläsning 6: Summering och om tentamen. Målgrupp:

Exercise 1b: Requirements evaluation

Agenda. Föreläsning 6: Summering och om tentamen Kursinformation

Specifikationer i kompendiet Övningar på moodle.cs.lth.se Support Onsdag kl i E: (84?) Frågestund: F3

Exercise 1b: Requirements evaluation

Detta har hänt... Kursinformation. Agenda. Kursinformation

Diskutera medan vi väntar

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Föreläsning 5 Processer Vidare utveckling

Detta har hänt... Föreläsning 2: Projektplanering & Granskning Bildat projektgrupper. Pratat och provat kravhantering. Skaffat litteratur?

Programvaruutveckling - Metodik 2016 Jonas Wisbrant

Föreläsning 5 Processer, vidare utveckling

Föreläsning 5 Processer, vidare utveckling

Exercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Diskutera medan vi väntar. Detta har hänt... Agenda. Föreläsning 5: Processer och vidareutveckling. Kan man utveckla programvara

Detta har hänt... Agenda. Kursinformation. Kursinformation

Detta har hänt... Föreläsning 2: Projektplanering & granskning. Pratat och provat kravhantering. Bildat projektgrupper :-) Skaffat litteratur?

Föreläsning 6. Utvärdering, om tenta, avrundning

Föreläsning 6. Utvärdering, om tenta, avrundning. Agenda. Kursinformation. Schemalagda kursmoment. Jonas Wisbrant. Kursinformation

ETSA01 Ingenjörsprocessen för Programvaruutveckling Metodik

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

ETSA02 Programvaruutveckling Metodik Föreläsning 1 Jonas Wisbrant

Vad händer med L3: ΔL3-L4 för Krav följs upp av annan projektgrupp. Föreläsning 5: V&V II + Design II Efterläsning Kodning

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Verifiering & validering -

ETSA01 Ingenjörsprocessen för Programvaruutveckling Metodik. Föreläsning 1 Markus Borg. Flickr: carlcollins.

Föreläsning 4: Konfigurationer, Plattformar & Design I Programvaruutveckling - Metodik 2016 Jonas Wisbrant

Streamade föreläsningar på webben

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Föreläsning 3 Verifiering och Validering

Utmaning. Föreläsning 1: Kursen & Projektuppgift Utvecklingsprojekt & Kravhantering. Agenda F1. Jonas Wisbrant - kort CV

Linköpings universitet 1

Streamade föreläsningar på webben

Streamade föreläsningar på webben. Föreläsning 1: Kursen & Projektuppgift. Utvecklingsprojekt & Kravhantering. Utmaning. Jonas Wisbrant - kort CV

Min frånvaro. Agenda. Föreläsning 4: Design och praktisk testning

ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg

Projektplan, Cykelgarage

Detta har hänt... Sammanfattning - Krav. Agenda F2. Föreläsning 2: Projektplanering & granskning

Föreläsning 3 Verifiering och Validering

Är instruktionerna oklara, projektet rörigt och allmänt frustrerande?

Medan vi väntar: Diskutera

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

Föreläsning 3: Test, Konfigurationer. Övning 2 Riskhantering, intressenter och kravgranskning.

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16

Detta har hänt... Kursinformation. Utse kursombud - nytt försök. Föreläsning 3: Test, Konfigurationer. Pratat och skapat krav och plan

Övningstenta, Examinationsfrågor

Några grundläggande begrepp

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

konfiguration och version och variant?

Föreläsning 4 Arkitektur, design, kodning

Var är vi? Föreläsning 4 Arkitektur, design, kodning. Agenda. Kursinformation. Produktlinjer. Konfigurationshantering - forts. Detta har hänt...

Föreläsning 4: Test II, Design I Programvaruutveckling - Metodik 2017 Markus Borg

Agil testning i SCRUM

IT-projektledning - introduktion 725G62

Agil programutveckling

Detta har hänt... Jonas Wisbrant - kort CV. Kursombud - nytt försök. Föreläsning 3: Test, Konfigurationer. Pratat och skapat krav och plan

Föreläsning 4 Arkitektur, design, kodning

men borde vi inte också testa kraven?

men borde vi inte också testa kraven? Robert Bornelind

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT. Övning 2 Riskhantering, intressenter och kravgranskning.

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

SCRUM och mycket mer

Streamade föreläsningar på webben. Medan vi väntar: Diskutera. Utmaning. Föreläsning 1: Projektuppgift & kravhantering. Om man utvecklar ett system...

Testbara krav. SAST Syd Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

BESKRIVNING AV PROCESSMETODEN SCRUM

Föreläsning 3. Programvaruutveckling för Stora System. Målsättning i programvaruprojekt. Fel och risker. Christin Lindholm

TDP005. Föreläsning 1. Filip Strömbäck

TDP005. Föreläsning 1. Filip Strömbäck

Testplan Cykelgarage

TDDI02. Programmeringsprojekt, Föreläsning 1. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Verifiering & Validering. Integrationstest. Enhetstest. Verifiering och & validering rep. -

TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 1. Kursinformation Vad är Software Engineering? Hur går ett projekt till?

Christin Lindholm. Programvaruutveckling av Stora System, PUSS ETS032. Välkomna! Vad är ett projekt?

Diskutera medan vi väntar. Agenda. Föreläsning 4: Design och praktisk testning. Arkitektur & Design

SKOLFS. beslutade den XXX 2017.

AGILA METODER. (för oss som inte kodar) Nina Berlin

Projektledning Introduktion. Version Juha Söderqvist

Projektarbete. Grunder

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Konstruktion av datorspråk

Scrum + XP = sant. Kristian Björk D06, Lunds Tekniska Högskola dt05kb1@student.lth.se. Frederik Blauenfeldt Jeppsson. dt06fb8@student.lth.

Programvaruutveckling i grupp Projekt EDAF45 (D2, C4, E4, F4, I4, Pi4) - 7,5HP F1Introduktion. Boris Magnusson, Ulf Asklund Datavetenskap, LTH

TDDI02. Programmeringsprojekt. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Skriftlig tentamen den 21 oktober 2008 Kravhantering, ETS672, 7,5 hp

Transkript:

Hemtentamen: ETSA02 Programvaruutveckling Metodik Jonas Wisbrant 2016-05-31 1. Mål Tentamensformen, dvs. hemtentamen, har valts eftersom den möjliggör att ni både kan visa att ni har grundläggande kunskap om begrepp och förståelse för samband. Ni får också möjlighet att visa att ni kan koppla materialet i kurslitteraturen till det projekt som ingår i kursen. Tanken är alltså att ni ska visa att ni har både ytkunskap, t ex kan använda rätt begrepp och termer vid rätt tillfälle, och en djupare förståelse om innehållet, genom att kunna resonera om materialet och analysera det på ett tillfredsställande sätt. 2. Instruktioner Svaren på frågorna i avsnitt 5 bildar en rapport. Denna rapport ska lämnas in i två versioner: dels som pdf-fil som döps på formen <Efternamn_Förnamn.pdf>. Filen skickas som bilaga till ett e-postmeddelande till två e-postadresser: jonas.wisbrant.lu@analys.urkund.se och etsa02@cs.lth.se subject -rad: Hemtentamen <STiL-id> t.ex. dic15xxx eller ine13xxx. dels som pappersutskrift med din egen namnteckning på försättsbladet. Utskriften lämnas antingen i det grå skåpet E-husets södra trapphall plan 2 eller postas till: Institutionen för datavetenskap, Jonas Wisbrant, Box 118, 221 00 LUND så att den bör ha kommit fram senast den 7 juni. Rapporten ska innehålla ett försättsblad med följande uppgifter: Rubrik: Hemtentamen ETSA02 Namn (förnamn och efternamn) Program och inskrivningsår (t ex C15 ) Personnummer Inlämningsdatum Börja på ny sida för varje uppgift. Inled varje lösning med uppgiftens nummer i fet stil. Upprepa inte frågan som inledning till din lösning eftersom det riskerar medföra en falsk positiv i Urkund. Varje uppgift ska besvaras med max 500 ord (undantag: ord i illustrationer och kortfattade tabeller). Avsluta därför varje uppgift med antal använda ord utöver undantagen ovan och antal-ordinformationen. Alla svar ska baseras på kursboken och annat material i kursen, men det är möjligt att dessutom referera till ytterligare material. Alla externa källor ska i så fall tydligt redovisas i texten. En eventuell referenslista kan placeras på ett separat blad sist i rapporten. Arbetet med rapporten ska ske individuellt. Alla ska lämna in var sin individuell rapport och inga rapporter får innehålla identisk text eller identisk text som flyttats om för att skilja sig. Det är givetvis inte tillåtet att kopiera eller direkt översätta text från andra källor såsom böcker eller Internet, om man inte gör detta som tydliga citat med källhänvisning. Rapporten ska skrivas på svenska eller engelska. Välj det språk som du har lättast att uttrycka dig på. Lärarna hjälper inte till att formulera svar, bedöma svar, eller liknande innan inlämning, men de hjälper givetvis till att förtydliga uppgifterna och instruktionerna vid behov. Datavetenskap / Programvaruutveckling - Metodik (ETSA02) / Hemtentamen 2016-05-31 06-01 Sidan 1 av 6

3. Bedömning Varje rapport bedöms och får 0 60 poäng, där 30 60 poäng är godkänt. Denna bedömning ligger sedan enligt riktlinjerna i kursprogrammet, tillsammans med resultatet i projektet, till grund för slutbetyg i kursen. Poängen baseras på hur väl man når följande nivåer på uppgifterna: Godkänd nivå: För att bli godkänd krävs det att man har en grundläggande förståelse av innehållet, att man har en grundläggande kunskap om vad i materialet som är viktigt, samt att man kan återge fakta på ett korrekt sätt. Avancerad nivå: För att få högre poäng krävs det att man kan visa att man kan analysera materialet genom t.ex. jämförelser och identifiering av mönster. Dessutom är det bra om man kan visa att man kan göra jämförelser med projektet i kursen. Vi försöker formulera uppgifterna så att man kan ge ett fullgott svar på en välformulerad A4-sida Vissa deluppgifter är mest lämpade för svar på godkänd nivå, medan andra lämpar sig bättre för mer avancerade svar. Svara tillräckligt för varje fråga utan att fylla ut med material som inte har med uppgiften att göra. Om det finns material som inte har med uppgiften att göra så ignoreras det vid bedömningen om andelen är begränsad. Om det finns för mycket material som inte har med uppgiften att göra så påverkar det bedömningen negativt. Tänk på att läsa igenom uppgifterna noga och svara på alla frågorna i varje uppgift. Vid en hemtentamen har man mer tid på sig att formulera sina svar än på en traditionell salstenta. Dessutom skrivs rapporten med dator och inte med papper och penna. Sammantaget betyder detta att förväntningarna på struktur, språk och att man motiverar sina svar är större än vid en salstenta. 4. Viktiga datum Tentamen delas ut genom att den skickas till föranmäldas studentmail: 2016-01-07, senast kl. 08:00 Efter det ska svar lämnas in via mail enligt följande: Rapport lämnas in elektroniskt senast: 2016-06-01, kl. 18:00 Signerad rapport på papper institutionen tillhanda senast: 2016-06-07. Bedömning klar senast: 2016-06-23 Om man inte lämnar in rapporten i tid eller om man inte når upp till gränsen för godkänt så kommer det att ges omtentor vid senare tillfälle. Datavetenskap / Programvaruutveckling - Metodik (ETSA02) / Hemtentamen 2016-05-31 06-01 Sidan 2 av 6

5. Uppgifter U1. När går det snett om kraven inte uppfyller kraven (20 p) Som några egenskaper hos bra krav brukar man nämna: Korrekt Kompletta Otvetydigt Verifierbart Konsistent Nödvändigt Spårbart Rankat Det är inte alltid man lyckas uppnå dessa goda egenskaper. Studera den bifogade kravspecifikation för ABC-video (ref 1) och identifiera 4 stycken brister. För varje brist: Förklara problemet, ange vilken/vilka egenskaper för bra krav (listan ovan) är det som inte uppfylls samt beskriv när och hur under den fortsatta processen man kan få problem om man inte upptäcker bristen i tid och varför? Använd max 500 ord använd där det är rimligt begreppen i bifogade ordlista (Appendix A). Markera då din användning av orden med fetstil. U2. Kvalitetssäkra källkoden (20 p) Antag att du är projektledare för ett mjukvaruprojekt. Antag vidare att projektet utvecklas i nära samarbete med kunden som efter release kommer att ta över och vidareutveckla mjukvaran. Just nu håller du på att utveckla strategier för att säkerställa hög kvalitet på programkoden. Bland annat planerar du att använda kodgranskning. Vi förutsätter att den kod som ska granskas är kompilerad. a) Planera och beskriv hur kodgranskningen ska gå till. Hur och när ska koden granskas? Vem ska granska och vilka kompetenser bör granskarna ha? Hur ska resultatet av granskningen dokumenteras. Hur och när ska resultatet användas? b) Förklara vilka typer av fel och problem som är lättare att identifiera vid kodgranskning än vid dynamisk testning, d.v.s. enhetstestning etc. Använd max 500 ord använd där det är rimligt begreppen i bifogade ordlista (Appendix A). Markera då din användning av orden med fetstil. Datavetenskap / Programvaruutveckling - Metodik (ETSA02) / Hemtentamen 2016-05-31 06-01 Sidan 3 av 6

U3. Rapportera avvikelse från processmodellen och vad fått det för konsekvenser (20 p) Kurskompendiets avsnitt 3 Projektmodell ETSA02 (ref 2) utgör tillsammans med kursprogrammet (ref 3) den dokumenterade processmodell som kursens projekt skulle följa under utvecklingen av cykelgaraget. Av flera bra eller dåliga anledningar, avviker den verkliga processen ibland från processmodellen. Den här uppgiften går ut på att du ska identifiera och analysera avvikelser från processmodellen för ditt kursprojekt. Det kan t.ex. handla om aktiviteter som din projektgrupp inte genomfört trots att processmodellen förordat dem, men det kan också handla om aktiveter som gjorts utöver det som föreskrivs av processmodellen; eller så kan det handla om aktiviteter som genomförts på ett annat sätt eller i annan ordning än vad som anges i processmodellen. Avvikelserna kan vara på vilken abstraktionsnivå som helst. Gå igenom projektmodellen (ref1 och ref2) och fundera ut några avvikelser (helst två väl analyserade men max fyra). Det är naturligtvis fritt fram att ta stöd i egna minnesanteckningar eller projektets projekt- och produktdokument men referera INTE till dem. Kan du inte hitta två avvikelser från processmodellen föreslår du istället avvikelser som ni kunde ha gjort och som du anser borde ingå i processmodellen, och därmed utgöra förslag till processförbättring. För varje avvikelse: Ge avvikelsen en talande rubrik Beskriv på vilket sätt er projektgrupp avvek från processmodellen Analysera vilka bra eller dåliga konsekvenser kan ha fått för projektarbetet/projektgruppen Analysera vilka bra eller dåliga effekter det kan ha fått på projektets resultat, d.v.s. en eller flera leverabler. Diskutera slutligen om processmodellen borde förändras utifrån din erfarenhet och i så fall hur (förslag till processförbättring) Använd max 500 ord använd där det är rimligt begreppen i bifogade ordlista (Appendix A). Markera då din användning av orden med fetstil. Datavetenskap / Programvaruutveckling - Metodik (ETSA02) / Hemtentamen 2016-05-31 06-01 Sidan 4 av 6

Appendix A: Ordlista Abstract machine / layered model Abstraktionsnivå Acceptanstest Affärsmål Affärsrisk Agil (lättrörlig) utveckling Aktivitet Aktivitetsnätverk Aktivitetsorienterad process Aktör Alternativstrategi Användarfall Användargränssnitt Användbarhet Arbetspaket Arkitektur Artefakt Black-box-testning Burndown chart Client-server CMMI - Capability Maturity Model Integration Dataflödesdiagram Daily scrum Delad data (repository) Designdokument Designmönster Dokumentgranskning Dynamisk testning Ekvivalensklass / ekvivalenspartition Enhetstest ER-diagram Evolutionär processmodell Extreme Programming (XP) Fas (projektfas) Fel (error) Fel (failure) Fel (fault) Felrapport Funktionella krav Gantt-diagram / Gantt-schema Granskning Granskning: Ad-hoc Granskning: Checklistebaserad Granskning: Perspektiv-baserad Granskning: Scenariobaserad Granskningsmanual Granskningsmöte Granskningsprotokoll Gränsvärdestestning Grentäckning Hårdvarugränssnitt Heltäckande Huvudscenario Implementation Individuell granskning Inkrementell utveckling Installationsmanual Integrationstest Intressentanalys Kanban Klassdiagram Kodgranskning Kodtäckning Kollektivt ägarskap (av kod) Konfiguration Konsistent Kontextdiagram Kontinuerlig integration Koppling (coupling) Korrekt Kostnadsskattning Kravhantering Kravidentifiering Kravspecifikation Kravvalidering Kritisk linje (ledtid) Kvalitetskrav Kvalitetssäkring Lättrörlig process Lean software development Ledtid Legacy system Leverabel Linjär processmodell Metod Milstolpe Minimeringsstrategi Multiplicitet Nödvändigt Nyutveckling Objektorientering Offshoring On-site-customer Otvetydigt Outsourcing Parprogrammering Parvis testning Portabilitet Process Processförbättring Processmodell Product backlog Produktdokument Produktmål Produktrisk Projekt Projektdokument Projektmål Projektplanering Projektrisk Prototyp Prototyputveckling (kasta bort) Prototyputveckling (evolutionär) QA-ingenjör Radtäckning Rankat Refactoring Regressionstest Release Resultatorienterad process Riskhantering Roller Säkerhet - datasäkerhet (security) Säkerhet - hälsa (safety) Samhörighet (cohesion) Schemaläggning Scrum Scrum task board Sekvensdiagram Silver bullet Skall-krav Spårbarhet Spårbarhetsmatris Spårbart Specifikationsaktivitet er Spiralmodellen Sprint Sprint backlog Sprint-retrospekt Statisk testning Stresstest Subprocess Systemtest Testfall Testning Testparameter Testrapport Testspecifikation The Software Crisis Tillförlitlighet Timeboxing UML Undantagsfall Underhåll Underhållsbarhet Undvikandestrategi Uppfyllandegrad User Story Utvecklingsaktivitet Utvecklingsprocess V-modellen Vägtäckning Validering Variant Vattenfallsmodellen Verifierbart Verifiering Verifieringsaktivitet Version Vidareutveckling Vidareutvecklingsakti viteter Villkor startvillkor, slutvillkor Whitebox-testning Datavetenskap / Programvaruutveckling - Metodik (ETSA02) / Hemtentamen 2016-05-31 06-01 Sidan 5 av 6

Referenser: Ref 1: Krav-specifikation för ABC-video (med introducerade brister): http://fileadmin.cs.lth.se/cs/education/etsa02/pdf/tenta-ref1-kravspecifikation.pdf Ref 2: Kurskompendiets avsnitt 3 Projektmodel ETSA02: http://fileadmin.cs.lth.se/cs/education/etsa02/pdf/tenta-ref2-projektmodell.pdf Ref 3: ETSA02 2016 Kursprogram: http://cs.lth.se/etsa02/kursprogram-pdf/ Datavetenskap / Programvaruutveckling - Metodik (ETSA02) / Hemtentamen 2016-05-31 06-01 Sidan 6 av 6