Hoppa till huvudinnehållet

IV1300 Programvaruteknik 7,5 hp

Målet för programvaruteknik är att möjliggöra upprepning av lyckade mjukvaruutvecklingsprojekt, det vill säga mjukvaruprojekt där mjukvaran utvecklas enligt specifikationerna och inom givna budget- och tidsramar.

I en värld där komplexiteten hos mjukvarusystem ständigt ökar samtidigt som kraven på flexibilitet ökar är det nödvändigt att kombinera programvaru-teknikens principer med lättrörliga metoder som testdriven utveckling och en närvarande kund.

Kursomgångar saknas för tidigare och kommande terminer, samt för innevarande termin.
Rubriker med innehåll från kursplan IV1300 (VT 2019–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

För att på ett framgångsrikt sätt kunna leda ett icke-trivialt mjukvaruprojekt är det viktigt att besitta kunskap om alla aktiviteter som ingår i ett mjukvaruprojekt. Kursen fokuserar på att lära ut aktiviteter som projektplanering och projekthantering, kvalitetssäkring, versionshantering, grundläggande tids- och kostnadsuppskattning, grundläggande mätning av mjukvara, skapande och analys av kravspecifikation samt grundläggande validering och verifiering av mjukvara.

Efter genomgången kurs kommer studenten att ha:

  • deltagit aktivt i diskussioner under föreläsningar och seminarier.
  • deltagit aktivt i ett mjukvaruprojekt där man använt sig av en kombination av plan-drivna och lättrörliga tekniker.

Lärandemål

Målet för programvaruteknik är att möjliggöra upprepning av lyckade mjukvaruutvecklingsprojekt, det vill säga mjukvaruprojekt där mjukvaran utvecklas enligt specifikationerna och inom givna budget- och tidsramar. I en värld där komplexiteten hos mjukvarusystem ständigt ökar samtidigt som kraven på flexibilitet ökar är det nödvändigt att kombinera programvaruteknikens principer med lättrörliga metoder som testdriven utveckling och en närvarande kund.

Efter genomförd kurs skall studenten kunna:

  • beskriva skillnaden mellan plan-driven och lättrörlig utveckling.
  • redogöra för grunderna för ett programvarutekniskt angreppssätt för mjukvaruutveckling och principerna bakom.
  • redogöra för grunderna för plandrivet angreppssätt för mjukvaruutveckling och principerna bakom.
  • redogöra för grunderna för ett lättrörligt angreppssätt för mjukvaruutveckling och principerna bakom.
  • beskriva de lättrörliga arbetssätten i Scrum och XP.
  • beskriva och använda ett flertal tekniker (både från klassisk programvaruteknik och lättrörliga) för:
    - kravinsamling och kravhantering
    - resursplanering
    - riskanalys och riskhantering
    - testplanering
    - versionshantering
    - tids- och kostnadsuppskattningar
  • bedöma lämpligheten hos dessa tekniker för ett känt projekt, även möjliga kombinationer av plandrivna och lättrörliga sådana.
  • avgöra och motivera varför vissa tekniker är lämpliga att använda i plandrivna utvecklingsprojekt.
  • avgöra och motivera varför vissa tekniker är lämpliga att använda i lättrörliga utvecklingsprojekt.
  • hitta lämpliga programvarutekniksmetoder för framtida arbetsuppgifter.
  • lätt kunna ta till sig arbetsprocesser som använder sig av programvarutekniksmetoder.
  • utvärdera projekt och analysera bakomliggande orsaker till framgångar och misslyckanden för användning i framtida projekt.

Kursupplägg

Kursen ges i form av föreläsningar och seminarier och ett mjukvaruprojekt som utförs i grupp. Projektarbetet har som mål att omsätta programvaruteknikens teorier i praktiken.

Kurslitteratur och förberedelser

Särskild behörighet

  • Grundläggande behörighet samt Matematik D, Fysik B och Kemi A.
  • Goda programmeringskunskaper.

Rekommenderade förkunskaper

Goda programmeringskunskaper

Utrustning

Ingen information tillagd

Kurslitteratur

  • Ian Sommerville:
    Software Engineering, 9

    ISBN-10: 0137035152
    ISBN-13:  9780137035151

    Publisher:  Addison-WesleyAlistair

  • (Cockburn: Agile Software Development, Addison-Wesley, 0-321-48275-1)

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • PRO1 - Projekt, 4,5 hp, betygsskala: P, F
  • TEN1 - Tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Profile picture Mira Kajko-Mattsson

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb IV1300

Ges av

EECS/Datavetenskap

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Övrig information

Tidigare kursinformation, t o m V2010:
http://people.dsv.su.se/~beatrice/IV1300/