SlideShare a Scribd company logo
Introduction to
Software Product Lines (SPL)
Software Product Line (SPL)
▪ 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.
Evolution of Software Development
Subroutines
Modules
Objects
Components
Product Lines
70s
80s
90s
Late 90s
2000
Overview of SPL
Develop core
product
Develop product 2
Develop product 3
CORE
1-Spl
2-Spl
3-Spl
In the product line manager’s view, it should go like this:
Commonality
Variability
5
June 25, 2008
Software Product Line Engineering
Software product lines refers to engineering techniques for creating a portfolio of similar
software systems from a shared set of software assets
§ A product line represents a family of manufactured products
§ A product line architecture explicitly captures the commonality and variability of a
product line components and their compositions
Software Product Line Engineering makes it possible to
- create software for different products
- use variability to customize the software to each different product
▪ Software is becoming complex
▪ Reuse is becoming an imperative
▪ Mass customization – producing goods and services to meet
individual customer's needs – should be done with near mass
production efficiency
Product Lines - Motivation
Handcrafted for individual customers
Production Line – Mass Production
Mass Customization: large-scale
production tailored to
individual customers’ needs
Product Lines - Motivation
▪ Any organisation that develops software creates multiple software
applications that have some characteristics in common.
▪ Whatever the commonalities are
amongst the software applications,
it is important that these commonalities be
managed properly so that the organization
can realize the highest economy of scale.
Google Communication
Solutions
GMail
Hangouts
Text
Communication
Document
Share
Attachments
Undo Send
...
Passive Communication
Video Message
Team Chats
Active Communication
Product Lines – Goals and Characteristics
▪ The three main goals of a software product line are to reduce cost, improve delivery time,
and improve quality.
▪ A software product line is a "family of products designed to take advantage of their
common aspects and predicted variabilities“
▪ The software product line practice was designed to manage software products, and their
commonalities were designed to maximize the benefits to the organization.
SPL
Reduced
Cost
Improved
Delivery Time
Improved
Product Quality
Reusability Customisation
June 25, 2008
Product Line Engineering Framework
Domain Engineering:
Define and realize the commonality
and variability. The goal is to
establish a reusable platform
Application Engineering:
Reuse domain artifacts,
exploiting variability to build a
product. The goal is to derive a
product from the platform
established in the Domain
Engineering phase
Based on the “Software Product Line Engineering” book by Klaus Pohl,Günter Böckle and Frank J. van der Linden
Product
Management
Application
Requirements
Engineering
Application
Design
Application
Realisation
Application
Testing
Domain Artefacts incl. Variability Model
Requirements Architecture Components Tests
Application N – Artefacts incl. Variability Model
Requirements Architecture Components Tests
Application 1 – Artefacts incl. Variability Model
Application
Engineering
Domain
Engineering
Domain
Requirements
Engineering
Domain
Design
Domain
Realisation
Domain
Testing
Product
Management
Managing Product Line Systems
▪ A product line is a decomposition of the entire application
portfolio of an organization according to these common
characteristics.
Figure 4-1. Product line development.
Core Asset Development
▪ Core asset development is the creation and maintenance of the artifacts or core
assets in the product line.
▪ These core assets are used to create systems that match the quality criteria of
the product line. For example, if the types of products that are developed in the
product line have a high maintainability requirement, then the core assets
should reflect this requirement and account for the need for good
maintainability.
▪ The goal of the core asset development activity is to create a capability within
the organization to produce a particular type of application and will thus yield
the same or similar software architecture.
Product Development
▪ The second constituency is product development.
▪ Product development involves the creation of products or systems from the
core assets of the product line.
▪ If a system requires an asset that is not included in the core assets, the core
asset must be created if the asset can be shared across multiple products in
the product line. It is a strategic decision whether or not to build a new core
asset or to create a product-specific feature to the project under development.
▪ If the core asset that exists in the product line does not match the quality
requirements of the product under development, the core asset may be
enhanced or modified.
Management
▪ Management must be involved to ensure that the two constituencies are
interacting correctly.
▪ Instituting a product line practice at an organization requires a strong
commitment from management. It is also important to identify which assets are
part of the product line and which ones are part of the development of the
individual products of the system.
▪ Management consists of the management of individual projects within the
product line, as well as overall product line managers. The role of product line
manager is one of a product line champion.
▪ The champion is a strong, visionary leader who can keep the organization working
toward the creation of core assets while limiting any negative impact on project
development.
Software
Product Line
Development
Organization
SPL Production
Product 2
Product 3
Product 1
The focus of our work is on product production as a system that is engineered to
have specified production qualities and predictable outputs.
The goal is to reduce the risk to product line organizations by providing explicit
techniques for strategizing and planning for product production.
How can product development satisfy the organization’s goals for the
software product line?
Production
Strategy
What processes, models, and technologies can be used to ensure
consistency across the core assets?
Production
Method
Production
Plan
What does the product developer need to know to effectively utilize
the core assets to develop products?
Core Assets
The core assets and product production system must be jointly engineered to
achieve the organization’s goals for the software product line.
Product Line Benefits
▪ From the SEI:
Benefits
▪ Product lines can help organizations overcome the problems caused by resource shortages.
Organizations of all types and sizes have discovered that a product line strategy, when skillfully
implemented, can produce many benefits—and ultimately give the organizations a competitive edge.
• Improved productivity by as much as 10x
• Increased quality by as much as 10x
• Decreased cost by as much as 60%
• Decreased labor needs by as much as 87%
• Decreased time to market (to field, to launch) by as much as 98%
• Ability to move into new markets in months, not years
Introduction to Model-driven Product Line Engineering
(PLE)
 Obstacles
 Larges upfront
