A software product line has become an established software engineering approach to developing a set of products that vary from each other but share a common set of assets and adhere to a common software architecture. Variability is a means to design the differences between the products in a software product line. Variability is the ability of a software system or an artifact to be efficiently extended, changed, customized, or configured for use in a particular context. Variability has been studied in recent years and several variability models have been proposed. However, the use especially from industry has not been addressed extensively. This thesis addresses the problem of what kinds of models to use to represent the variability in a software product line. As the overall research approach, we applied Design Science, in which variability models are interventions in a prescription. We applied the literature review and case study as the research methods. We study literature about the existing variability models, as well as evidence about the use of these variability models. We provide descriptive accounts of variability models in three cases in industry. On the basis of literature and a case study, we describe a set of considerations to be taken into account when representing variability. We identified tens of different variability models. These variability models cover the activities, artifacts and phases of software engineering. We represent that several kinds of existing variability models and in-house approaches have been provided with empirical evidence about use, but no model is clearly become an established practice. The considerations explicate design decisions to be considered when using a variability model to represent the variability of an SPL, emphasizing that the applications of a variability model depend on the specific context. These considerations can also be relevant to those who develop variability models to address the needs of practice.
|Publication status||Published - 2019|
|MoE publication type||G5 Doctoral dissertation (article)|
- software product line