Software Product Line Engineering (SPLE) is a development approach used for handling large amounts of variants in software systems. The idea behind this approach is to exploit reusability of various similar and diverse products. Reusable products have various commonalities and differences that can be exploited, and to do so, developers need to define those differences (i.e., variabilities) within them. Variabilities can occur at different abstraction levels, through whole product lifecycle and developer need to handle it through the whole process. To address this problem at the architectural and requirement level, we used pure::variants, a leading variant-management commercial tool, to model variability within requirements in the railway domain. With this tool, we explicitly define a process on how to design a variability model that could be used to model several aspects of requirement variability, which can be reused again in the future, for the requirement engineering. We propose an approach for engineers to automatically generate models from requirement documents and then with the use of pure::variants functions, create various aspects which are then further transformed into feature models. Finally, the results of this transformation made possible the identification between core and variant features presented in these requirements making it easy to define what parts of the software are project specific and what are common for all generated models. Our results indicate that variability modelling using the pure::variants tool is applicable for requirement variant handling in the railway domain.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:mdh-39835 |
Date | January 2018 |
Creators | Bogicevic, Stefan |
Publisher | Mälardalens högskola, Akademin för innovation, design och teknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0022 seconds