Software-Produktlinien: Konzepte & Implementierung
Modulnummer: INF-SSE-34
Dozent: Lukas Linsbauer
Mitarbeiter: Alexander Knüppel
Achtung: Digitale Lehre für das SoSe 2020
Liebe Studierende,
die Vorlesung SPL im Sommersemester beginnt in Kürze und -- der aktuellen Lage geschuldet -- erstmalig 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. Alle Ankündigungen, Vorlesungen und Übungsmaterialen werden über stud.ip gemacht bzw. bereitgestellt. Die Veranstaltung ist seit kurzem freigeschaltet! Ihr braucht euch nicht für die Übung eintragen, da wir nur die Vorlesung nutzen (die Übung ist auch deaktiviert).
- Jede Woche wird eine neue, aktuelle Vorlesung in Form eines Videos hochgeladen. Zeitnah wird dazu auch ein Übungsblatt hochgeladen. Das Übungsblatt ist freiwillig und ist 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 wird keine Musterlösungen zu den Aufgaben geben! Stattdessen bieten wir eine wöchentliche, frewillige (!) virtuelle Sprechstunde an! Dort können Fragen zum Übungs- und Vorlesungsbetrieb gestellt werden. Die Sprechstunde findet über BigBlueButton statt und es wird jeweis eine Ankündigung dazu geben.
- Es ist eine Studienleistung zu erbringen. Weitere Informationen dazu folgen in der nächsten Woche. 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 stehen noch nicht endgültig fest. Wir werden zeitnah dazu Auskunft geben.
- 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
Videos der Vorlesung und die Übungsaufgaben werden zu folgenden Zeiten hochgeladen:
- Vorlesung: Mittwochs, ca. 12:00 Uhr, Start: 22.04.2020
- Übungsblatt: Mittwochs, ca. 12:00 Uhr, Start: 29.04.2020
Sprechstunde: Mittwochs, ca .10:00-11:00 Uhr, Start: 29.04.2020
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.