Externally indexed torrent
If you are the original uploader, contact staff to have it moved to your account
Textbook in PDF format
This handbook distils the wealth of expertise and knowledge from a large community of researchers and industrial practitioners in Software Product Lines (SPLs) gained through extensive and rigorous theoretical, empirical, and applied research. It is a timely compilation of well-established and cutting-edge approaches that can be leveraged by those facing the prevailing and daunting challenge of re-engineering their systems into SPLs. The selection of chapters provides readers with a wide and diverse perspective that reflects the complementary and varied expertise of the chapter authors. This perspective covers the re-engineering processes, from planning to execution.
SPLs are families of systems that share common assets, allowing a disciplined software reuse. The adoption of SPL practices has shown to enable significant technical and economic benefits for the companies that employ them. However, successful SPLs rarely start from scratch, but instead, they usually start from a set of existing systems that must undergo well-defined re-engineering processes to unleash new levels of productivity and competitiveness.
Practitioners will benefit from the lessons learned by the community, captured in the array of methodological and technological alternatives presented in the chapters of the handbook, and will gain the confidence for undertaking their own re-engineering challenges. Researchers and educators will find a valuable single-entry point to quickly become familiar with the state-of-the-art on the topic and the open research opportunities including undergraduate, graduate students, and R&D engineers who want to have a comprehensive understanding of techniques in reverse engineering and re-engineering of variability-rich software systems.
The Chapter 10 presents a study of extraction and evolution of a software product line (SPL) from existing web-based systems. We show a set of activities: (1) to extract commonalities and variabilities from existing use case models of a cloned web-based system and (2) to refactor and evolve a software product line that addresses the existing web-based systems. We observed several benefits in our study related to a systematic variability management and an ease customization and evolution of the SPL features. Also, we indicate that the presented activities can be part of a method for the extraction and evolution of SPLs. Software Product Lines (SPLs) promote large-scale reuse in the context of software development. A SPL is a family of related systems that share common features, but, according to the system (product) being considered, maintains specific features to meet the needs of a market segment. A feature is a functionality or property of a SPL that is relevant to any stakeholder. Several benefits can be observed from the opportunistic reuse of artifacts promoted by SPLs, such as: reducing time and costs with development, as well as improving the quality of final products.
Part I. Feature Location and Variability Model Extraction
Part II. Reengineering Product Line Architectures
Part III. Frameworks
Part IV. Perspectives