Zur Seitennavigation oder mit Tastenkombination für den accesskey-Taste und Taste 1 
Zum Seiteninhalt oder mit Tastenkombination für den accesskey und Taste 2 

Foto: Matthias Friel

Konfigurierbare Softwaresysteme - Einzelansicht

Veranstaltungsart Vorlesung/Übung Veranstaltungsnummer 551721
SWS Semester WiSe 2021/22
Einrichtung Institut für Informatik und Computational Science   Sprache englisch
Weitere Links Configurable Software Systems -- Moodle course
Belegungsfristen 01.10.2021 - 10.11.2021

Belegung über PULS
01.10.2021 - 10.11.2021

Belegung über PULS
Gruppe 1:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson fällt aus am Max. Teilnehmer/-innen
Einzeltermine anzeigen
Vorlesung Mo 12:00 bis 14:00 wöchentlich 25.10.2021 bis 14.02.2022  2.70.0.09 Dr.-Ing. Schulze 20.12.2021: Akademische Weihnachtsferien
27.12.2021: Akademische Weihnachtsferien
18
Einzeltermine anzeigen
Seminar/Übung Mo 14:00 bis 16:00 wöchentlich 25.10.2021 bis 14.02.2022  2.70.0.09 Dr.-Ing. Schulze 20.12.2021: Akademische Weihnachtsferien
27.12.2021: Akademische Weihnachtsferien
18
Kurzkommentar

All Material will be on Moodle, so please register for the Moodle course as well.

The registration key for the Moodle course is: ConfSS_2021

Kommentar

Software is eating the world! Every day, more and more! In other words, software is ubiquitous in almost all parts of our daily life and a main driver for innovation and the ongoing digitization. As examples, just take your mobile devices, or the Internet of Things.

The corresponding software systems need to be tailored to the specific needs of the respective use case (e.g., underlying hardware, customer requirements, legal restrictions), and thus, have to be creaed in a vast amount of variants. Though, the development must be fast, reliable and cost-effective. This, in turn, requires to tackle software variability/configurability in multiple dimensions: On the one hand, there is variability in time, such as, versioning, maintenance/evolution, or reengineering. On the other hand, this also requires to address variability in space, such as, variant management, tailor-made software development, and structured reuse.

In this course, we focus on variability in space, which commonly exists in configurable software systems or software product lines. Among others, we will have a closer look of how to model variability and implement such systems, but also what challenges exist to analyze such systems and how to tackle them. As a result, this course provides foundations to better understand configurable software systems and how to develop and maintain them.
Complementary, and to deepen this understanding, students will conduct practical work by developing small (configurable) programs within the course.

Literatur

Feature-Oriented Software Product Lines: Concepts and Implementation. Sven Apel, Don Batory, Christian Kästner, Gunter Saake. Springer (Link: https://link.springer.com/book/10.1007%2F978-3-642-37521-7)

Mastering Variability with FeatureIDE. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. Springer (Link: https://link.springer.com/book/10.1007%2F978-3-319-61443-4)

Moreover, we will use FeatureIDE for the practical parts of the lecture.

Voraussetzungen

Knowledge on software engineering is required.

Knwoeldge on foundations of programming and some programming experience are recommended.

Lerninhalte
  • Modeling and implementation of program families, configurable software systems, and software ecosystems
  • Understanding the limitations of traditional programming paradigms for configurable software systems
  • Knowledge about different possiblities to implement configurable software systems and software product lines
  • Knowledge and practical experience on advanced programming concepts (e.g., componets, frameworks, design patterns, feature-oriented programming)
  • Understanding the challenges of configurable software systems (e.g., regarding maintainability and evolution)
  • Knowledge about challenges and techniques to analyze configurable software systems
  • Introduction to concepts of "clean coding" (i.a., separation of concerns, information hiding, modularization)

Strukturbaum
Keine Einordnung ins Vorlesungsverzeichnis vorhanden. Veranstaltung ist aus dem Semester WiSe 2021/22 , Aktuelles Semester: WiSe 2022/23