Software Product-Line Engineering: A Family-Based Software Development Process / Edition 1

Software Product-Line Engineering: A Family-Based Software Development Process / Edition 1

by David M. Weiss, Chi Tau Robert Lai, David M. Weiss
     
 

ISBN-10: 0201694387

ISBN-13: 9780201694383

Pub. Date: 08/04/1999

Publisher: Addison-Wesley

It is in the "how to do it" part that this book excels, because it illustrates a process that has been successfully applied to reduce costs for organizations that develop large programming systems. With the help of this book, many more can learn how to exploit the idea of program families and bring about a substantial improvement in the state of

Overview

It is in the "how to do it" part that this book excels, because it illustrates a process that has been successfully applied to reduce costs for organizations that develop large programming systems. With the help of this book, many more can learn how to exploit the idea of program families and bring about a substantial improvement in the state of practice in the software industry.
--David Lorge Parnas

Many organizations have mastered the practice of software development, yet few have become truly efficient at software production. With the adoption of an efficient, systematic software production method, organizations can gain significant competitive advantages, including reduced time to market, better schedule predictability, more reliable code, and decreased costs. Software Product-Line Engineering provides the actionable information and proven tactics necessary to effect organizational change and make your future software projects more successful.

The authors outline a systematic method for rapid software production through the FAST (Family-Oriented Abstraction, Specification, and Translation) process, a revolutionary commercial product developed at AT&T that continues to evolve at Lucent Technologies. FAST uses practical domain engineering to decrease the time and effort necessary to develop, deliver, and maintain software. Any software development projects currently using C, C++, or Java can easily incorporate the FAST model and quickly reap the benefits of a more efficient software methodology.

0201694387B04062001

Product Details

ISBN-13:
9780201694383
Publisher:
Addison-Wesley
Publication date:
08/04/1999
Edition description:
BK&CD ROM
Pages:
448
Product dimensions:
7.40(w) x 9.10(h) x 1.10(d)

Table of Contents

