Sei software product lines

Software product lines elearning software product lines. The remainder of this survey is structured as follows. The software product line approach to the development of software intensive systems has been used by organizations to improve quality, increase productivity, and reduce cycle time. This collection includes two decades of sei work on software product lines. Sei offers solutions in various wealth management markets. Shorter development schedules lower development and upgrade costs. 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. Producing a set of related products as a product line has allowed organizations to achieve increased. Long before our work on this program, the sei began to focus on the concept of software product lines, which are a proven way to develop and manage software components more efficiently and at significant cost savings to the producer and its customers, who are often diverse customers that receive similar products from a common core software collection. Software architecture, software product lines this document describes the activities and practices in which an organization must be competent before it can benefit from fielding a. The products offered include hydraulic pumps, trim cylinders, hoses, fittings, and other accessories. 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. Software product line engineering this chapter introduces the software product line design method, which is described in much greater detail in subsequent chapters.

Other books focus on software and system architecture and product line development. Software engineering institute sei has steered the research and development on software product lines sometimes called as software product family and has published several technical reports. A software product line is a set of softwarereliant systems that share a. Under her leadership, the sei developed software architecture and product line methods that are used worldwide, a series of five highly acclaimed books, and software architecture and software product line curricula that include 11 courses and 6 certificate programs. Software product lines a software product line is a set of softwarereliant 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.

Software product lines collection sei digital library carnegie. Efficient and effective software sustainment of product. The principal goal of modelling variability techniques is to configure a. Variability management vm in software product line spl is a key activity that usually affects the degree to which a spl is successful. The software product line conference splc provides a forum for practitioners, researchers and educators to present and discuss the most recent ideas, innovations, trends, experiences, and concerns in software product lines and software product family engineering. Other events cover subjects including acquisition of software intensive systems, commercial offtheshelf cotsbased systems, network security and survivability, software process research, software product lines, cmmi, and the sei team software process. Software product line essentials sei digital library carnegie. Northrop, software engineering institute software product lines are rapidly emerging as a viable and important software development paradigm. 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. These documents include technical reports, presentations, webinars, podcasts and other materials searchable by usersupplied keywords and organized by topic, publication type, publication year, and author.

Sei work has confirmed the benefits of pursuing this approach. The software engineering institute sei defines an spl as a set of softwareintensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission. Members of the software product line hall of fame should serve as models of what a software product line should be, exhibiting most or all of the following characteristics. In addition, clements has authored dozens of papers in software engineering, reflecting his longstanding interest in the design and specification of challenging software systems. Introduction to software product lines sei digital library. 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. Software product lines spl and serviceoriented citeseerx. The course also provides an overview of the essential technical and management practices needed to succeed with software product lines, and guidelines and patterns for applying product line techniques. In a software product line, individual products are instantiated from a common architecture called the product line architecture.

Product flexibility is the anthem of the software marketplace, and product lines fulfill the promise of tailormade systems built specifically for the needs of particular customers or customer groups. With explanations of fundamental concepts further illuminated by realworld experience, this book spells. The strategy encompasses organizational management, technical management, and software engineering aspects of product production. It also discusses the main obstacles to realizing the synergy between these cuttingedge technologies. A software product line is a set of softwarereliant 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. Experiences from the sixth dod software product line workshop cmu sei 2004tn011. The sei is a federally funded research and development center conducting software engineering research in acquisition, architecture and product lines, process improvement and performance measurement, security, and system interoperability and dependability. Changes to core products affect all elements of the product linecode, documentation, test cases, etc. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. Those nominations feed discussions about what constitutes excellence and success in product lines. Based on the software engineering institutes research and experi.

True since software product lines are a fairly new concept, it will take years before we know whether or not they truly offer any competitive advantage to. Introduction to the sei framework for software product. Sterndrive engineering sei is the largest supplier of aftermarket sterndrives and our own line of outboards in the world. The more subtle consequence is that software product lines require much more than new technical practices. Cmm is a method to evaluate and measure the maturity of the software development process of an organizations. The sei digital library provides access to more than 5,000 documents from three decades of research into best practices in software engineering. The arcade game maker product line is an example product line created to support learning about and experimenting with software product lines in the classroom. Configuration management for software product lines.

Software product lines are emerging as a viable, important software development paradigm. But a software product line is a relatively new idea, and it should seem clear from our description that software product lines require a different technical tack. Introduction to the seis software product line framework. Aug 26, 2019 decisions for sustaining a software product line october 1, 2018 sei blog robert ferguson. Software sustainment and product lines july 2018 podcast mike phillips harry l. 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. New configuration management concepts provide means to create, maintain, and evolve these assets efficiently and consistently, including not only their common parts but. 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. The sei sponsors national and international conferences, workshops, and usergroup meetings.

Software product lines elearning software engineering institute. We help you get to the details that erp and enterprise solutions typically cant, allowing your business to run faster and more accurately. 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. Our main office and corporate headquarters is in oaks, pennsylvania, usa, near philadelphia. 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.

Before registering for this course, participants must have. Spl community has spent huge amount of resources on developing various approaches to dealing with variability related challenges over the last decade. Software engineering workshop for educators workshop software engineering institute pittsburgh, pa. The arcade game maker pedagogical product line january 5, 2009 white paper. My prior blog post on product lines in dod sustainment described the complexity of contractual relationships in a dod software product line. Software product lines the journal of object technology. Software product lines were formalized by the cmu sei 2, and they define a. Rather than deciding on what product to build on forehand, in spls, a software architecture and set of components is defined and implemented that can be configured to match the requirements of a family of software products. Software product line companies increasingly expand their platform outside their organizational boundaries, in effect transitioning to a software ecosystem approach. The carnegie mellon software engineering institute defines a software product line as 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. The company makes replacement sterndrives for mercruisers alpha one and gen ii stern drives and replacement outboard lower units for mercury, johnsonevinrude and yamaha. We also operate from offices in canada, hong kong, ireland, south africa, and the united kingdom.

