Programmering af store systemer

Programmering af store systemer




Mål
Kursets giver kendskab til centrale begreber, teknikker og værktøjer indenfor databaser og software arkitektur med speciel henblik på konstruktion af større programmer.

Der sigtes mod at skabe et bredt begrebsligt fundament såvel som praktisk erfaring med relationelle og objekt-orienterede databaser. Emneområderne her er teoridannelsen bag databaser, sproglige konstruktioner til definition og tilgang af data samt problemstillinger omkring integration mellem objekt-orienterede programmer og databaser.

Derudover fokuserer kurset på software pålidelighed, arkitekturkonstruktioner (design patterns og frameworks), software kvaliteter, sproglige konstruktioner til strukturering af store programmer, samt værktøjer til programudvikling.



Indhold
Begrebsapparat og sprog for objekt-orienteret modellering: Begreber, klassifikation, komposition, relationer og notation.

Modeller for persistens, inklusive manuel og automatisk persistens samt databasesystemer.

Sprog til og fremgangsmåder for databasedesign.

Relationelle databaser, inklusive relationel algebra, datadefinition og -tilgang i SQL samt constraint-håndtering.

Integration mellem objektorienterede applikationsprogrammer og relationelle databaser, inklusive "impedance mismatch" problemet, oversættelse mellem datamodeller og interaktionsmekanismer med relationelle databasesystemer.

Objektorienterede databaser, inklusive sprog til definition og tilgang af data, samt integration med applikationsprogrammer.

Håndtering af samtidig databasetilgang, f.eks. transaktionshåndtering.

Software arkitektur, for eksempel design patterns, frameworks, og arkitektur kvaliteter.

Software kvalitet: Teknikker og værktøjer for systematisk test.

Sprogkonstruktioner til håndtering af store programmer, for eksempel moduler/pakker og undtagelseshåndtering.

Værktøjer for håndtering af store programmer, for eksempel software konfigurationsstyring, build-management, og testomgivelser.

Forelæsere
Mads Torgersen og Henrik Bærbak Christensen

Kursusmateriale
Garcia-Molina, Ullman, Widom: Database Systems - The Complete Book, Prentice-Hall 2002 samt noter og kompendier

Obligatoriske opgaver
Få (men store) obligatoriske opgaver. Et tilfredsstillende resultat er en forudsætning for deltagelse i eksamen.

Forudsætninger
Introduktion til Programmering Algoritmer og Datastrukturer

Forelæsninger
2+1 timer/uge

Øvelser
3 timer/uge

Eksamen
Mundtlig eksamen, 13 skalaen, ekstern censur

Sprog
Dansk

ECTS
10

Kvarter
1+2