Book contents
- Frontmatter
- Contents
- Part I Software product line engineering challenges
- 1 Introduction
- 2 Case studies for software product line engineering
- Part II Variability analysis and modelling
- Part III Variability implementation and traceability
- Part IV Product-driven vs. solution-driven software product line engineering
- Part V Future trends
- Epilogue
- References
- Index
1 - Introduction
from Part I - Software product line engineering challenges
Published online by Cambridge University Press: 07 September 2011
- Frontmatter
- Contents
- Part I Software product line engineering challenges
- 1 Introduction
- 2 Case studies for software product line engineering
- Part II Variability analysis and modelling
- Part III Variability implementation and traceability
- Part IV Product-driven vs. solution-driven software product line engineering
- Part V Future trends
- Epilogue
- References
- Index
Summary
He sat, in defiance of municipal orders, astride the gun Zam-Zammah on her brick platform opposite the old Ajaib- Gher – the Wonder House, as the natives call the Lahore Museum. Who hold Zam-Zammah, that ‘fire-breathing dragon’, hold the Punjab.
(Rudyard Kipling, Kim)As the size and complexity of software systems grows, so does the need for effective modularity, abstraction and composition mechanisms to improve the reuse of software development assets during software systems engineering. This need for reusability is dictated by pressures to minimise costs and shorten the time to market. However, such reusability is only possible if these assets are variable enough to be usable in different products. Variability support has thus become an important attribute of modern software development practices. This is reflected by the increasing interest in mechanisms such as software product lines (Clements & Northrop, 2001) and generative programming (Czarnecki & Eisenecker 2000). Such mechanisms allow the automation of software development as opposed to the creation of custom ‘one of a kind’ software from scratch. By utilising variability techniques, highly reusable code libraries and components can be created, thus cutting costs and reducing the time to market.
A software product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. Core assets are produced and reused in a number of products that form a family. These core assets may be documents, models, etc., comprising product portfolios, requirements, project plans, architecture, design models and, of course, software components.
- Type
- Chapter
- Information
- Aspect-Oriented, Model-Driven Software Product LinesThe AMPLE Way, pp. 3 - 26Publisher: Cambridge University PressPrint publication year: 2011
- 1
- Cited by