Software Product-Line Engineering: A Family-Based Software Development Process

Series
Addison-Wesley
Author
David M. Weiss / Chi Tau Robert Lai  
Publisher
Addison-Wesley
Cover
Softcover
Edition
1
Language
English
Total pages
456
Pub.-date
August 1999
ISBN13
9780201694383
ISBN
0201694387
Related Titles


Product detail

Product Price CHF Available  
9780201694383
Software Product-Line Engineering: A Family-Based Software Development Process
55.90 approx. 7-9 days

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

Back Cover

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

Author

David M. Weiss is the Director of the Software Production Research Department at Avaya Laboratories. His technical work has evolved into the invention of processes that incorporate ideas from families, design for change, measurement, precise specification, and technology transfer. The result has been a software production process based on family-oriented abstraction, specification, and translation, known as FAST.

Chi Tau Robert Lai is founder of the International Software Process Constellation, Inc., which is an industry leader in process engineering and software automation.