Fakultät für Informatik Arbeitsgruppe Datenbanken & Software Engineering
 

Erweiterte Programmierkonzepte für maßgeschneiderte Datenhaltung (EPMD)

Organisatorisches

Dozent: Gunter Saake
SWS: 2 V, 2 Ü; 5 Credit Points
Fachsemester: Modul für das Masterstudium; Hauptstudium
Ort/Zeit: G29-307 / Mittwoch, 11-13 Uhr
Assistent: Christian Kästner
Übungen: Donnerstag, 15-17 Uhr, G22A-226, ab 25. Okt.
Freitag, 9-11 Uhr, G22A-110, ab 26 Okt.
Modulbeschreibung: pdf
Univis: Vorlesungseintrag

Lernziele & erworbene Kompetenzen:

  • Verständnis von Grenzen traditioneller Programmierparadigmen bzgl. der Entwicklung von Informationssystemen
  • Kenntnisse über moderne, erweiterte Programmierparadigmen mit Fokus auf die Erstellung maßgeschneiderter Systeme
  • Befähigung zur Bewertung, Auswahl und Anwendung erweiterter Programmiertechniken

Inhalte

  • Einführung in die Problematik maßgeschneiderter Systeme am Beispiel von embedded DBMS.
  • Modellierung und Implementierung von Programmfamilien, Produktlinien und Softwarefabriken.
  • Einführung in Grundkonzepte (u.a. Separation of Concerns, Information Hiding, Modularisierung, Strukturierte Programmierung und Entwurf).
  • Überblick über erweiterte Programmierkonzepte u.a. Komponenten, Design Pattern, Meta-Objekt-Protokolle und Aspekt-orientierte Programmierung, Kollaborationen und Rollen, Metaprogrammierung.

Lehrformen

Vorlesung und vorlesungsbegleitende Übung mit Fragenkatalogen einschließlich einer Projektarbeit zu einem ausgewählten Thema der Vorlesung; selbständiges Bearbeiten der Übungsaufgaben und des ausgewählten Themas als Voraussetzung für die Prüfung. Die Projektarbeit kann in die Endnote mit einfliessen. Details werden in der ersten Vorlesung bekanntgegeben.

Voraussetzung

Vorausgesetzt werden Grundlagen der Softwaretechnik, der Objekt-orientierten Programmierung und Modellierung, und Programmiererfahrung mit Java.

Folien

  1. Einführung und Überblick (10.10.2007)
  2. Maßgeschneidertes Datenmanagement (17.10.2007)
  3. Objekt-Orientierte Programmierung (17.10.2007 und 24.10.2007)
  4. Problemanalyse (u.a. Crosscutting Concerns, Extensibility Problem, Feature Tracability Problem) (07.11.2007)
  5. Feature-Orientierung (Domain Engineering, Feature-Begriff, Feature-Kohäsion, Deklarative Komposition) (14.11.2007)
  6. Kollaborationen und Rollen (21.11.2007)
  7. Aspekt-Orientierung, inkl. Meta-Objekt-Protokolle, AspectJ-Syntax (28.11.2007 und 05.12.2007) [Folien aktualisiert am 28.11.]
  8. Aspectual Feature Modules (05.12.2007 und 12.12.2007)
  9. Studien zur Verwendung von Features und Aspekten (12.12.2007)
  10. Feature-Refaktorisierung (12.12.2007)
  11. Projektvorstellungen (19.12.2007)
  12. Feature-Interaktion (19.12.2007 und 09.01.2008)
  13. Feature-Algebra (09.01.2008)
  14. Erfahrung zu massgeschneidertem Datenmanagement aus dem FAME Projekt (16.01.2008)
  15. The Big Picture (16.01.2008)
  16. Rückblick und Fragen (23.01.2008)

Uebungen

  1. Objektorientierung (25/26.10.2007)
  2. Design Pattern und Frameworks (01/02.11.2007)
  3. Grenzen von OOP (08/09.11.2007)
  4. Feature-Orientierung (15/16.11.2007)
  5. Kollaborationen und Rollen (22/23.11.2007)
  6. Aspekt-Orientierung (29/30.11.2007)
  7. Praktische Uebung (06/07.12.2007, Raum G29-144)
  8. Aspectual Feature Modules (13/14.12.2007)

Verschiedenes

Projektergebnisse

Literatur

Kleine Auswahl, genaueres auf den Folien:
<Webmaster> - webmaster@iti.cs.uni-magdeburg.de
Last modified: Jul. 3rd 2007