(Each chapter concludes with a Summary, Nomenclature Introduced, and Readings.

Foreword.

Preface.

1. Introduction: The Need for Families.

The Dilemma of Careful Engineering and Rapid Production.

Problems FAST Addresses.

Applications of FAST.

Benefits of FAST.

What Can Readers Expect?

2. Family-Oriented Software Production.

Basic Assumptions.

FAST Strategies.

Foundations for Engineering Families.

The Role of Abstractions in Identifying and Designing Families.

The Role of Information Hiding and Separation of Concerns.

Predicting Change.

Organizational Considerations.

3. AN EXAMPLE: FAST Applied to Commands and Reports.

The Commands and Reports Family.

Defining the C&R Family.

Using the C&R Application Engineering Environment.

The SPEC Language and Its Translators.

Designing the Translators.

4. An Overview of FAST.

The Structure of FAST.

The Economics of FAST.

Case 1: No Domain Engineering.

Case 2: Domain Engineering.

The Fundamental Law of Family Production.

Risk Versus Automation.

Application Engineering.

Application Engineering Artifacts.

Application Production Activities.

Domain Engineering.

Domain Engineering Artifacts.

Domain Engineering Activities.

Organizational Roles.

Variability in the FAST Process.

5. AN EXAMPLE: The Floating Weather Station Family.

The Floating Weather Station Family.

Qualify the FWS Domain.

Engineer the FWS Domain.

Analyze the FWS Domain.

Implement the FWS Domain.

Addendum A: The Floating Weather Station Commonality Analysis.

Introduction.

Overview.

Dictionary of Terms.

Commonalities.

Variabilities.

Parameters of Variation.

Issues.

Message Formats.

Sensor Driver Identifiers.

Addendum B: The Floating Weather Station Module Guide.

Behavior-Hiding Modules.

Device Interface Modules.

Software-Design-Hiding Modules.

Issues.

Addendum C: The Floating Weather Station Application Generation Environment.

Family Member Generator.

Addendum D: A Generated Floating Weather Station Family Member.

Addendum E: The Floating Weather Station Environment Simulator.

6. Process Modeling.

Motivations for Process Modeling.

A PASTA Model as a Communications Medium.

Elements of a PASTA Model.

Process Activities as State Machines.

Artifacts as State Machines.

Prescribing the Order of Events.

Prescribing a Methodology.

The Role of Process Modeling in FAST.

PASTA Abstractions

Creating PASTA Process Models.

The Process User’s Concerns.

PASTA Models as Used by Process Environment Developers.

Process Measurement Using PASTA.

Measuring a Process Model.

Measuring Process Performance.

7. Representing a PASTA Model.

Representations of PASTA Elements.

PASTA Forms.

Notational Considerations.

Artifact Definition Form.

A-State Machine Diagrams.

Process State Definition Form.

P-State Machines.

Relation Definition Form.

Role Definition Form.

Operation Definition Form.

Analysis Definition Form.

8. An Overview of the FAST PASTA Model.

FAST Model Hierarchies.

FAST Artifacts.

Environment Artifacts.

Application Artifacts.

Change_Report.

FAST Activities.

Qualify_Domain

Engineer_Domain.

Implement_Domain.

Engineer_Application.

Manage_Project.

Change_Family.

FAST Roles.

FAST Manager.

Gluing the Elements Together: The State Transition Diagrams.

Typical Questions Answered by the Model.

First Steps in Applying the Model.

Identifying Starting Activities and Roles.

Other Scenarios.

9. Artifact Definitions.

Family_Artifact.

Environment.

Domain_Model.

Domain_Implementation.

Application.

Application_Model.

Application_Documentation.

Application_Code.

Change_Report.

10. Activity Definitions.

FAST.

Qualify_Domain.

Gather_Data.

Analyze_Data.

Reject.

Accept.

Engineer_Domain.

Analyze_Domain.

Implement_Domain.

Engineer_Application.

Model Application.

Produce_Application.

Delivery_And_Operation_Support.

Manage_Project.

Change_Family.

Request_Family_Change.

Evaluate_Implementation_Change.

Evaluate_Domain_Change.

Library_Activities

Review_Internally.

Review.

Iterate_Or_Refine.

11. Role Definitions.

Project_Manager.

Domain_Manager.

12. FAST Analyses.

Application_Engineering_Process_To_Decision_Trace_Analysis.

Application_Engineering_Process_To_Tool_Trace_Analysis.

Application_Engineering_Support_Analysis.

Application_Modeling_Language_Editor_Assurance_Analysis.

Application_Modeling_Language_Parser_Assurance_Analysis.

Application_Modeling_Language_To_Family_Design_Trace_Analysis.

Artifact_Implementation_Assurance_Analysis.

Commonality_To_Module_Trace_Analysis.

Composition_Mapping_To_Family_Design.

Composition_Mapping_To_Language_Construct_Mapping_Analysis.

Composition_Mapping_To_Module_Trace_Analysis.

Customer_Satisfaction.

Decision_To_Tool_Trace_Analysis.

Defect_Analysis.

Final_Product_Documentation_Assurance_Analysis.

Final_Product_Validation_Analysis.

Module_Documentation_Assurance_Analysis.

Module_Implementation_Assurance_Analysis.

Parameter_Of_Variation_To_Decision_Trace_Analysis.

Parameter_Of_Variation_To_Language_Trace_Analysis.

Parameter_Of_Variation_To_Module_Trace_Analysis.

Progress_Analysis.

Resource_Analysis.

Risk_Analysis.

Terminology_Analysis.

Tool_Documentation_Assurance_Analysis.

Tool_Implementation_Assurance_Analysis.

Variability_To_Variation_Parameter_Trace_Analysis.

Variation_Parameter_To_Variability_Trace_Analysis.

13. FAST Relations.

Application_Model_Module.

Commonality_Module.

Composition_Mapping_AML.

Decision_Process.

Decision_Tool.

Module_Document.

Module_Implement.

Parameter_Decision.

Parameter_Module.

Product_Document.

Tool_Document.

Tool_Implement

Variability_Parameter.

Patterns of Thought and Work.

FAST and Reuse.

FAST as a Multiparadigm Process.

FAST and Object Orientation.

Applicability of FAST.

Finding Domains Where FAST Is Worth Applying.

The Single-Customer, Single-Product-Family Situation.

The Many-Customers, Single-Product-Family Situation.

The Many-Customers, Many-Product-Families Situation.

Applying FAST Incrementally.

Patterns of a FAST Organization.

Applying PASTA.

Transitioning to a FAST Process.

Glossary.

Bibliography.

Index. 0201694387T04062001

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >