Home

Defining Families: The Commonality Analysis


Author(s) : David M. Weiss, 
Publisher : N/A
Publication Date : 1997
ISSN : N/A
Abstract : Software engineers today are often asked to do both rapid production and careful engineering at the same time. One way to help resolve the tension between these often conflicting goals is to develop families of software and to invest in facilities for rapidly producing family members. Success in such an endeavor requires that the software engineers be able to identify the desired family members. Few systematic techniques for doing so currently exist. Commonality analysis is one approach to defining a family by identifying commonalities, i.e., assumptions that are true for all family members, variabilities, i.e., assumptions about what can vary among family members, and common terminology for the family. A commonality analysis forms the basis for designing reusable assets that can be used to produce rapidly family members. Commonality analysis is being tried in Lucent Technologies as part of a process for engineering domains that is known as familyoriented abstraction, specification, and translation (FAST). Keywords:,