Design Space

Sources: 1

Definition

A design space identifies key functional and structural choices made in creating a system design. It classifies the alternatives available for each choice. In other words, design spaces capture and classify architectural alternatives.

Rules can relate choices in a design space.

Notion of a Design Space

A design space can be thought of as a multi-dimensional space, where each software system appears as a data point.

Each dimension represents one variation in a system characteristic or design choices.

Values on each dimension represent alternative choices.

Distance and order are generally not important to design space dimensions.

Uses of Design Space

  • Design space allows formulating rules on good and bad combinations of choices. These rules help to select system designs.
  • Create shared vocabulary for describing and understanding systems
  • Help in day-to-day practice and training of new engineers

Evaluation of Design Space

Two-step process:

  1. Applying design space techniques to design the architecture of a type of software system
  2. Comparing recommendation by the design space with the actual systems designed by experts

  1. Lane, Thomas. (1990). Studying Software Architecture Through Design Spaces and Rules (CMU/SEI-90-TR-018 ). Retrieved August 21, 2020, from the Software Engineering Institute, Carnegie Mellon University website: http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=11217