Software evolution is widely recognized as the process by which programs change shape, adapt to the marketplace and
inherit characteristics from preexisting programs.
In Software Engineering, the key area responsible for controlling the software evolution is software configuration
management (SCM). SCM is the task of tracking and controlling changes in the software, in order to garantee the
integrity of the whole software as it changes and evolves.
Evolution in traditional software engineering, where a single system is developed, occurs generally in the maintenance
phase of software life cycle. A system is developed according to the initial customer requirements, and normally has
limited possibilities to incorporate new requirements [15]. On the other hand, in the product-line approach, a set of
software-intensive systems shares a common and managed set of features, satisfying the specifics needs of a particular
market segment, and all products are developed from a common set of core assets in a prescribed way [1]. In this
context, the overall scenario changes, since new challenges arises such as software assets variability, requirements
management, architecture design to support all products and verification and validation of the products in the product
line. Some of these challenges have a mature solution in the industry or academy. In terms of evolution, a product line
is a continuously evolving organism, and for that, evolution should be managed properly to achieve all benefits of this
approach. This makes configuration managementand other evolution techniques more challenging than in traditional single
software development [15]. Evolution in a product line is complicated by the fact that an asset is shared among
products, and any change in this asset may affect on several products [22].
Inside the evolution and maintenance of software product lines, different sub-areas or topics can be highlighted such
as version control tools to support the development, processes, and planning issues.
Configuration Management and Software Product Lines
|