Kursplan fastställd 2026-02-18 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnAdvanced requirements engineering
- KurskodDAT232
- 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
EngelskaAnmälningskod
24118Sökbar för utbytesstudenter
JaEndast studenter med kurstillfället i programplan.
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
|---|---|---|---|---|---|---|---|
| 0125 Projekt 3,5 hp Betygsskala: TH | 3,5 hp | ||||||
| 0225 Tentamen 4 hp Betygsskala: TH | 4 hp |
I program
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 kravet
Särskild behörighet
Engelska 6Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från kraven
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
- Soren Lauesen (2002): Software Requirements: Styles and Techniques. Addison-Wesley
- Berander, P., Andrews, A.A. (2005): "Requirements Prioritization", In: Engineering and Managing Software Requirements, Eds. A. Aurum and C. Wohlin, Springer, ISBN 3-540-25043-3.
- Berntsson Svensson, R., Gorschek, T., Regnell, B., Torkar, R., Shahrokni, A., Feldt, R. (2012); "Quality Requirements in Industrial Practice - an extended interview study at eleven companies", IEEE Transaction on Software Engineering, vol.38(4), pp. 923-935.
- Carlshamre, P.; Sandahl, K.; Lindvall, M.; Regnell, B.; Nattoch Dag, J. (2001): "An industrial survey of requirements interdependencies in software product release planning", IEEE Int. Conf. on Requirements Engineering (RE01), Toronto, Canada, pp. 8491
- Davis, A., Dieste, O., Hickey, A., Juristo, N., and Moreno, A. M. (2006). Effectiveness of requirements elicitation techniques: Empirical results derived from a systematic review. In Proc. of 14th IEEE Int. Reqts. Eng. Conf. (RE), pages 179188, Minneapolis/St. Paul, MN, USA.
- Gorschek, T. and Wohlin, C. (2006). Requirements abstraction model. Requirements Engineering, 11:79101.
- Inayat, I.; Salim, S. S.; Marczak, S.; Daneva, M. and Shamshirband, S. (2015): "A systematic literature review on agile requirements engineering practices and challenges", Computers in human behavior, 51:915929
- Knauss, E. (2019). The missing requirements perspective in large-scale agile system development. IEEE Software, 36:913.
- Maiden, Neil; Ncube, Cornelius; Robertson, Suzanne (2007): "Can Requirements Be Creative? Experiences with an Enhanced Air Space Management System", 29th International Conference on Software Engineering (ICSE'07)
- Murugesan, A., Heimdahl, M., and Rayadurgam, S. (2019). Requirements reference models revisited: Accommodating hierarchy in system design. In Proc. of 27th IEEE Int. Requirements Eng. Conf. (RE), Jenju Island, South Korea.
- Regnell, Björn and Brinkkemper, Sjaak (2005): "Market-Driven Requirements Engineering for Software Products", In: Engineering and Managing Software Requirements, Eds. A. Aurum and C. Wohlin, Springer, ISBN 3-540-25043-3
- Ruhe, Günther and Saliu, Moshood Omolade (2005): "The Art and Science of Software Release Planning", IEEE Software, November/December, pp. 47-53
- Glinz, M. (2007). On non-functional requirements. In Proc. of 15th IEEE Int. RE Conf. (RE), pages 2126, New Delhi, India.
- Soren Lauesen, Guide to Requirements SL-07: Problem-oriented requirements v5, 2017, ISBN: 978-1523320240, available online: https://www.itu.dk/~slauesen/Reqs/GuideSL-07-online.pdf
- Links to an external site.
- Cockburn, A. (2001). Writing Effective Use Cases. Addison-Wesley.
- Davis, A. M. (1993). Software Requirements: Objects, Functions and States. Prentice Hall.
- Gause and Weinberg (1982). Are your lights on? Dorset House Publ.
- Leffingwell, D. (2011). Agile Software Requirements. Addison-Wesley.
- Callele, D., Neufeld, E., Schneider, K. (2010): "An Introduction To Experience Requirements", IEEE Int. Conf. on Requirements Engineering (RE10), Sydney, Australia, pp. 395396
Ovanstående artikel beskriver hur man kommunicerar krav om den önskade användarupplevelsen inom speldesign
- IEEE (1990). IEEE standard glossary of software engineering terminology. IEEE Std 610.12-1990, pages 184.
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 riktat pedagogiskt stöd på grund av funktionsnedsättning.
