260 likes | 1.89k Views
Software Product Lines. Kadir Kuz. Topics . What is a Software Product Line? SPL vs Traditional Software Reuse Basic SPL Concepts Production SPL Process and Organization SPL Component Development and System Integration Benefits Costs and Potential Risks.
E N D
Software Product Lines Kadir Kuz
Topics • What is a Software Product Line? • SPL vs Traditional Software Reuse • Basic SPL Concepts • Production • SPL Process and Organization • SPL Component Development and System Integration • Benefits • Costs and Potential Risks
What is a Software Product Line? A software product line is a set of software-intensive systems sharing a common, managed set of futures 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.
Domain Architecture Components The product line is a product suite sharing a common, managed set of features that satisfy specific needs of a selected domain. pertain to is satisfied by share an Products guides development of are built from
Traditional Software Reuse • reuse library with components, modules and algorihtms • takes longer to find the desired functionality • SPL • reuse is planned, enabled and enforced
The Key Concepts • Sotware asset inputs • Decision Model and product decisions • Production mechanism and process • Software product outputs
Automation Periodicity Roles assetsdecisionsproducts Production
Organizational Benefits • Improved Poductivity (up to 10x) • Decreased time to market (up to 10x) • Decreased cost (up to %60) • Decreased labor needs(up to 10x fewer software developers) • Increased quality (up to 10x fewer defects)
Benefits of Software Product Lines • Individuals Who Benefit -CEO -COO -Architect -Core Asset Developer -Technical Manager -Marketer -Customer -End User
Technical Manager • increased predictability • well-established roles and responsibilities • efficient production
Software Product Developer • higher morale • greater job satisfaction • Can focus on truly unique aspects of products • Easier software Integration • Fewer schedule delays • Has time to learn new technology • is a part of a team, building products with an established quality record and reputation
FAQ • What is the difference between a domain and product line? • Is not the product line practice just another name for component based development/domain engineering?
Thanks for your listening, Any Questions?