Software product line variability model traceability link reference architecture product line engineering. Product line software engineering plse is an emerging software engineering paradigm, which guides organizations toward the development of products from core assets rather than the development of products one by one from scratch. International software product line conference 2012. Software product line engineering are you interested in producing software products or softwareintensive systems at lower costs, in shorter time, and with higher quality.
A classification and survey of analysis strategies for. Software product line engineering may 11, 2008 edition. Software product lines enable a family of products to. Software reuse and product line engineering springerlink. Aurum, what is important when deciding to include a software requirement in a project or a release. The success of product line engineering techniques in the last 15 years has popularized the use of software variability as a key modeling approach for describing the commonality and variability of systems at all stages of the software lifecycle. The software product line spl is an emerging methodology for developing software products. Yo can find similar concepts in linux packages managers and other dependencies mechanisms. Which is the best tool for software product line and how i. Software product line engineering is a paradigm to develop software product lines and as such supports reuse, productivity and quality of the systems. 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. Concepts and guidelines of feature modeling for product. 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. Journal of software engineering research and development.
Applying featurebased systems and software product line engineering in unclassified and classified environments. 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. Software product line spl engineering refers to the engineering and management techniques to create, evolve, and sustain a software product line. A familybased software development process, authordavid m. Foundations, principles and techniques by pohl, klaus abebooks. 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. Concepts and implementation feature and decision modeling. The principal goal of modelling variability techniques is to configure a. Software product line engineering with feature models. The goal of software product line engineering is the largescale strategic reuse of.
Software product lines represent perhaps the most exciting paradigm shift in software development since the advent of highlevel programming languages. 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. Megascale product line engineering at general motors. By considering a product line portfolio as a single entity to.
One orthogonal an uml class variability model diagram a state machine etc. 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. Unlike conventional software development paradigms that aim to develop single systems, sple considers the development of a family of software systems. 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. 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. In this paper, we present a military maintenance product line that employs such strategy. Software product line engineering ple is the discipline of creating and managing software product lines. From 1 january 2019, journal of software engineering research and development will be published by the brazilian computer society.
Requirements engineering for software product lines. Software product line testing communications of the acm. Softwareproductline engineering has gained considerable momentum in recent years, both in industry and in academia. Citeseerx software product line engineering for long. The prime project focuses on the development of the orthogonal variability modelling approach see pohl et al. A key idea in systematic software reuse is the domain.
Organized as an introduction followed by several selfcontained chapters, the book is perfect for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of largescale realtime embedded systems, as well as for advanced undergraduate or graduate courses in software engineering, computer. Software product line engineering has proven to be the methodology for. The solution we propose is to adopt software productline engineering sple techniques for use in single, critical systems with requirements. Citeseerx document details isaac councill, lee giles, pradeep teregowda. The design and operation of longlived, sustainable systems lss are hampered by limited support for change over time and limited preservation of system knowledge. A software product line is a family of software products that share a. 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.
The projects originated from the need of the industry to improve software engineering performance by organizing product development in product lines. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. Product line engineering for automation software systems. Software product line engineering are you interested in producing software products or softwareintensive systems at lower costs, in shorter time, and with. 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.
Variability management in software product line engineering. 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. In order to develop highly reusable core assets, plse must have the ability to. In software product line engineering, variation management is multidimensional. 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. A productline architecture for web servicebased visual composition of web applications marcel karam, sergiu dascalu, haidar safa, rami santina, zeina koteich pages 855867.
We can use aspectoriented software development to decompose software product lines based on features that can ease configuration management. Software product line practice is one such approach, one that. Adopting a software product line engineering approach in. Systematic configuration management is important for successful software product lines. Klaus pohl born 1960 as klaus mussgnug in karlsruhe is a german computer scientist and professor for software systems engineering at the university of duisburgessen, mainly known for his work in requirements engineering and software product line engineering. Systematic software reuse is one of the most effective software engineering approaches for obtaining benefits related to productivity, quality, and cost reduction. Adopting a software product line engineering approach in industrial development contexts. Requirements engineering in software product line engineering requirements engineering in software product line engineering insfran, emilio. Software product lines are quite common in our daily lives, but before a product family can be successfully established, an extensive process. The consistent documentation and management of product line variability is still a challenge in software product line engineering.
In this chapter, we describe the key differences between software product line engineering and the development of single software systems. A framework for software product line engineering springerlink. Domain engineering, also called product line engineering, is the entire process of reusing domain knowledge in the production of new software systems. Realtime software design for embedded systems by hassan. Software product lines in action the best industrial. Software product lines research issues in engineering. Software product line engineering sple has proven to be the approach for developing a diversity of similar software products. In conventional software engineering, variation management deals with software variation over time and is commonly known as configuration management. The best industrial practice in product line engineering. Software and systems product line sspl engineering and management creates, exploits and manages a common platform to develop a family of products e. If so, you are holding the right book in your hands.
1514 456 458 831 653 595 249 1443 66 1175 132 298 299 1204 1588 1527 290 1220 370 1358 893 1153 1088 855 680 506 536 1605 675 785 50 1480 1345 432 1113 1390 130 1248 1253 754 1437 1358 557 1150 1198 1179 1249 1229 944 797