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

Read more

Summary

Introduction

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

Objectives
Methods
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.