Software reuse has been a goal of the software community since the early days of software engineering. Various technologies have been proposed to solve the software reuse problem, including subroutines, object-oriented software development, software design patterns and component-oriented software development. Unfortunately, software reuse has been applied in an opportunistic, ad hoc manner, and as such did not scale up for large-scale software development.
Systematic software reuse is a promising approach to reduce cost and development cycle time, improve software quality and productivity. In this context the notion of software product line has gained importance for large-scale systematic software reuse. Software product line is a set of software-intensive systems sharing a common, managed set of features that specify the specific needs of a market segment and that are developed from a common set of core assets. Software product line engineering is a paradigm to develop software product lines and as such supports reuse, productivity and quality of the systems. Unlike conventional software development paradigms that aim to develop single systems, SPLE considers the development of a family of software systems. As such SPLE adopts a fundamentally different software life cycle approach than single system development.
- Motivation for software reuse
- Software reuse levels
- Software Product Lines
- Software Product Line Engineering Methods
- Software Product Line Engineering Tools
- Domain Engineering
- Application Engineering
- Variability Management
- Variation Analysis
- Feature Modeling
- Reference Architecture vs. Application Architecture
- Portfolio Management
- Software Product Line Scoping
- Product Definition Approaches
Experience with Object-Oriented Design or completion of SWD200 Object-Oriented Design and Analysis (OOAD and Design Pattern)
Duration3 Days | 6 Nights
Applies Towards the Following Certificates
- Software Engineering and Architecture Certificate : 72 Hour Certificate
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.