investment
 Poor connection with
regular “single-
system” technology
 Vision
 Capture core software assets as
platform-independent models (PIMs)
 Automatically map PIMS to PSMs to code
through model transformation
Model-Driven Engineering (MDE)
Vision
 Development activities oriented
around product families
 Manage commonalities and
variabilities
1
2
3
Product-Line Engineering (PLE)

More Related Content

PDF
Software Product Lines
PPTX
Software product line
PDF
PLA and the SC 2002-04-15
PDF
Minicourse - RiPLE : The RiSE Process for Product Line Engineering
PDF
Modern development paradigms
PPTX
Software Product Lines by Dr. Indika Kumara
PDF
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
PDF
[2016/2017] Modern development paradigms
Software Product Lines
Software product line
PLA and the SC 2002-04-15
Minicourse - RiPLE : The RiSE Process for Product Line Engineering
Modern development paradigms
Software Product Lines by Dr. Indika Kumara
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
[2016/2017] Modern development paradigms

Similar to 7 SPL.pptx spl ppt in software engineering (20)

PPTX
Software Product Line
PPT
Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara
PDF
[2015/2016] Modern development paradigms
PPTX
SW Product Line Engineering
PDF
EvolutioninSPL_PanthShah
PDF
7 - Architetture Software - Software product line
PPTX
Unit2 2
PDF
Software Product Lines Going Beyond 14th International Conference Splc 2010 J...
PPTX
PLE-Business-Overview-Schmid
PDF
Engineering Software Products: 1. software products
PDF
1. Software Products.pdf from Ian Sommerville,
PDF
Setting in place a product development strategy
PPTX
Supporting Architectural Variabiality in Software Product Lines
PPTX
Software Development Life Cycle
PPT
24 dssa and_product_lines
PPTX
Requirements engineering for product lines
PPTX
Software Reuse.pptx
PPT
Introduction,Software Process Models, Project Management
PPTX
Software Development Life Cycle (SDLC )
Software Product Line
Kunskapsbaren 2011 Linköping - Att produktifiera mjukvara
[2015/2016] Modern development paradigms
SW Product Line Engineering
EvolutioninSPL_PanthShah
7 - Architetture Software - Software product line
Unit2 2
Software Product Lines Going Beyond 14th International Conference Splc 2010 J...
PLE-Business-Overview-Schmid
Engineering Software Products: 1. software products
1. Software Products.pdf from Ian Sommerville,
Setting in place a product development strategy
Supporting Architectural Variabiality in Software Product Lines
Software Development Life Cycle
24 dssa and_product_lines
Requirements engineering for product lines
Software Reuse.pptx
Introduction,Software Process Models, Project Management
Software Development Life Cycle (SDLC )
Ad

More from MuhammadAbubakar114879 (20)

