1 / 30

Introducing Software Product Lines (SPL)

Introducing Software Product Lines (SPL). Silvio Romero de Lemos Meira Eduardo Santana de Almeida silvio@cesar.org.br esa2@cin.ufpe.br. Recent area. 2002. Evolution. 1960 subroutines. 1970 modules. 1980 objects. 1990 components. 2000 SPL. Previous Classes. Overview

reamerc
Download Presentation

Introducing Software Product Lines (SPL)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducing Software Product Lines (SPL) Silvio Romero de Lemos Meira Eduardo Santana de Almeida silvio@cesar.org.br esa2@cin.ufpe.br

  2. Recent area 2002

  3. Evolution 1960 subroutines 1970 modules 1980 objects 1990 components 2000 SPL

  4. Previous Classes Overview Concepts Steps Product Lines Overview Origins Concepts Elements Component-Based Development Overview Steps Scoping Elements Domain Engineering Overview Success and Failure Factors Myths Inibitors Software Reuse

  5. Software Product Line “A software product line is 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. Paul Clements and Linda Northrop, 2002

  6. Essential Factors • Investment • Planning • Direction • Business Strategy Management

  7. Is Product Lines a new approach? • Small-Grained Reuse • Single-System Development with Reuse • Component-Based Development • Reconfigurable Architecture • Release and versions of Single Products

  8. Small-Grained Reuse • Reuse of pieces of code • Algorithms, modules, objects, components • Company Libraries • Poor documentation • Ineficient search mechanisms • Opportunistic reuse • Software Product Line • Reuse is planned, comprehensive, and enabled • Asset base • Requirements, domain models, architecture, test cases.....

  9. Single-System Development with Reuse • Software Product Line • Assets designed for reuse • Product line is treated as a whole

  10. Just Component-Based Development • Products in product lines are composed of components, however: • Product-Line Architecture • Production Plan • Technical and Organizational Management

  11. Others • Reconfigurable Architecture • Variability Points • Release and versions of Single Products • Previous versions

  12. Organizational Benefits • To achieve large-scale productivity gains • To improve time-to-market • To maintain market presence • To improve product quality • To increase customer satisfaction • To achieve reuse goals • To enable mass customization

  13. Product Line asset repository Benefits • Requirements • Architecture • Components • Modeling and Analysis • Testing • Planning

  14. Essential Activities Core Asset Development Product Development Management Domain Engineering Application Engineering

  15. Core Asset Development Core Asset Development Management

  16. Product Line Scope • Product Line scope is a description of the products, that will constitute the product line or that the product line is capable of including • Fundamental activity {Scoping} • Commonality and Variability • Iterative process

  17. Core assets • Core assets are the basis for production of products in the product line • Core assets • Architecture {scope, styles, patterns, and frameworks} • Components • Test plans, Test cases • Documentation • Domain models • Requirements • Commercial off-the-shelf (COTS) components

  18. Production Plan • A production plan describes how the products are produced from the core assets {reuser’s guide} • A Set of attached process {with the glue} • Production Plan describes: • Tools • Metrics, Metric Plan

  19. Product Development Product Development Management

  20. Management • Critical role in the successful fielding of a product line • Technical • Core asset development • Product development • Organizational • Training • Funding • Risks

  21. SPL Cultural Costs DE Rules CBD

  22. Questions ?

  23. References • [Clements, 2002] P. Clements., L. Northrop., Software Product Lines: Practices and Patterns, Addison-Wesley, 2002. • [SEI, 2000] L. Northrop.,SEI’s Software Product Line Tenets, IEEE Software, July/August, Vol. 19, No 04, 2002.

  24. Software Reuse Environment: Discussion

More Related