Naoufel Kraiem*
Requirements Engineering (RE) is recognized as a critical stage in software development lifecycle. The cost of fixing a requirements flaw later in the development stage is much higher than the cost of identifying and fixing it in the early stages of development. In order to do this the system requirements must be properly identified, analyzed and reviewed early in the development process. Given the nature of Software Product Lines (SPLs), the importance of requirements engineering is more renounced as SPLs pose more complex challenges than development of a ‘single’ product. Several approaches have been proposed in the literature, which encompass activities for capturing requirements, their variability and commonality.
This thesis mainly aims to propose a framework that will guide system engineers to choose an adequate approach for their preferred goal. The proposed framework is expected to decrease the time required to search an effective approach from several approaches presented together. The framework assesses RE approaches for SPL based on a selected criteria set. It makes further contributions by implementing a machine learning algorithm (k-means) to cluster the quantitative data built from the assessment. Furthermore, it implements a website that helps achieve the initial objective of this thesis.
The result of the framework was validated and it showed that the classified data is practical. This framework will decrease the probability of being misled while choosing a suitable RE approach applied to SPL.