Students will learn the key processes such as domain engineering and application engineering, their activities, and underlining techniques for defining and managing software product-line components.
Contents
Software product-line engineering is a paradigm for developing a diversity of software products and software-intensive systems based on the underlying architecture of an organizations product platform. The product variants can be derived from the basic product family, which creates the opportunity to reuse and differentiate on products in the family. This course discusses in detail the essential foundations, principles, and techniques of software product-line engineering. It covers the concepts of software architecture, component and system.
Teaching methods
Lectures, and seminars. Students will work together on a topic of software product-line engineering, write a report, and present it in seminars. The number and length of seminar sessions depend on the number of groups.
Teaching language
English
Modes of study
Lectures, student presentations, and a project work. Students will work individually or together on a topic of software product-line engineering, write a report, and present it in class.
Evaluation
Pass/fail.
Recommended year of study
Advanced level. First year of M.Sc. studies.
Study materials
Pohl, K., Böckle, G., van der Linden, F., Software Product Line Engineering: Foundations, Principles and Techniques. Springer 2005.