Building a Modular Drupal Architecture using Attribute-Driven Design

Gerardo Ramirez

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

Drupal is a registered trademark of Dries Buytaert.