Kursplan för Avancerad kravhantering

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

0114 Projekt 3,5 hp
Betygsskala: TH
3,5 hp
    0214 Hemtentamen 4 hp
    Betygsskala: TH
    4 hp

      I program

      Examinator

      Gå till kurshemsidan (Öppnas i ny flik)

      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 6
      Sö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
      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

      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.