Software product line engineering (SPLE) has proven to be the methodology for developing a diversity of software products and software-intensive systems at lower costs, in shorter time, and with higher quality. Numerous reports document the significant achievements of introducing software product lines in industry.
As a software professional, researcher, or student, you will gain an understanding of variability management as a key technique in SPLE by attending this tutorial. You will first be introduced to an SPLE framework that emphasizes the differences between SPLE and single systems engineering. You will understand the concepts of software product line variability, the need for the explicit representation of variability across all development artifacts as well as the continuous management of variability.
We will introduce the OVM (orthogonal variability modeling) approach as a solution for structuring and defining variability across different development artifacts (ranging from requirements over design to test cases). Especially, we discuss the definition of variability in requirements and its systematic mapping to test cases. The approach will be illustrated by a running example from the home automation domain. Moreover, you will have the opportunity to practice what you have learnt in two integrated exercises.
Dr. Klaus Pohl is the scientific director of the Irish Software Engineering Research Center (ISERC) and holds a full professorship for software systems engineering at the University of Duisburg-Essen. He received his Ph.D. and his habilitation in computer science from RWTH Aachen. He leads major research as well as various technology transfer projects in the area of product line engineering and requirements engineering. He served, among others, as program chair for the IEEE Intl. Requirements Engineering Conference (RE 2002), the Experience Reports Track of the ICSE 2005, the German Software Engineering Conference (SE 2005), the Intl. Software Product Line Conference (SPLC 2005), and the Intl. Conference on Advanced Information Systems Engineering (CAiSE 2006). Klaus Pohl is (co-)author of over 90 refereed publications and, among others, is the co-author of the text book "Software Product-line Engineering - Foundations, Principles, and Techniques" (Springer, 2005), on which the tutorial is based.
Dr. Andreas Metzger is a senior research assistant at the "Software Systems Engineering" group at the University of Duisburg-Essen. He received his Diploma and his Ph.D. in computer science ("with distinction") from the University of Kaiserslautern. In his Ph.D. he proposed new techniques for model-based quality assurance. His current research interests include product line engineering, model-driven software development and quality assurance, especially requirements-based testing of functional and quality properties as well as model-based detection of feature interactions. Andreas Metzger is a member of the IEEE Computer Society and of the GI, the German Informatics Society.