Faglig Innhold
Emnet gir kunnskap og ferdigheter i smidig applikasjonsutvikling i team. Applikasjonen vil bruke en klientserverarkitektur, strukturert i moduler og konfigurert med et byggesystem. Gruppene vil bruke et system for sporing av utviklingsoppgaver, kildekodeadministrasjon og kodevurdering. Fokuset er mer på kodekvalitet og testing, enn på funksjonalitet.
Læringsmål
Kunnskap: - har kunnskap om smidig programvareutviklingspraksis, og kunne forklare teknikker som korte utviklingssykluser, parprogrammering og testdrevet utvikling. - har kunnskap om objektorienterte designprinsipper, kodekvaliteter og verktøy og teknikker for å forbedre dem - har kunnskap om teknikker og rammer for automatisk testing av programvare - har kunnskap om problemsporing, kildekodeadministrasjon, kontinuerlig integrasjon med automatiske bygg og deres rolle i smidig utvikling. - har kunnskap om programvarearkitekturen til desktop og web klienter ved å bruke en REST API-server og hvordan den visualiseres og dokumenteres Ferdigheter: - kan skrive brukerhistorier, transformere dem om til utviklingsoppgaver som administreres av et sporingssystem og bruke et kildekodeadministrasjonssystem med forgrening og sammenslåing for å følge dem opp. - kan designe, skrive og teste kode for desktop-klient og REST API-server, ved hjelp av moderne verktøy for utvikling- og kvalitetsvurdering - kan strukturere programvare som moduler og konfigurere et byggesystem for å håndtere kjøring og testing av alle deler - kan dokumentere programvaren med lettvekts formater og verktøy Generelle kompetanser: - kan planlegge og koordinere småskala utviklingsprosesser - kan reflektere over både tekniske og organisatoriske aspekter av et programvareutviklingsprosjekt.