A software product family is a cluster of related software systems that are used for similar purposes. In order to construct a software product family, product line engineering (PLE) implements the domain artefacts piece by piece, and builds an `assembly line' that is capable to assemble the artefacts for a product based on its configuration. As a result, there is no executable product to be tested before the final generation. Therefore, a product line with non-trivial size is impossible to be tested due to the everlasting problem of combinatorial explosion of variants. Our approach offers a new possibility to construct a product family by constructing a family architecture that captures and realises all the commonalities and variabilities in a feature-oriented component-based manner. As a proof of concept, we implement our approach by developing a web-based tool, which can visualise the process of family construction and automatically generate any number of family members afterwards. Moreover, in this thesis, we will present the major advantage our approach can bring, which is the support of family-based testing. Finally, we evaluate our work by comparison with existing PLE approaches to show some extra potential advantages of our approach, such as scalability, maintainability and evolvability.
Date of Award | 1 Aug 2019 |
---|
Original language | English |
---|
Awarding Institution | - The University of Manchester
|
---|
Supervisor | Liping Zhao (Supervisor) & Kung-Kiu Lau (Supervisor) |
---|
- product family engineering
- enumerative variability
- family-based testing
Feature-oriented Component-based Development of Whole Software Product Families using Enumerative Variability
Qian, C. (Author). 1 Aug 2019
Student thesis: Phd