PPT
Lecture 11.pptHuman Computer Interaction
PPT
3 only package diagram till slide no. 13.ppt
PPT
4 Activity & Statechart diagram.ppt4 Activity & Statechart diagram.ppt4 Activ...
PPT
6 Design Pattern.ppt design pattern in softeare engineering
PPTX
9 Component Based SE.pptx9 Component Based SE.pptx9 Component Based SE.pptx
PPTX
8 SOA.pptx soa ppt in software engineering
PPT
Lect_07_Use Case Diagram.ppt use case diagram
PPTX
Lab4-Software-Construction-BSSE5.pptx ppt
PPTX
Lecture3 - Methodologies - Software-Construction-BSSE5 (1).pptx
PPTX
Lecture-7.pptx software design and Arthitechure
PPTX
design_pattern.pptx design_pattern design_pattern
PPTX
10- Architectureign Design_designnn.pptx
PPTX
13- Architecture Evaluations_design.pptx
PPTX
5-Oject Design & Mapping on Code__ .pptx
PPTX
6-User Interface Design_6-User Interface Design.pptx
PPTX
3-System Design_software_design_algo .pptx
PPTX
Sequence_Diagram_software_Design_algo.pptx
PPTX
lec 14-15 Jquery_All About J-query_.pptx
PPTX
Natural_language_processingusing python.pptx
PPTX
SPM presentation extra material-Lect 9and 10.pptx
Lecture 11.pptHuman Computer Interaction
3 only package diagram till slide no. 13.ppt
4 Activity & Statechart diagram.ppt4 Activity & Statechart diagram.ppt4 Activ...
6 Design Pattern.ppt design pattern in softeare engineering
9 Component Based SE.pptx9 Component Based SE.pptx9 Component Based SE.pptx
8 SOA.pptx soa ppt in software engineering
Lect_07_Use Case Diagram.ppt use case diagram
Lab4-Software-Construction-BSSE5.pptx ppt
Lecture3 - Methodologies - Software-Construction-BSSE5 (1).pptx
Lecture-7.pptx software design and Arthitechure
design_pattern.pptx design_pattern design_pattern
10- Architectureign Design_designnn.pptx
13- Architecture Evaluations_design.pptx
5-Oject Design & Mapping on Code__ .pptx
6-User Interface Design_6-User Interface Design.pptx
3-System Design_software_design_algo .pptx
Sequence_Diagram_software_Design_algo.pptx
lec 14-15 Jquery_All About J-query_.pptx
Natural_language_processingusing python.pptx
SPM presentation extra material-Lect 9and 10.pptx
Ad

Recently uploaded (20)

PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Pre independence Education in Inndia.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Classroom Observation Tools for Teachers
PDF
01-Introduction-to-Information-Management.pdf
PPTX
master seminar digital applications in india
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Computing-Curriculum for Schools in Ghana
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Lesson notes of climatology university.
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
Microbial diseases, their pathogenesis and prophylaxis
Abdominal Access Techniques with Prof. Dr. R K Mishra
Pre independence Education in Inndia.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
GDM (1) (1).pptx small presentation for students
O5-L3 Freight Transport Ops (International) V1.pdf
Classroom Observation Tools for Teachers
01-Introduction-to-Information-Management.pdf
master seminar digital applications in india
TR - Agricultural Crops Production NC III.pdf
Anesthesia in Laparoscopic Surgery in India
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
human mycosis Human fungal infections are called human mycosis..pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Computing-Curriculum for Schools in Ghana
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Basic Mud Logging Guide for educational purpose
Lesson notes of climatology university.
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Microbial diseases, their pathogenesis and prophylaxis

