Software-Produktlinien

Moderne Softwaresysteme müssen zunehmend flexibel an unterschiedliche Plattformen, Kundenwünsche und Einsatzgebiete angepasst werden. Das Modul bietet eine umfassende Einführung in das Software Product Line Engineering (SPLE) zur systematischen Entwicklung solcher variantenreichen Systeme. Dabei wird auf den gesamten Produktlebenszyklus eingegangen, von der initialen Entwicklung bis hin zur Wartung bestehender Systeme. Ein wesentlicher Aspekt sind die Modellierung von Varianten als Features sowie Implementierungstechniken für Softwaresysteme, welche für die Realisierung von Software-Produktlinien geeignet sind. Dabei wird auf typische Herausforderungen in der Realisierung variantenreicher Softwaresysteme eingegangen, wobei verschiedene Anwendungsfälle berücksichtigt werden. Wesentlich ist auch die Qualitätssicherung in variantenreichen Softwaresystemen, um einerseits hochwertige Variantenbeschreibungen und andererseits qualitätsgesicherte Software-Produktlinien erzeugen zu können.

Ein Beispiel für solche variantenreichen Systeme sind Automatisierungssysteme: keine Gebäudeautomatisierung gleicht der anderen und auch Produktionsanlagen müssen flexibel an die Gegebenheiten angepasst werden. Auch unsere Autos werden immer software-intensiver mit flexiblen Updates und Kauf von Erweiterungen im Onlineshop - bei gleichbleibender Hardware. Neben klassischer Computersoftware gibt es daher in verschiedensten Anwendungsdomänen Beispiele für variantenreiche Softwaresysteme.
 

Learning Goals

 

Wissen:

  • Studierende kennen die Grenzen traditioneller Programmierparadigmen für variantenreiche Softwaresysteme
  • Studierende können typische Konzepte von Software-Produktlinien erklären
  • Studierende kennen modellbasierte Ansätze zur Variabilitätsmodellierung und deren Anwendung in der Softwaretechnik
  • Studierende können den Einsatz von Entwurfsmustern (Design Patterns) für Software-Produktlinien erklären
  • Studierende können die Beziehung zwischen Softwarearchitektur und Software-Produktlinien beschreiben
  • Studierende kennen typische Anwendungsfälle für Software-Produktlinien


Fertigkeiten:

  • Studierende können modellgetriebene Softwareentwicklungsmethoden für Software-Produktlinien einsetzen
  • Studierende können Software-Produktlinien analysieren
  • Studierende können die Qualität variabler Software kritisch bewerten
  • Studierende können eine Teststrategie für eine Software-Produktlinie ableiten
  • Studierende können Konzepte zur Implementierung variabler Software differenzieren und eine geeignete Strategie auswählen

Kompetenzen:

  • Studierende können Variabilitätsprobleme in komplexen, praxisnahen Szenarien selbstständig identifizieren
  • Studierende können Programmierkonzepte für variable Softwaresysteme eigenständig vergleichen und bewerten, sowie ein für den Anwendungsfall geeignetes Konzept auswählen
  • Studierende können ein geeignetes Programmierkonzept für ein variables Softwaresystem anwenden und umsetzen

Einordnung in Studiengänge

Master  
StudiengangFSPO(s)Einordnung      
Informatik2022Vertiefungsbereich Informatik/Praktische Informatik      
Medieninformatik2022Vertiefungsbereich Medieninformatik/Praktische Informatik      
Software Engineering2022Vertiefungsbereich Software Engineering, Praktische Informatik      

(Angaben ohne Gewähr)

Termine WiSe 2026/27

Termine

Wöchentlich
Mittwoch     14-16 O27-123
Donnerstag 12-14 O27-2203