Software Produktlinien

Die Veranstaltung Software-Produktlinien wird zur Zeit nicht angeboten.

Termine im Sommersemester 2019

  • Vorlesung: Dienstags, 10:00 - 11:30, Raum S306/052
  • Übung: Dienstags, 11:45 - 13:15, Raum S306/052

Software Produktlinien - Konzepte, Analysen und Implementierung

Herzlich willkommen auf der Seite zur Lehrveranstaltung "Software Produktlinien".

Motivation

Die Diversität heutiger und zukünftiger Software-Systeme nimmt stetig zu. Die Produkte vieler
Software-intensiver Anwendungsdomänen wie beispielsweise im Automotive Bereich oder im Bereich mobiler Endgeräte sind heute nahezu beliebig durch den Kunden konfigurierbar. Die effiziente Entwicklung und Qualitätssicherung derartiger Produktfamilien ist aufgrund der hohen Variantenzahl mit herkömmlichen Methoden des Software-Engineering kaum noch zu bewältigen. Software-Produktlinien bieten einen ganzheitlichen Ansatz zur systematischen Entwicklung gleichartiger Software-Systeme mit vordefinierten Variabilitätspunkten auf Basis einer gemeinsamen Plattform.


Die Entwicklung einer Software-Produktlinie besteht aus zwei Phasen, dem Domain Engineering und dem Application Engineering. In der ersten Phase werden zunächst durch Analyse der
Problemdomäne die relevanten Produktmerkmale (Features) identifiziert, welche die
Gemeinsamkeiten und Unterschiede der Produktvarianten charakterisieren. Im zweiten Schritt werden im Lösungsraum komponierbare Feature-Artefakte auf allen Abstraktionsebenen bis zur
Produktimplementierung definiert. In der Phase des Application Engineering können nun für beliebige Produktkonfigurationen entsprechende Implementierungsvarianten automatisch abgeleitet werden.


Dieses Konzept der gezielten Wiederverwendung gemeinsamer Artefakte in sämtlichen
Entwicklungsphasen ermöglicht die Reduktion der Kosten bei gleichzeitiger Erhöhung der
Produktqualität.

Inhalte

Vorlesung

  1. Software-Produktlinien: Motivation, Grundlagen, Running Example
  2. Feature-orientierte Software-Produktlinien
  3. Feature-Modelle und Produktkonfiguration
  4. Variabilitätsmodellierung im Lösungsraum
  5. Programmierparadigmen für Software-Produktlinien
  6. Feature-Interaktion
  7. Modellbasierte Testansätze für Produktlinien
  8. Formale Verifikation von Produktlinien
  9. Fallbeispiele für Produktlinien aus verschiedenen Anwendungsdomänen
  10. Aktuelle Forschungsthemen und Problemstellungen

Übungen

  1. Ansätze und Werkzeuge zur Feature-Modellierung
  2. Ansätze und Werkzeuge zur Variabilitätsmodellierung
  3. Beispiele für Implementierungsansätze: Präprozessor-Programmierung, Feature-orientierte Programmierung, Aspekt-orientierte Programmierung, Delta-orientierte Programmierung
  4. Ansätze und Werkzeuge zum Testen von Produktlinien-Analyse

Materialien