See a framework for software product line practice, v5 page 6. Software engineering institute 4500 fifth avenue pittsburgh, pa 1522612 4122685800. Each software product line conference splc culminates with a session in which members of the audience nominate systems for induction into the software product line hall of fame. Examples for these assets are the domain or product line model, reference architecture, design, and code. Sei is a public company and is listed on the nasdaq exchange under the symbol seic. Software product lines elearning a software product line is a set of softwarereliant 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 product line succeeds because the commonalities shared by the software products can be exploited to achieve economies of production. The sei has researched software product lines, both as case studies and by developing methods to design and build products. Sei training software product lines elearning online. A software product line is a set of software intensive systems sharing a common, managed set of features that satisfy specific needs of a particular market or mission, and that are developed from a common set of core assets in a prescribed way, according to the definition used by the software engineering institute sei clements01. Mcgregor, clemson university and luminary software, u.

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. Cmm measures the maturity of the software development process on a scale of 1 to 5. With explanations of fundamental concepts further illuminated by realworld experience. 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. For example, configuration management is a practice area that applies to any software development effort, but it has special implications for product line. Practices and patterns addisonwesley, 2001 and was coauthor and editor of constructing superior software sams, 1999. These and all books in the series address critical problems in software engineering for which practical solutions are available. Core assets can be software components, architecture and. Citeseerx document details isaac councill, lee giles, pradeep teregowda. The first software engineering institute product line practice workshop was a handson meeting held in december 1996 to share industry and government practices in software product lines and to. 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.

The software engineering institute defines basic concepts and the activities and practices that ensure success. A software product line is a set of software intensive systems sharing a common, managed set of features that satisfy specific needs of a particular market or mission, and that are developed from a common set of core assets in a prescribed way, according to the definition used by the software engineering. A software product line is a collection of related products with shared software artifacts and engineering services that has been developed by a single organization intended to serve different missions and different customers. This tsp symposium 2014 presentation introduces software product line development, essential activities and underlying practices, and costs and benefits of. Jan 14, 2019 product lines are known for the ability to isolate product variation for customization. Testing is used to identify defects during construction and to assure that completed products possess the qualities specified for the products. The products are built from common assets in a prescribed way. Paul clements is a senior member of the technical staff at the sei, where he works on software architecture and product line engineering. Based on the software engineering institute s research and experience, the concepts, activities, and practices described here can lead to successful product line development. 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. A product line is a set of products that together address a particular market segment or fulfill a particular mission.

Seis software product line tenets initiating software product lines. Software product lines are rapidly emerging as a viable and important software development paradigm. In fact, the concept of variability separates product lines from smallgrained reuse. Testing a software product line sei digital library. We work with sales leadership, analysts, researchers or hr, to deliver custom microsoft access, excel or tableau solutions. In this paper, we discuss the emerging trend of software ecosystems and provide a overview of the key concepts and implications of adopting a software ecosystem approach. Boat sterndrive, outboard lower unit, sterndrive engineering. Our case studies demonstrate many significant benefits of software product lines, including but not limited to the following. Mike phillips and harry levinson examine the intersection of three themes that emerged during the sei s work with one government program. Software product lines software product lines in practice.

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. Sei software group makes it easy to automate your business. We provide technologydriven wealth and investment management solutions for wealth managers, investment managers, and institutional and private investors. Recall that a software product line is a collection of related products with shared software artifacts and engineering services that has been developed by a single organization in support of multiple programs serving multiple missions and different customers. Analysis strategies for software product lines 3 we refer the reader to a recent survey benavides et al. This document describes a framework for product line development. A software product line is a set of software intensive systems sharing a common, managed set of features, that satisfy the specific needs of. 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. Cmmi license sei cmmi service cmmi product suite services. The annual workshop for educators to foster an ongoing exchange of ideas among educators whose curricula include the subjects of software architecture and software product lines. Howtos, success stories, and lessons learned expand on the approach. From software product lines to software ecosystems. In section 2, we give a short introduction to software product lines using a running example and we present an overview on important software analysis that have been applied to soft.

Abstract the software product line approach is a strategy for producing software intensive products. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of. A fundamental principle of spls is variability management, which involves separating the product line into three parts. Pdf a framework for software product line engineering. A suitably organized and executed test process can contribute to the success of a product line organization. Feb 28, 2019 it is a popular topic in software engineering academia and several papers exist on the concept of product lines. A framework for software product line practice, version 5. Attendees will also be better prepared for the sei s documenting software architectures and software product lines courses.

A typical example of delayed design decisions is provided by software product lines spls. The software product line spl is an emerging methodology for developing software products. 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. 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. Pdf seis software product line tenets semantic scholar. A product line can reduce cost of development and support.

This course is the first course required in the sei s software architecture professional, sei servicebased architecture professional and atam evaluator certificate programs. Software product line essentials sei digital library. The family that constitutes the product line is clearly identifiedthat is, there is a way to tell whether a particular software system is a member of the product line, by. Still others, from the sei s cert program, describe technologies and practices needed to manage software and network security risk. Software product lines were formalized by the cmu sei, and they define a software product lines as, a set of softwarereliant systems that share a. Building product lines from common assets can yield remarkable improvements in productivity, time to market, product quality, and customer satisfaction. A framework for software product line practice version 4.

642 824 957 83 1017 303 446 1263 413 1214 572 327 689 538 62 1029 255 917 835 883 1335 128 1297 45 1171 926 1423 665 936 1483 1506 1070 384 530 1324 1136 1105 1414 1204 450 1411 629 843 1207 858 806