Kursplan fastställd 2022-02-01 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnAdvanced requirements engineering
- KurskodDAT231
- Omfattning7,5 Högskolepoäng
- ÄgareMPSOF
- UtbildningsnivåAvancerad nivå
- HuvudområdeDatateknik, Industriell ekonomi, Informationsteknik
- InstitutionDATA- OCH INFORMATIONSTEKNIK
- BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd
Kurstillfälle 1
- Undervisningsspråk Engelska
- Anmälningskod 24113
- Max antal deltagare80
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0114 Projekt 3,5 hp Betygsskala: TH | 3,5 hp | ||||||
0214 Hemtentamen 4 hp Betygsskala: TH | 4 hp |
I program
- MPIDE - INTERAKTIONSDESIGN, MASTERPROGRAM, Årskurs 2 (valbar)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 1 (obligatorisk)
Examinator
- Eric Knauss
- Avdelningschef, Interaktionsdesign och Software Engineering, Data- och informationsteknik
Behörighet
Grundläggande behörighet för avancerad nivåSökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Särskild behörighet
Engelska 6Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Kursspecifika förkunskaper
För att vara behörig till kursen krävs minst:- en kandidatexamen i Software Engineering, datavetenskap, informationsteknik, informationssystem, eller motsvarande;
- en avslutad kurs i programmering (t.ex., TDA548 Grundläggande programvaruutveckling, DAT043/DAT050 Objektorienterad programmering, TDA452 Funktionell programmering, eller motsvarande);
- en avslutad projektkurs (eller en kandidatuppsats) inom tillämpad mjukvaruutveckling eller informationsteknik (t.ex., TDA367 Objektorienterat programmeringsprojekt, eller DAT257 - Agile software project management).
Syfte
En av de största utmaningarna inom mjukvaruutveckling är att se till man utvecklar rätt system, dvs att förstå de krav som måste uppfyllas. Syftet med kursen är hur man lär sig att hitta och samla kraven från relevanta källor, både i början och under ett utvecklingsprojekt programvara, efter fastställda principer och format för att dokumentera och underhålla krav.
Lärandemål (efter fullgjord kurs ska studenten kunna)
Efter avslutad kurs skall studenten kunna:Kunskap och förståelse
- Identifiera en vanlig RE-utmaning i en given mjukvaruutvecklingskontext.
- Välja en lämplig RE-praxis i en given mjukvaruutvecklingskontext.
- Jämföra lämplighet samt fördelar och nackdelar med givna RE-metoder i en given mjukvaruutvecklingskontext.
- Förklara det aktuella läget för praxis och forskning inom kravteknik
- Planera lämpliga RE-praxis i ett team med avseende på en given mjukvaruutvecklingskontext.
- Effektivt tillämpa en lämplig RE-praxis i ett team i en given mjukvaruutvecklingskontext.
- Analysera effekten och kvaliteten på resultatet av en uppsättning eller enskilda RE-metoder i en given mjukvaruutvecklingskontext.
- Bedöma nya kravsteknikkunskaper (utmaning, princip, övning) och relatera dem till ramverket i denna kurs.
- Föreslå lämpliga åtgärder för att övervinna brist på kunskaper om krav i en given mjukvaruutvecklingskontext.
- Beakta teamgrupper, programnivåer och sociala / etiska konsekvenser av en uppsättning RE-metoder i en given mjukvaruutvecklingskontext.
- Kristiskt bedöma effektiviteten av en uppsättning RE-praxis utifrån studentens masterprogram (t.ex. Software Engineering & Technology / Management, Interaction Design, Game Design, Data Science, ...)
Innehåll
Att förstå kraven är nyckeln till framgångsrik programvaruteknik: utveckling av programvara som är lämplig för sitt syfte är beroende av att förstå det exakta problemet som måste lösas. Syftet med denna kurs är att lära sig utmaningar, principer och metoder för att identifiera, analysera och hantera krav från relevanta källor, både i början och under ett programvaruutvecklingsprojekt. Kursen behandlar dessa frågor i specifika mjukvaruutvecklingskontexter, dvs. specifika konstellationer av kunder och leverantörer samt begränsningar relaterade till domänen och utvecklingslivscykeln som kännetecknar utvecklingen av en mjukvara.Kursen är på avancerad nivå och tar en helhetssyn på den senaste tekniken för kravteknik som en del av framgångsrik programvaruteknik, teknik och förvaltning. Studenter förväntas bekanta sig med ny, relevant forskning inom området, att kritiskt reflektera över konsekvenserna av nya resultat och att utveckla sina förmågor och expertis som programvarupersonal.
Kursen lär ut utmaningar, principer och konkreta metoder relaterade till följande delområden för kravsteknik (RE):
- Kravanalys
- Utlösning
- Analys
- Dokumentation
- Förhandling
- Verifiering och validering
- Kravshantering
- Ändringshantering
- Spårbarhet
Utöver en kort introduktion till konkreta kravnoteringar fokuserar kursen på holistisk hantering av kravrelaterad kunskap inom relevanta omfattningar, inklusive:
- Teamnivå: kunskap inom ett program för utveckling av programvara och över flera team som arbetar inom samma område.
- Programnivå: kunskap inom ett visst produktteam eller över en uppsättning relaterade produktgrupper (t.ex. agile release-tåg)
- Företagsnivå: kunskap relaterad till hantering av en produktportfölj.
Organisation
Kursen är organiserad som en serie föreläsningar, workshops, samt projektuppgifter.
Litteratur
Kurslitteratur kommer att publiceras senast 8 veckor innan kursstart.Examination inklusive obligatoriska moment
Kursen examineras genom individuellt aktivt deltagande i alla workshops, slutförande av ett grupparbete, och en skriftlig individuell hemtentamen.
Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.