Emne - Avansert programvareutvikling - TDT4242
Avansert programvareutvikling
Om
Om emnet
Faglig innhold
Kravspesifikasjon, med fokus på overgang fra brukerkrav til teknisk kravspesifikasjon og tilhørende vurderinger av realiserbarhet og testbarhet. Estimering. Testing, testplanlegging og test-drevet utvikling, ulike testtyper og testteknikker, andre valideringsteknikker, kvalitetssikring og prosessforbedring. Smidige metoder. Utviklingsmetodikk spesifikt for komponentbasert og tjenesteorientert utvikling, outsourcing og offshoring, åpen kildekode og programvare-økosystemer. Metodikk for forvaltning og vedlikehold av store programsystemer, håndtering av legacy-kode.
Læringsutbytte
Kunnskaper: Innsikt i moderne prosesser og metoder for utvikling og kvalitetssikring av programvaresystemer, kjenne styrker og svakheter ved ulike teknikker og hvilke som passer å bruke i hvilke situasjoner. Dyp forståelse for koblingen mellom kravspesifikasjon, design og testing.
Ferdigheter: Kunne gjøre gode og velbegrunnede valg av prosesser og teknikker basert på prosjektkontekst. Kunne mestre overgangen mellom ulike deloppgaver og samhandling mellom ulike aktører i programvareutvikling.
Generell kompetanse: Evne til å forstå forskningsresultater innen programvareutvikling og kunne nyttiggjøre seg disse i videreutvikling av egen praksis.
Læringsformer og aktiviteter
Forelesninger og øvinger. Mappevurdering gir grunnlag for sluttkarakteren i emnet. I mappen inngår avsluttende skriftlig eksamen (50%) og arbeider (50%). Resultater for delene angis i %-poeng, mens vurdering for hele mappen (sluttkarakteren) angis med bokstavkarakter. Ved utsatt eksamen (kontinuasjonseksamen) kan skriftlig eksamen bli endret til muntlig eksamen.
Obligatoriske aktiviteter
- Øvinger
Anbefalte forkunnskaper
Tilsvarende TDT4140 Programvareutvikling.
Kursmateriell
Oppgis ved semesterstart.
Fagområder
- Teknologiske fag