7 SPL.pptx spl ppt in software engineering

  • 2. Software Product Line (SPL) ▪ 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.
  • 3. Evolution of Software Development Subroutines Modules Objects Components Product Lines 70s 80s 90s Late 90s 2000
  • 4. Overview of SPL Develop core product Develop product 2 Develop product 3 CORE 1-Spl 2-Spl 3-Spl In the product line manager’s view, it should go like this: Commonality Variability
  • 5. 5 June 25, 2008 Software Product Line Engineering Software product lines refers to engineering techniques for creating a portfolio of similar software systems from a shared set of software assets § A product line represents a family of manufactured products § A product line architecture explicitly captures the commonality and variability of a product line components and their compositions Software Product Line Engineering makes it possible to - create software for different products - use variability to customize the software to each different product
  • 6. ▪ Software is becoming complex ▪ Reuse is becoming an imperative ▪ Mass customization – producing goods and services to meet individual customer's needs – should be done with near mass production efficiency Product Lines - Motivation Handcrafted for individual customers Production Line – Mass Production Mass Customization: large-scale production tailored to individual customers’ needs
  • 7. Product Lines - Motivation ▪ Any organisation that develops software creates multiple software applications that have some characteristics in common. ▪ Whatever the commonalities are amongst the software applications, it is important that these commonalities be managed properly so that the organization can realize the highest economy of scale. Google Communication Solutions GMail Hangouts Text Communication Document Share Attachments Undo Send ... Passive Communication Video Message Team Chats Active Communication
  • 8. Product Lines – Goals and Characteristics ▪ The three main goals of a software product line are to reduce cost, improve delivery time, and improve quality. ▪ A software product line is a "family of products designed to take advantage of their common aspects and predicted variabilities“ ▪ The software product line practice was designed to manage software products, and their commonalities were designed to maximize the benefits to the organization. SPL Reduced Cost Improved Delivery Time Improved Product Quality Reusability Customisation
  • 9. June 25, 2008 Product Line Engineering Framework Domain Engineering: Define and realize the commonality and variability. The goal is to establish a reusable platform Application Engineering: Reuse domain artifacts, exploiting variability to build a product. The goal is to derive a product from the platform established in the Domain Engineering phase Based on the “Software Product Line Engineering” book by Klaus Pohl,Günter Böckle and Frank J. van der Linden Product Management Application Requirements Engineering Application Design Application Realisation Application Testing Domain Artefacts incl. Variability Model Requirements Architecture Components Tests Application N – Artefacts incl. Variability Model Requirements Architecture Components Tests Application 1 – Artefacts incl. Variability Model Application Engineering Domain Engineering Domain Requirements Engineering Domain Design Domain Realisation Domain Testing Product Management
  • 10. Managing Product Line Systems ▪ A product line is a decomposition of the entire application portfolio of an organization according to these common characteristics. Figure 4-1. Product line development.
  • 11. Core Asset Development ▪ Core asset development is the creation and maintenance of the artifacts or core assets in the product line. ▪ These core assets are used to create systems that match the quality criteria of the product line. For example, if the types of products that are developed in the product line have a high maintainability requirement, then the core assets should reflect this requirement and account for the need for good maintainability. ▪ The goal of the core asset development activity is to create a capability within the organization to produce a particular type of application and will thus yield the same or similar software architecture.
  • 12. Product Development ▪ The second constituency is product development. ▪ Product development involves the creation of products or systems from the core assets of the product line. ▪ If a system requires an asset that is not included in the core assets, the core asset must be created if the asset can be shared across multiple products in the product line. It is a strategic decision whether or not to build a new core asset or to create a product-specific feature to the project under development. ▪ If the core asset that exists in the product line does not match the quality requirements of the product under development, the core asset may be enhanced or modified.
  • 13. Management ▪ Management must be involved to ensure that the two constituencies are interacting correctly. ▪ Instituting a product line practice at an organization requires a strong commitment from management. It is also important to identify which assets are part of the product line and which ones are part of the development of the individual products of the system. ▪ Management consists of the management of individual projects within the product line, as well as overall product line managers. The role of product line manager is one of a product line champion. ▪ The champion is a strong, visionary leader who can keep the organization working toward the creation of core assets while limiting any negative impact on project development.
  • 14. Software Product Line Development Organization SPL Production Product 2 Product 3 Product 1 The focus of our work is on product production as a system that is engineered to have specified production qualities and predictable outputs. The goal is to reduce the risk to product line organizations by providing explicit techniques for strategizing and planning for product production. How can product development satisfy the organization’s goals for the software product line? Production Strategy What processes, models, and technologies can be used to ensure consistency across the core assets? Production Method Production Plan What does the product developer need to know to effectively utilize the core assets to develop products? Core Assets The core assets and product production system must be jointly engineered to achieve the organization’s goals for the software product line.
  • 15. Product Line Benefits ▪ From the SEI: Benefits ▪ Product lines can help organizations overcome the problems caused by resource shortages. Organizations of all types and sizes have discovered that a product line strategy, when skillfully implemented, can produce many benefits—and ultimately give the organizations a competitive edge. • Improved productivity by as much as 10x • Increased quality by as much as 10x • Decreased cost by as much as 60% • Decreased labor needs by as much as 87% • Decreased time to market (to field, to launch) by as much as 98% • Ability to move into new markets in months, not years
  • 16. Introduction to Model-driven Product Line Engineering (PLE)  Obstacles  Larges upfront investment  Poor connection with regular “single- system” technology  Vision  Capture core software assets as platform-independent models (PIMs)  Automatically map PIMS to PSMs to code through model transformation Model-Driven Engineering (MDE) Vision  Development activities oriented around product families  Manage commonalities and variabilities 1 2 3 Product-Line Engineering (PLE)

Editor's Notes

  • #14: The SEI identified the importance of a product production focus early, for example, in the Software Product Lines book.