Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Modellgetriebene Softwareentwicklung (Wintersemester 2014/2015)

Dozent: Prof. Dr. Holger Giese (Systemanalyse und Modellierung) , Thomas Vogel (Systemanalyse und Modellierung)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 24.10.2014
  • Lehrform: VP
  • Belegungsart: Wahlpflichtmodul

Studiengänge, Modulgruppen & Module

IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
IT-Systems Engineering BA

Beschreibung

Die modellgetriebene Softwareentwicklung (Model-Driven (Software) Development, MDD) propagiert die Automatisierung in der Softwareentwicklung weiter voranzutreiben und Modelle statt Code als wesentliches Element der Entwicklung zu verwenden. Der Übergang von der fachlich getriebenen Spezifikation der Software zur ausführbaren Anwendung soll dabei möglichst automatisiert durch geeignete Transformationswerkzeuge erfolgen. Versprochen wird sowohl eine Kostensenkung durch die generative Erzeugung von weiten Teilen der Anwendung und beschreibender Modelle als auch eine vereinfachte Wiederverwendung von Modellen und eine Verbesserung der Software-Qualität.

Diese Vorlesung beleuchtet wesentliche Ansätze zur modellgetriebenen Softwareentwicklung wie die Model Driven Architecture (MDA) der OMG oder auch Domänenspezifische Sprachen (domain-specific languages (DSL)) bzw. Software-Factories und die den verschiedenen Ansätzen zugrundeliegenden Konzepten und Techniken. Dazu werden zunächst die konzeptionellen Grundlagen der modellgetriebenen Softwareentwicklung wie Metamodellierung, Modelltransformationen, und Codegenerierung von Modellen betrachtet. Darüber hinaus werden Fragen bezüglich der Synchronisation von Modellen, Maßnahmen zur Absicherung der Qualität und Modellmanagement bei der modellgetriebenen Softwareentwicklung diskutiert. Darauf aufbauend werden Techniken der modellgetriebenen Softwareentwicklung behandelt, vor allem basierend auf dem Eclipse Modeling Framework (EMF).

Voraussetzungen

Grundlagenwissen in der Modellierung von Software, wie durch die Lehrveranstaltungen Modellierung I und II vermittelt, wird vorausgesetzt. 

Literatur

Die Folien zur Vorlesung wie auch eine Literaturliste werden im internen Bereich zur Verfügung gestellt.

Leistungserfassung

Die Leistungserfassung erfolgt durch ein Projekt, das während des Semesters zu bearbeiten ist, sowie eine mündliche Prüfung am Ende des Semesters. Die Endnote ergibt sich aus dem gewichteten Durchschnitt beider Teile. Die Projektnote wird dabei zu 1/3, die Prüfungsnote zu 2/3 gewichtet. Zur Vorbereitung auf das Projekt wird es Übungsaufgaben geben. Das Bearbeiten und Bestehen der Übungsaufgaben und des Projekts ist hierbei Zulassungsvorraussetzung zur mündlichen Prüfung.

In dem Projekt ist ein kleines Werkzeug für eine domänen-spezifische Sprache (DSL) auf Basis von Eclipse zu entwickeln. Das Werkzeug soll es u.a. ermöglichen, Modelle zu erstellen und zu bearbeiten, zu validieren, sowie Quellcode daraus zu generieren. Die notwendigen Kenntnisse werden im Übungsbetrieb vermittelt. Es wird dabei ausgiebig auf bereits verfügbare Standardtechnologien und -frameworks, wie das Eclipse Modeling Framework und entsprechende Plugins zur modellgetriebenen Softwareentwicklung, zurückgegriffen. Die Projektaufgaben werden in Gruppen von ca. 3 Studenten bearbeitet.

Termine

Vorlesungstermine:

  • Dienstags, 15:15 - 16:45, H-2.58
  • Mittwochs, 09:15 - 10:45, A-2.2

Die erste Vorlesung findet am 14.10.2014 statt. Am 15.10.2014 entfällt die Vorlesung wegen der gleichzeitig stattfindenden Vollversammlung.

Voraussichtlich finden bis Mitte Dezember Vorlesungen und (die Bearbeitung der) Übungen statt. Im Anschluss startet die Projektphase der Lehrveranstaltung.

Die letzte Vorlesung findet am Dienstag, 16.12.2014 statt. An diesem Tag wird auch die Aufgabenstellung für das Projekt ausgegeben.

Zurück