Emne - Moderne programvareutvikling - IDIG4110
Moderne programvareutvikling
Nytt fra studieåret 2026/2027
Om
Om emnet
Faglig innhold
Dette kurset bygger på grunnleggende konsepter innen programvareteknikk og fokuserer på en grundig gjennomgang og anvendelse av moderne praksiser innen programvareteknikk i forbindelse med utvikling av sikre og robuste programvaresystemer. Kurset tar hensyn til banebrytende teori, profesjonell praksis samt tverrgående aspekter som etterlevelse, etikk og bærekraft. Kurset er rettet mot masterstudenter som har grunnleggende forståelse av og erfaring med programvareteknikk og programvareutvikling.
Kurset dekker følgende temaer:
- Konsepter
- Introduksjon til ansvarlig programvareteknikk
- Arkitekturmodellering: språk og prinsipper
- Prinsipper for kravspesifikasjon
- Prosess
- Utviklingsprosesser og samarbeidsformer
- Design av sikre programvare- og systemarkitekturer
- Implementering av kravspesifikasjon
- Kvalitet
- Programvarekvalitet og pålitelighet, inkludert analyser av avveininger
- Risikostyring
- Programvaretesting og validering
- Fremvoksende temaer innen programvareteknikk
- KI-støttet programvareteknikk
Læringsutbytte
Her er teksten oversatt til norsk (bokmål) uten fet skrift:
Kunnskap
- Forklare sentrale konsepter innen ansvarlig programvareteknikk, inkludert etiske, sosiale og profesjonelle ansvar.
- Beskrive og anvende prinsipper for risikostyring i konteksten av programvareprosjekter.
- Analysere og begrunne ulike kvalitetsattributter for programvare (inkludert sikkerhet) basert på prosjektspecifikke egenskaper og begrensninger.
- Forklare domene-spesifikke modelleringsmetoder (f.eks. risikomodellering, kvalitetsmodellering, tjenestemodellering, funksjonsmodellering).
- Forstå og anvende KI-relaterte konsepter, som maskinlæring og agentbasert ingeniørarbeid.
- Utvikle og tilpasse arkitekturmodeller ved bruk av ulike arkitekturperspektiver og paradigmer.
- Utføre og evaluere avveiningsanalyser i arkitekturdesign for å sammenligne og begrunne arkitekturbeslutninger.
Ferdigheter
- Planlegge, designe og administrere sikre og skalerbare systemer basert på programvare, ved bruk av passende ingeniørprosesser og verktøy.
- Kritisk velge og anvende KI-teknikker og verktøy for å støtte design, utvikling og validering av programvaresystemer.
- Evaluere menneske- eller KI-generert arkitektur, kode og tester opp mot krav, inkludert sikkerhet, kvalitetsstandarder og systembegrensninger.
- Planlegge og gjennomføre systematiske risikovurderinger, dokumentere risikoer, tiltak og beslutningsgrunnlag i konteksten av programvareteknikk.
Generelle kompetanser
- Vise evne til å begrunne profesjonell anvendelse av moderne prinsipper innen programvareteknikk i prosjektarbeid og beslutningstaking.
- Anvende og reflektere over beste praksis for inkluderende, samarbeidende og effektivt teamarbeid i programvareteknikk.
- Gjenkjenne og forklare dilemmaer og analysere avveininger som en del av programvareprosessen.
- Integrere og evaluere brukerorienterte prinsipper og beste praksis (f.eks. etikk, brukervennlighet, kommunikasjon, interessentengasjement) gjennom hele programvareprosessen.
Læringsformer og aktiviteter
- Forelesninger
- Presentasjon i klassen
- Gruppearbeid
- Refleksjon
- Veiledning
Mer om vurdering
(informasjonen kan bli endret frem til 15. juni)
Mappen består av:
- Skriftlige innleveringer basert på oppgaver (f.eks. rapport fra utviklingsprosjekt, rapport om forskningstema)
- Presentasjoner i klassen
- Individuell muntlig vurdering
Den nøyaktige sammensetningen av mappen blir gitt i løpet av de første kursøktene.
Spesielle vilkår
Krever opptak til studieprogram:
Applied Computer Science (MACS)
Informatics (MSIT)
Fagområder
- Informatikk