Software-Produktlinien: Konzepte & Implementierung
Modulnummer: INF-SSE-34
Dozent: Lukas Linsbauer
Mitarbeiter: Alexander Knüppel
Achtung: Digitale Lehre für das SoSe 2021
Liebe Studierende,
die Vorlesung SPL im Sommersemester beginnt in Kürze und -- der aktuellen Lage geschuldet -- wieder einmal in digitaler Form. Um einen reibungslosen Ablauf zu gewährleisten, möchten wir dazu kurz ein bisschen was erzählen (diese Liste wird ggf. im Laufe der nächsten zwei Wochen noch erweitert):
- Unser Hauptkommunikationswerkzeug wird stud.ip sein. Bitte tragt euch da für die Vorlesung Software-Produktlinien ein, sowohl für die Vorlesung als auch die Übung. Alle Ankündigungen, Vorlesungen und Übungsmaterialen werden über stud.ip gemacht bzw. bereitgestellt. Die Veranstaltung ist entweder seit kurzem freigeschaltet oder wird es heute order morgen!
- Jede Woche wird es eine aktuelle Vorlesung Live geben. Zeitnah wird dazu auch ein Übungsblatt hochgeladen. Das Übungsblatt wird in Präsens gemeinsam besprochen, ist aber ansonsten im Selbststudium zu bearbeiten. Zusätzlich werden wir innerhalb von stud.ip aber auch das Forum zum Klären und Diskutieren von Fragen nutzen.
- Es ist eine Studienleistung zu erbringen. Weitere Informationen dazu folgen zu Beginn der Veranstaltung. Die Bearbeitung erfolgt von zu hause und die Abgabe per Versionsverwaltung. Ziel ist es, eine eigene Produktlinie mit FeatureIDE und den vorgestellten Implementierungstechniken zu erstellen.
- Die Prüfungsmodalitäten sehen eine mündliche Prüfung vor.
- Bitte wartet mit Fragen bis zum Beginn der ersten Vorlesung, da es sein kann, dass wir bis dahin die benötigten Informationen noch bereitstellen.
Termine
Die Vorlesung bzw. Übung findet zu folgenden Zeiten statt:
- Vorlesung: Mi, 09:45 - 11:15 (BigBlueButton-Raum in stud.ip, Vorlesungsveranstaltung)
- Übungsblatt: Di , 09:45 - 11:15 (BigBlueButton-Raum in stud.ip, Übungsveranstaltung)
Sprechstunde: tba
Erste Vorlesung: Wird noch bekannt gegeben!
Voraussetzungen
Die Vorlesung richtet sich in erster Linie an Studierende in Master Informatik, Wirtschaftsinformatik und IST. Da innerhalb der Vorlesung Programmieraufgaben (in Java) als Studienleistung erbracht werden müssen, sind gute Programmierkenntnisse notwendig und werden vorausgesetzt.
Inhalt
- Einführung in die Problematik maßgeschneiderter Systeme
- Modellierung und Implementierung von Software-Produktlinien
- Einführung in Grundkonzepte (u.a. Separation of Concerns, Information Hiding, Modularisierung, Strukturierte Programmierung und Entwurf)
- Überblick über erweiterte Programmierkonzepte, unter anderem
- Komponenten
- Design Pattern
- Meta-Objekt-Protokolle
- Präprozessorbasierte Variabilität
- Aspekt-orientierte Programmierung
- Kollaborationen und Feature-orientierte Programmierung
- Feature-Interaktionen, Testen, Analyse
Ziele
- Verständnis von Grenzen traditioneller Programmierparadigmen bzgl. der Entwicklung von Informationssystemen
- Übersicht über verschiedene Möglichkeiten zur Implementierung von Softwareproduktlinien
- Kenntnisse über moderne, erweiterte Programmierparadigmen mit Fokus auf die Erstellung maßgeschneiderter Systeme
- Befähigung zur Bewertung, Auswahl und Anwendung erweiterter Programmiertechniken
Materialien
Vorlesungsfolien werden in Stud.IP zur Verfügung gestellt.
Literatur
- Bücher zur Vorlesung (erhätlich in der Bibliothek):
- P. Clements, L. Northrop: Software Product Lines: Practices and Patterns. Addison- Wesley, 2002.
- K. Pohl, G. Böckle, F. van der Linden: Software Product Line Engineering: Foundations, Principles and Techniques. Springer 2005.