02160 Agil objektorienteret softwareudvikling

2024/2025

Kursusinformation
Agile Object-oriented Software Development
Engelsk
10
Bachelor
Kurset udbydes som enkeltfag
Retningsspecifikt kursus (BSc), General Engineering
Teknologiske linjefag, General Engineering
F5 (ons 8-17)
Campus Lyngby
Seminarer og træningskurser. Træningskurser omfatter løsningen af mindre øvelser samt udvikling af et softwaresystem i hold på 4-6 studerende. Projektopgaven dokumenteres ved at køre software, og at præsentere testresultater og rapporter, der er inkluderet i den samlede vurdering af kurset.
13-uger
F5A
Skriftlig eksamen og bedømmelse af rapport(er)
Bedømmelsen er baseret på gruppearbejdet (præsentation og rapport), skriftlige spørgsmål og mellemliggende øvelser.
Skriftlig eksamen: 1 time
Alle hjælpemidler - uden adgang til internettet
7-trins skala , intern bedømmelse
02161.02100.02101.02102.02312.02314
02002/02003/02631 , Erfaring med procedural programming
Andrea Burattin , andbur@dtu.dk
01 Institut for Matematik og Computer Science
På instituttet
Overordnede kursusmål
Målet med kurset er at formidle de grundlæggende begreber i object-oriented programming, og at sætte studerende i stand til at anvende disse begreber ved at bruge typiske objektorienterede programmeringssprog. Den studerende vil kunne være i stand til at læse programkode og at analysere programmets adfærd. Derudover vil den studerende være i stand til at anvende moderne agile softwareudviklingspraksis i sammenhæng med mindre softwareudviklingsprojekter, både ved at udvide eksisterende software og at udvikle nye funktionaliteter. Der vil fokuseres på kvalitetssikring, bl.a. automatiserede test og kontinuerlig integration. Yderligere lærer den studerende at arbejde i teams, at præsentere sit arbejde og dokumentere det. Den studerende lærer også at arbejde med aktuelle softwareudviklingsværktøjer (f.eks. IDE'er osv.).
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Forklare principperne for objektorienterede programmeringssprog
  • Udvikle software ved hjælp af objektorienterede principper i det introducerede programmeringssprog til at håndtere indkapsling, abstraktion, arv og polymorfisme
  • Modellere software ved hjælp af begreberne af brugerhistorier og adfærdsdrevet udvikling
  • Anvende begregerne af automatiseret test, refactoring og genbrug af eksisterende kode og biblioteker
  • Forklare betydningen af systematisk fejlsøgning og være i stand til at anvende den
  • Anvende begreberne af versionskontrol og kontinuerlig integration
  • Anerkende og være i stand til at anvende et par ukomplicerede designmønstre
  • Forklare fordelene ved en valgt softwarearkitektur
  • Udføre et multi-ugers softwareteamprojekt, der anvender parprogrammering og dækker brugerhistorier, kører software, test og dokumentation
  • Præsentere koncis projektiterationsresultater (dvs. at køre software og andre artefakter)
  • Skrive en klar og velstruktureret rapport, der dokumenterer alle de centrale aspekter af et softwareudviklingsprojekt
  • Håndtere udviklingen af et softwareprodukt i et agil team
Kursusindhold
Kurset introducerer en almindeligt anvendt objektorienteret programmeringssprog, og anvender agile udviklingsmetoder, der dækker følgende emner:

Emnerne, der præsenteres, er:
▪ Primitive typer og klassetyper
▪ Grundlæggende programmeringskonstruktioner (loops, branching statements, osv.)
▪ Værdier, operatører og udtryk
▪ Klasser, objekter, felter og metoder
▪ Brug af biblioteker
▪ Design af klasser, hierarkier, arv
▪ Abstraktion (abstrakte klasser, grænseflader)
▪ Fejl- og undtagelseshåndtering
▪ Grundlæggende designmønstre og softwarearkitekturer
▪ Pair programming
▪ Brugerhistorier, adfærdsdrevet udvikling, test af enheder
▪ Debugging, refactoring
▪ Versionskontrol, kontinuerlig integration
▪ Brug af udviklingsværktøjer (IDE osv.)
Sidst opdateret
02. maj, 2024