Aftales med læreren
Ingen eksamen i den ordinære eksamensperiode
Evalueringsform:
Hjælpemidler:
Bedømmelsesform:
Faglige forudsætninger:
Deltagerbegrænsning:
Maksimum: 100
Overordnede kursusmål:
Kursets mål er at sætte den studerende i stand til at bruge objektorienterede teknikker i alle trin af løsningen af et software problem, dvs. fra analyse af problemstillingen, opstilling af modeller, system design og objekt design til den endelige programmering i et objektorienteret sprog. Endvidere at sætte den studerende i stand til at vælge hensigtsmæssige persistente lagringsmetoder, herunder implementering af persistens vha. databaser med tilhørende valg og brug af DBMS system.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Udvælge proces, dokumentation og roller til et givent softwareprojekt
Analysere funktionelle og non-funktionelle forretningskrav og kategorisere disse i use cases og FURPS+. (Functionality, Usability, Reliability, Performance, Supportability)
Anvende UML som visuelt modelleringsværktøj i en udviklingsproces
Identificere og forklare softwarearkitektur, herunder SOA, OOAD og designmønstre
Fastsætte testmetoder i udviklingsprocessen og udføre test cases på use case niveau
Udarbejde en begrebsmæssig datamodel for et system som en integreret del af et samlet udviklingsforløb
Gennemføre logisk datamodellering ud fra den begrebsmæssige datamodel og foretage normalisering til 3NF
Anvende avanceret SQL til implementering af forskellige former for databasetilgang
Gennemføre udvalgte aktiviteter ved fysisk databasedesign (eks: query-optimering vha. index, administration af tilgangsrettigheder samt design og implementering af transaktionsstyring)
Designe og implementere persistens mellem et objektorienteret program og en relationsdatabase
Udarbejde rapport, der dokumenterer og vurderer projektets færdige produkt (produktrapport)
Udarbejde rapport, der dokumenterer, evaluerer og reflekterer over projektforløbet (procesrapport)
Kursusindhold:
• UML syntax og semantik: use case diagram, domænemodel, systemsekvensdiagrammer, klassediagrammer, komponentdiagrammer, etc. • Use case beskrivelser som udgangspunkt for use case drevet udvikling. Unified process, samt forskellige metoder derunder, SCRUM og XP. Iterativ og inkrementel udvikling. • Objekt orienteret analyse og design • Softwarearkitektur, herunder SOA og designmønstre • Modellering af forretningskrav • Begrebsmæssig databasedesign o ER-modellering med ER- og EER diagrammer o Strukturelle constraints o Nøgler, domæner og andre constraints • Logisk databasedesign o Mapping fra ER-model til relationel model o Normalisering af relationel model til 3NF/BCNF • Fysisk databasedesign o Optimering af forespørgsler vha. valg af index o Administrering af tilgangsrettigheder o Design og implementering af transaktionsstyring • Designe og implementere tilgang til en relationsdatabase fra et objektorienteret program o Metoder til objektpersistens • SQL o Avancerede SQL forespørgsler o Views o Triggers o Stored Procedures o Index • Orientering om udvalgte kommercielle databasesystemer
Bemærkninger:
Faget består af en kombineret teori/øvelsesperiode og en projektperiode. Deltagerne inddeles i arbejdsgrupper, der skal samarbejde om øvelser/projekt.