A complex system that works is invariably found to have evolved from a simple system that works.
- John Gall, Systemantics
A design view is a means of organising design information. It expresses a design in terms of a set of design entity(s) (refer Figure 1). A complete design describes all design entities and their attributes. In contrast a design view looks at:
- A subset of the design entities where the design view gives design information about part of the system (for example a particular sub-system).
- A subset of the design attributes where the design view gives a certain type of information about the entire system (for example the functional safety aspects of the design).
- Both the design entities and design attributes subsets where the design view gives a certain type of information about part of the system (for example component interface specifications).
Figure 1 Relationship of design views to design entities
Organising information into design views is important for the following reasons:
- It allows complex systems to be logically partitioned so multiple development teams can coordinate their efforts, each team focusing on their particular design view.
- It decreases the scope, and thus the complexity, of information that is presented at any one time.
- It makes it easier to consider some information globally, without it being clouded with extraneous information.
A decomposition description is an example of a design view. The decomposition description in Figure 2 expresses the design in terms of a hierarchy using the design entities "system", "sub-system", "module" and "routine".
Figure 2 A design view expressed as a decomposition description