Software product line a software product line spl is a set of software intensive systems that share a common, managed set of features satisfying the speci. Software product lines represent perhaps the most exciting paradigm shift in software development since the advent of highlevel programming languages. However, its comprehensive nature also means that the effort to. Product line engineering ple for systems and software is a way to engineer a portfolio of related products in an efficient manner, taking full advantage of the products similarities while respecting and managing their differences. Software product line engineering and variability management. Software product line engineering sple uzh department of. He is the author of five books and more than three dozen papers on these and other topics. A software product linespl 1 aims to create the infrastructure for the rapid production of softwaresystems for a speci. This estimate is based upon 2 line software engineer salary reports provided by employees or estimated based upon statistical methods. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. In software product line engineering, product management activities, in particular, product definition and certain aspects of portfolio management, are subsumed under the term product line scoping. See all software engineer salaries to learn how this stacks up in the market.
By engineer, we mean all of the activities involved in planning, producing, delivering, deploying. Linda northrop is director of the product line systems program at the sei and chaired the first annual international conference on software product lines. Software and systems product line sspl engineering and management creates, exploits, and manages a common platform to develop a family of products e. Product engineering companies need to reduce time to market, improve scalability while remaining cost effective. Software product line engineering proceedings of the 23rd. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. Software product engineering ubnsoft believes in developing of amazing products for clients, or dont develop it at all. In some cases, the architecture of the product line is used by all products without being adapted, whereas in. Productfamily engineering pfe, also known as productline engineering, is a synonym for domain engineering created by the software engineering institute, a term coined by james neighbors in his 1980 dissertation at university of california, irvine.
Ple aims at the development of a set of reusable assets and the derivation of particular products as instances of the variants represented in the product line model. The software product line strategy defines specific tasks for the organizational management, technical management, and software engineering aspects of product production. Software engineering at oxford software product lines. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production the carnegie mellon software engineering institute defines a software product line as a set of softwareintensive systems that share a. By considering a product line portfolio as a single entity to. Software product line engineering sple provides methods to promote systematic software reuse for developing a family of software products, rather than individual ones.
A study guide for the certified professional for requirements engineering exam foundation level ireb. The software product line engineering paradigm separates two processes see. Foundations, principles, and techniques, berlin, heidelberg, new york. Software product lines a software product line is a set of softwareintensive systems that share a common, managed set of features satisfying 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. In this article we tackle this problem by describing the design and automated derivation of the product variants of a software product line using an easy to. Product line engineering for systems and software is a way to engineer a portfolio of related products in an efficient manner, taking full advantage of the products similarities while respecting and. Inthis article we tackle this problem by describing the design and automatedderivation of the product variants of a software product line using an easy to.
Our key offerings include product and platform development services, product portfolio management, and innovation support for nextgeneration product engineering. The strategy encompasses organizational management, technical management, and software engineering aspects of product production. Software product line engineering has proven to be the paradigm for developing a diversity of software products and software intensive systems in shorter time, at lower cost, and with higher quality. The lack of mature tool support is one of the main reasons that make the industry to be reluctant to adopt software product line spl. Principal software engineering manager at microsoft. Team awarded halmas 2015 innovation award for whisper product line. Productlineapproach a system of software production that uses reusable softwarerelated assets to modify, assemble, instantiate, or generate a line of software or softwareintensive products. Software product engineering services puresoftware. Puresoftware is a software product and services company that focuses on driving differentiated customer experience, accelerating cycle time and improving business outcomes through the integration of disruptive technologies like robotic process automation, internet of things, data analytics, artificial intelligence, cloud, mobility and nonlinear commercial models. Paul clements is a senior member of the technical staff at the sei, where he works on software architecture and product line engineering.
Product family engineering pfe, also known as product line engineering, is a synonym for domain engineering created by the software engineering institute, a term coined by james neighbors in his 1980 dissertation at university of california, irvine. In the early stages of a software productline lifecycle, software assets contain variation points that representunbound options about how the software will behave. We make sure to invest class leadingedge technology skills, a shared responsibility mindset, and disciplined execution process. Featureoriented modeldriven software product lines. Pdf a framework for software product line engineering. Most of these practice areas are applied during singlesystem development as well, but take on a new dimension in a product line context. The primary distinction between software product line engineering and conventional software engineering is the presence of variationin some or all of the software assets. Featureauswahl featuremodell wiederverwendbare implementierungs artefakte generator fertiges program. Software product lines software product line engineering and. Aug 03, 2005 software product line engineering has proven to be the methodology for developing a diversity of software products and software intensive systems at lower costs, in shorter time, and with higher quality. Tcs software product engineering services address the entire spectrum of product engineering, covering development, testing and assurance, and maintenance and endoflife support. May 30, 2008 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 4. Colin roberts owner and ceo pohle nv center inc linkedin.
Software engineering at oxford software product lines spl. Software product line a software product line spl is a set of softwareintensive systems that share a common, managed set of features satisfying the speci. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production the carnegie mellon software engineering institute defines a software product line as a set of software intensive systems that share a. Requiline a requirements engineering tool for software product lines. Software product line engineering has proven to be the methodology for higher quality, lower developing a diversity of software products and software intensive systems cost, and shorter at lower costs, in shorter time, and with higher quality. Philip cottrell, youssef cassis with monika pohle fraser, iain l. Software product line engineering and architectures. A framework for software product line practice version 4. A software product line is a portfolio of similar software based systems and products produced from a shared set of software assets using a common means of production. Software product line spl engineering refers to the engineering and management techniques to create, evolve, and sustain a software product line. Software product lines is the culmination of an intensive investigation, undertaken by the software engineering institute sei at carnegie mellon, into how leadingedge software development organizations have retooled for product lines. Requirements engineering is at the core of software product line engineering.
In proceedings of the fifth international workshop on product family engineering pfe5 siena, italy, november 46, 2003. Software engineering gmbh delivering soughtafter software solutions developed and tested on ibm certified preowned servers. Systems and software product line engineering, abbreviated as product line engineering or ple for short, is defined as the engineering of a portfolio of related products using a shared set of engineering assets and an efficient means of production. For software engineers, that means coming up with a software solution and being able to code it up properly. Software product lines are quite common in our daily lives, but before a product family can be successfully established, an extensive process. Software product lines course the software product line spl approach to software development promises significant improvements in time to market, cost, and reliability, through the system identification and exploitation of commonalities and variations in software systems the approach promotes asset re use throughout the software life cycle, and facilitates product customisation spl has been. The success of the software product line strategy is due, at least partially, to its comprehensive nature. The software product line approach is a strategy for producing softwareintensive products. Matt pohle principal software engineering manager at microsoft greater seattle area 252 connections. The principal goal of modelling variability techniques is to configure a. Requirements engineering in feature oriented software. Software product line engineering involves two new issues as compared to engineering.
Software product lines coordinated development of a family of software systems sharing code, reusealbe parts instead of developing from scratch tailoring to specific needs. Since our work is still workinprogress, this is not meant to be a comprehensive list. Oct 01, 2012 software area editor david weiss discusses the benefits of using software product line engineering to produce software families. Ample 14, goaldriven product line engineering 16, and aournbased software product line 20 were selected based on the knowledge of authors on existing approaches on software product line requirements engineering. Product engineering is the process of innovating, designing, developing, testing and deploying a software product. With explanations of fundamental concepts further illuminated by realworld experience, this book spells.
The software engineering institute has identified twentynine issues or practice areas that affect an organizations success in fielding a software product line. In this module we apply a productline approach to automatically generate. Software product line engineering is a paradigm to develop software product lines and as such supports reuse, productivity and quality of the systems. Similar to requirements engineering for a single system 6 7 the success of a software product line highly depends on the correct understanding of the context in which the software product line will be. Product line engineering for systems and software is a way to engineer a portfolio of related products in an efficient manner, taking full advantage of the products similarities while respecting and managing their differences. A software product line is a portfolio of similar softwarebased systems and products produced from a shared set of software assets using a common means of production.
It allows companies to produce a set of related products at lower costs, in a shorter time and with higher quality. Software product line engineering with feature models. Boeing builds one, and so do ford, dell, and even mcdonalds. Although the term software product line engineering is becoming more widely known, there is still uncertaintyamong developers about how it would apply in their own development context. Productlinearchitecture description of the structural properties for building a group of related systems i. Introduction to the emerging practice of software product. Software product line engineering ple is the discipline of creating and managing software product lines. Product lines are, of course, nothing new in manufacturing. Product line engineering for automation software systems. These softwaresystems share a subset of common features, but variations are also present. A product consists of a product architecture, derived from the product line architecture, a set of selected and configured product line components and product specific code. Software product line conference splc 2004 boston, ma, usa, august 30 september 2, 2004.
A software product line is a set of softwareintensive 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 4. Software product lines come in many different forms. Nowhere else in software engineering have we seen such breathtaking improvements in cost, quality, time to market, and developer productivity, often registering in the orderofmagnitude range. Software area editor david weiss discusses the benefits of using software product line engineering to produce software families. Productlineapproach a system of software production that uses reusable software related assets to modify, assemble, instantiate, or generate a line of software or software intensive products. A strategic partner who understands software product engineering with a proven track record can transform your development lifecycle and help you be more competitive. Unlike conventional software development paradigms that aim to develop single systems, sple considers the development of a family of software systems. Software product line engineering klaus pohl springer. Half of engineering is making sure youre building the right product and have the ability to actually build it. Software product line engineering has proven to be the methodology for higher quality, lower developing a diversity of software products and softwareintensive systems cost, and shorter at lower costs, in shorter time, and with higher quality. This book provides a framework of specific practices, with detailed case studies, to guide the implementation of product lines in your organization. The software product line spl is an emerging methodology for developing software products. Requirements engineering in feature oriented software product. Although the term software product line engineering is becoming more widely known, there is still uncertainty among developers about how it would apply in their own development context.
618 122 1659 87 1049 803 1077 1545 999 308 1013 1020 921 1102 229 187 569 1046 305 1660 281 639 896 81 540 785 717 1420 1257 266 321 993 1051 1299 33 1150 902 1484 578 1168