Kursplan för Avancerad kravhantering

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

    Engelska
  • Anmälningskod

    24118
  • Sökbar för utbytesstudenter

    Ja
  • Endast 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

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 6
Sö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
Färdighet och förmåga
  • 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.
Värderingsförmåga och förhållningssätt
  • 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

Obligatorisk litteratur:

Kursbok:
  • Soren Lauesen (2002): Software Requirements: Styles and Techniques. Addison-Wesley
Kompletterande artiklar:
  • 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. 84–91
  • 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 179–188, Minneapolis/St. Paul, MN, USA.
  • Gorschek, T. and Wohlin, C. (2006). Requirements abstraction model. Requirements Engineering, 11:79–101.
  • 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:915–929
  • Knauss, E. (2019). The missing requirements perspective in large-scale agile system development. IEEE Software, 36:9–13.
  • 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 21–26, New Delhi, India.
Valfri vidare läsning:

Ytterligare böcker:
  • 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.
Ytterligare artiklar:
Vi tillhandahåller referenser till ytterligare artiklar genomgående i föreläsningsbilderna. Avsikten är att dessa ska kunna nås vid behov, t.ex. för att framföra en specifik poäng i en erfarenhetsrapport eller tentamen.
Några arbeten kan dock vara värda att nämna utöver föreläsningarna:
  • Callele, D., Neufeld, E., Schneider, K. (2010): "An Introduction To Experience Requirements", IEEE Int. Conf. on Requirements Engineering (RE10), Sydney, Australia, pp. 395–396
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 1–84.

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.