Abstract
Software product line engineering is a paradigm for developing a family of software products from a repository of reusable assets rather than developing each individual product from scratch. In featureoriented software product line engineering, the common and the variable characteristics of the products are expressed in terms of features. Using software product line engineering approach, software products are produced en masse by means of two engineering phases: (i) Domain Engineering and, (ii) Application Engineering. At the domain engineering phase, reusable assets are developed with variation points where variant features may be bound for each of the diverse products. At the application engineering phase, individual and customized products are developed from the reusable assets. Ideally, the reusable assets should be adaptable with less effort to support additional variations (features) that were not planned beforehand in order to increase the usage context of SPL as a result of expanding markets or when a new usage context of software product line emerges. This paper presents an exploration research to investigate the properties of features, in the code-asset implemented using Object-Oriented Programming Style. In the exploration, we observed that program elements of disparate features formed unions as well as intersections that may affect modifiability of the code-assets. The implication of this research to practice is that an unstable product line and with the tendency of emerging variations should aim for techniques that limit the number of intersections between program elements of different features. Similarly, the implication of the observation to research is that there should be subsequent investigations using multiple case studies in different software domains and programming styles to improve the understanding of the findings.
Highlights
Software product line engineering (SPLE) is a paradigm for developing a family of software products from the repository of reusable assets rather than developing each individual product from scratch
Using software product line engineering approach, software products are produced en masse by means of two engineering phases: (i) Domain Engineering (DE) and, (ii) Application Engineering (AE)
We explored properties features in the code-asset using Berkeley Database Engine (Java edition), as a case study
Summary
Software product line engineering (SPLE) is a paradigm for developing a family of software products from the repository of reusable assets rather than developing each individual product from scratch. The driver of SPLE is pre-planned software reuse and within a specific problem area known as a domain. In the feature-oriented SPLE[1]–[3], the common and the variable characteristics of the products are expressed in terms of features. A feature is used as the key abstraction to distinguish between the members of the family. The sets of products in the product line are said to have ’common’ features and differ in ’variable’ features
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have