What is software product lines?
It is an application families with generic functionality that can be adapted and configured for use in a specific context.
A software product line is a set of applications with a common architecture and shared components, with each application specialised to reflect different requirements.
Adaptation may involved:
- Component and system configuration
- Adding new components to the system.
- Selecting from library of existing components.
- Modifying components to meet new requirements.
Application Framework and Product Lines
It rely on object-oriented features such as polymorphism to implement extensions. It need not to be object-oriented.
Focus on providing technical rather than domain-specific support. Product lines embed domain and platform information.
Product lines often control applications for equipment.
Software product lines are made up of a family of applications, usually owned by the same organization.
Product Line Specialisation
Platform specialisation is a different version of the application are developed for different platforms.
Environment specialisation is a different version of the application are created to handle different operating environments. Example given, different types of communication equipments.
Functional specialisations is a different version of application created for the customer with different requirements.
Process specialisations is a different version of the application are created to support different business process.
Product Line Architecture
It must be structured in such a way to separate different sub-systems and to allow them to be modified. The architecture should also separate entities and their descriptions and the higher levels in the system access entities through descriptions rather than directly.