Modulcode: | WInf-GenProg |
Englische Bezeichnung: | Generative Programming |
Modulverantwortliche(r): | Prof. Dr. Andreas Speck |
Turnus: | unregelmäßig (WS12/13 SS14 SS15 SS16 WS17/18 WS19/20 WS20/21 SS23 SS24 SS25) |
Präsenzzeiten: | 2V 2Ü |
ECTS: | 6 |
Workload: | 30 Std. Vorlesung, 30 Std. Präsenzübungen, 150 Std. Selbststudium |
Dauer: | ein Semester |
Modulkategorien: | MSc-WInf-WP-Inf (MSc WInf (21)) WI (MSc WInf (15)) AM-EMIS (MSc WInf) EMIS (MSc WInf) |
Lehrsprache: | Deutsch |
Voraussetzungen: |
Im Modul werden nach einer kurzen Betrachtung der Grundlagen der Software-Entwicklung Ansätze zur Automatisierung der Software-Entwicklung betrachtet. Ein derartiges Vorgehen wird heute sehr häufig bei kommerziellen Systemen (wie eCommerce oder ERP Systemen) angewendet, da eine händische Programmierung zu aufwändig ist. Es werden erste Konzepte zur manuellen Wiederverwendung wie Frameworks und dann schrittweise Konzepte mit höherem Automatisierungsgrad (Produktlinien, generatives Programmieren) betrachtet. Abschließend wird noch die Qualitätssicherung und Validierung der automatisch erzeugten Software thematisiert.
Die Studierenden haben einen Überblick über die bisherigen Entwicklungen im Bereich der generativen Software Entwicklung und besitzen ein Verständnis für die Einsetzbarkeit der verschiedenen Konzepte. Die Studierenden können nach der Veranstaltung die Techniken der generativen Software Entwicklung im industriellen und wissenschaftlichen Umfeld bewerten und einsetzen.
Es werden zunächst etablierte Vorgehen wie Muster und Frameworks betrachtet und deren Potential bewertetet. Dann werden Konzepte mit höherem Automatisierungsgrad vorgestellt. Dieses sind Produktlinien, generatives Programmieren und aspektorientierte Programmierung. Es folgen die Konzepte und Vorgehensweisen von Generatoren in generativen Systemen. Abschließend werden mögliche, typische Fehler und Probleme betrachtet sowie die Ansätze zum automatisierten Finden dieser Fehlerfälle .
Es erfolgt eine Prüfung am Ende der Vorlesung als mündliche Prüfung.
Voraussetzung zur Teilnahme an der Prüfung ist die Erbringung von Leistungen im Rahmen der Übungsveranstaltung sein. Die erforderlichen Vorleistungen werden zu Beginn der Lehrveranstaltung / Übungsveranstaltung bekannt gegeben.
Neben der Vorlesung werden zunächst in den Präsenzübungen die zu bearbeitenden Aufgaben besprochen. Im weiteren Verlauf der Veranstaltungen kommen noch systemunterstützte Übungen mit den entsprechenden generativen Systemen hinzu.