The architecture of an spl is to describe both shared components of products family and individual character istic of single product. Always remember in software engineering, quality of software is everything, therefore try to deliver a product which has all these characteristics and qualities. Software products and their characteristics presented by. Software product line engineering sple supports the development of a. 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. Software product lines challenge traditional analysis techniques, such as. Software product lines a software product line is a set of software intensive 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. Software product lines have emerged as a new software development paradigm of great importance. For technology companies it can make sense to differentiate between. A software product line is a family of products designed to take advantage of their common aspects and predicted variabilities weiss 1999. Systems and software product line engineering biglever. Software product line architecture research papers. Introduction to software product lines springerlink. A software product line is a set of software systems with a common set of features developed from a set of core assets.
Software engineers can share different assets among all the software available in the respective product line. Ciscos next generation firewall product line software. Introduction to the emerging practice of software product. The cisco ngfw product line software release train provides two feature releases per year, approximately six months apart. Software quality is often decomposed into individual quality characteristics. First and foremost, a software product must meet all the. A software product line is a family of systems that share a common set of core technical assets, with preplanned extensions and variations to address the needs of specific customers or market segments. Software product line an overview sciencedirect topics. A software product line is a set of software products that share a common set of features. Any organization that has many software systems will notice that many of. Pdf qualityoriented software product line architecture. Well before going into technical characteristics, i would like to state the obvious expectations one has from any software. The first step in planning a product line is to separate the features that stay the same from the features that are different across products.
A number of challenges regarding testing of software product lines have. This entry defines and explores the concepts central to systems and software product line engineering and five key characteristics that are central to its modern practice. Software product lines are quite common in our daily lives, but before a product family can be successfully established, an extensive process. Existing literature on software product lines 1,5,6,7 tends to focus on the technology and the processes that surround product line based software development. It is designed to suit some specific goals such as data processing, information sharing, communication, and so on. A company that makes telecommunications software may introduce a new app for tracking a cell phone. Introduction systems and software product line engineering is a way to engineer a portfolio of related products in an efficient. In software product line engineering, features often become the prime entities of software reuse and are used to distinguish the individual products of a product line. While developing any kind of software product, the first question in any developers mind is, what are the qualities that a good software should have. In most companies, the product line manager supervises a product line.
This paper presents early software product line activities which have been performed during the initialization phase of the fraunhofer pulse product line software and system engineering approach. Systems and software product line engineering is a. A framework for software product line practice, version 5. Software product lines and architecture 1208 words. From a user persepctive there are several characteristics that are. Operational characteristics of a good quality software product are based on the functionality and related to exterior quality of software product. This article describes how this is done in practice, using the example of a product line of meteorological data systems. Software product line testing a systematic mapping study. In addition, these quality characteristics can also be used to compare and contrast the relative merits of software development paradigms. Search careerbuilder for software product line architecture for enterprise applications jobs and browse our platform. In this series of articles i would like to cover 10 characteristics which, to my opinion, follow each successful software product whether it is. Quality software attributes andor characteristics of good. 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.
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 benefits of software product line development practice. A product line is a group of related products under a single brand sold by the same company. Software product lines a software product line spl is a set of software intensive 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.
A product line is a set of products that together address a particular market segment or fulfill a particular mission. The characteristic that distinguishes software product lines from previous efforts is predictive versus opportunistic software reuse. Long a standard practice in traditional manufacturing, the concept of product lines is relatively new to the software industry. If you like geeksforgeeks and would like to contribute, you can also write an article using contribute. Software product line engineering sple is a form of the new model in the line of software engineering where techniques of industrial production are, and gradually changes carry out for software. A software product line is a collection of multiple software. It may also happen that the software will boost the market, killing the competitors by the burst wave and get a toehold in the tops.
Such uses are increasingly common, as mobile applications and other types of software with extensive configuration options have proliferated. Properly decomposing a product line into features, and correctly using features in. The software product line practice was designed to manage software products, and their commonalities were designed to maximize the benefits to the organization. Product flexibility is the anthem of the software marketplace, and product lines fulfill the promise of tailormade systems built specifically for the needs of. A software product line is a set of software intensive systems that share a common, managed set of features satisfying the specific. Software product line engineering develop family of software applications apply mass customization use software platform. A feature is a prominent or distinctive uservisible behavior, aspect, quality, or characteristic of a software system kang et al. Qualityoriented software product line architecture design. The carnegie mellon software engineering institute defines a software product line as.
We can share the common, managed set of software features that can satisfy the. Using this example we will show how a product line is designed, and how product variants can be derived automatically. A software product line is a family of products designed to take advantage of their common aspects and predicted variabilitys. An effective quality strategy for a software product line requires both static and dynamic analysis techniques. The reminder of this paper is organized as follows. Software product line engineering has gained considerable momentum in recent years, both in industry and in academia. The software product line practice was designed to manage software products, and their commonalities were designed to.
A software product line is a set of software reliant systems that share a common, managed set of features satisfying a particular market or mission area, and are built from a common set of core assets in a prescribed way. A classification of product sampling for software product. Normally, product is taken as a tangible object, such as a pen, television set, bread. Introduction to the seis software product line framework.
Techniques for static analysis are often dismissed as more expensive, but in a software product line, the cost of static analysis can be amortized over multiple products. A product line architecture is a software architecture that supports a software product line. It is classified according to the range of potential of applications. Software product line engineering is a development paradigm based on common software platforms, which are customized in order to form specific products. Product is a bundle of benefitsphysical and psychological that marketer wants to offer, or a bundle of expectations that consumers want to fulfill. Software quality is a judgment about the value of software from a particular perspective. View software product line architecture research papers on academia. The activities analyze an existing set of related control units and identify common and varying characteristics of these solutions delivered to customers in the past. In the first section, product line development is compared to traditional software. Analysis strategies for software product lines cmu school of. A wellengineered software product should possess the following essential characteristics. Advances in applications of object constraint language for software engineering. The software should not make wasteful use of system. The three main goals of a software product line are to reduce cost, improve delivery time, and improve quality.
A software platform is a set of generic components that form a common structure, from which a set of derivative products can be developed. The final dimension of product line development regards the life cycles of the product line assets. Towards a software product line architecture to build mlearning. What are the characteristics of software product answers. Introduction to the emerging practice of software product line development part 3. Using these characteristics, software engineers can assess software products for strengths and weaknesses.
A systematic mapping study of software product lines testing. Looking ahead, we sketch some applications of the product line variability modeling principles and techniques in nonsple settings. A software product line consists of a product line architecture, a set of reusable components and a set of products derived from the shared assets. Various operational characteristics of quality software product are as follows. Software product line engineering with feature models. Customers who already know the brand will be more willing to buy from their new line. Product line architecture pla is the main tangible element shared by all products of a software product line spl. 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. 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. Cisco is introducing a new software release delivery model and specific support lifecycle guidelines with the ftd 6.
Marketer can satisfy needs and wants of target consumers by products. Software engineering software product geeksforgeeks. Software characteristics are classified into six major components. The developed software product make sure should meet all the customer specification. A successful spl is able to improve the development productivity and the quality of the software, significantly reduce cost and time to market. A software product line spl implies a formal procedure for designing the modules based on predicting how. It is a popular topic in software engineering academia and several papers exist on the concept of product lines. The notion of features is commonly used to describe the functional and nonfunctional characteristics of a system. Software product line engineering is a paradigm to develop software applications software intensive systems and software products using platforms and mass customisation pohl et. This section outlines some of the characteristics that influence this surprising diversity in transition profiles. Software is defined as collection of computer programs, procedures, rules and data. Starting a software product line by reengineering a set of.
744 30 1223 1018 760 216 292 1128 1127 186 442 1211 23 648 1282 750 1241 1357 1454 758 484 752 131 1368 836 1083 940 542 1469 97 1417