Software Engineering Institute Carnegie Mellon

Attribute Driven Design (ADD) Method

Challenges:
How do you design the architecture for a family of systems so that they best meet user needs?

  • How do you meet quality requirement goals for envisioned systems?
  • How do you design for a family of systems?
  • What architectural strategies are appropriate for your quality requirements?

Overview:
The Attribute Driven Design (ADD) method is a systematic approach to designing the architecture for a family of systems. It is based on knowing both the functional and quality requirements for your systems and knowing the architectural approaches that have proven successful in achieving those qualities in other systems.

Benefits:
The Attribute Driven Design (ADD) method enables designers to understand quality trade offs early in the design process and to allow for the variation of product line within their architecture.

Who Would Benefit:
Software product or project managers, software product line managers, software architects.

Description:
The ADD method is a recursive decomposition method. At each stage of the decomposition there are the following steps:

  1. Choose architecturally significant requirements. The architecturally significant requirements are the combination of quality, business, and functional goals that "shape" the architecture.
  2. Choose patterns and children component types to satisfy drivers. There are known patterns to achieve various qualities. Choose the solutions that are most appropriate for the high priority qualities.
  3. Instantiate children design elements and allocate functionality from use cases using multiple views. The functionality to be achieved by the product family is allocated to the component types.
  4. Identify commonalities across component instances. These commonalities are what define the product line, as opposed to individual products.
  5. Validate that quality and functional requirements and any constraints have not been precluded from being satisfied by the decomposition.
  6. Refine use cases and quality scenarios as constraints to children design elements. Because ADD is a decomposition method, the inputs for the next stage of decomposition must be prepared.

Availability:
SEI staff will work with a customer architecture or design team to apply the ADD method.

Additional Information:
Contact us for additional details or to arrange Attribute Driven Design (ADD) Method services.