Attribute Driven Design or ADD for short, uses the approach of defining a system architecture with the idea that the design process will be based by the software quality attribute requirements. ADD follows a recursive process in which the following activities are utilized: Plan, Do, and Check. In the Plan activity, software quality attributes and constraints related to design, are considered so that the correct elements are chosen to ensure the architecture can meet the requirements. In the Do, the elements are created to meet the quality attributes and function requirements of the system. Lastly in Check, the results of the design are analyzed to ensure the requirement of the system are satisfied. The process goes through a recursive process until the entire system has an architecture that meets all the requirements.
In this session we will dive into the 7 steps of Attribute-Driven Design and discuss how Drupal makes it easy for software architects to satisfy business requirements using ADD.
- Confirm there is sufficient requirements information
- Choose an element of the system to decompose
- Identify candidate architectural drivers
- Choose a design concept that satisfies the architectural drivers
- Instantiate architectural elements and allocate responsibilities
- Define interface for instantiated elements
- Verify and refine requirements and make them constraints for instantiated elements