Aftales med underviser, Ingen eksamen i den
ordinære eksamensperiode
Evalueringsform:
Hjælpemidler:
Bedømmelsesform:
Anbefalede forudsætninger:
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 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
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 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
• 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
Bemærkninger:
Faget består af en kombineret teori/øvelsesperiode og en
projektperiode.
Deltagerne inddeles i arbejdsgrupper, der skal samarbejde om
øvelser/projekt.