Software Product Lines: Concepts & Implementation
Module number: INF-SSE-34
Lecturer: Thomas Thüm
Associates: Alexander Knüppel
Dates
- Lecture: Thursday, 09:45 - 11:15, IZ 358
- Tutorial: Tuesday, 09:45 - 11:15, IZ 358
The lecture starts on April 5th, 2018 and the corresponding tutorial starts on April 16th, 2018.
Requirements
This lecture is primarily targeted to master students in (economic) computer science and IST. Moreover, good programming knowledge (in Java) is essential to follow the provided programming examples and successfully complete all assignments.
Content
- Motivation on difficulties coming with custom-tailored systems.
- Modeling and implementation of software product lines.
- Preliminary concepts (e.g., Separation of Concerns, Information Hiding, Modularization, Strucutred Programming and Design)
- Overview of advanced programming concepts, such as
- Components
- Design Patterns
- Meta-Object-Protocols
- Preprocessor-based Variability
- Aspect-oriented Programming
- Collaborations and Feature-oriented Programming
- Feature-Interaction, Testing, Analysis
Goals
- Understanding limitations of traditional programming paradigms w.r.t. the software development of information systems
- Overview of various techniques for implementing software product lines
- Knowledge of modern programming paradigms suitable for the development of custom-tailored software systems
- Attaining qualifications to valuate, select, and apply advanced programming techniques.
Material
Slides will be provided via Stud.IP.
Literature
- 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.