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:
- Applying design space techniques to design the architecture of a type of software system
- Comparing recommendation by the design space with the actual systems designed by experts
- 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↩