The specifications, however, postulate the existence of a solution and state its constraints and invariants. For small products, the specifications can often be a simple extension of the requirements. However, for larger products, the specifications should be completely separate from the requirements.
As shown in Figure 10.4, the requirements definition and system specification are developed at the highest level. As development proceeds, you divide the system into major products, each of which must be specified and designed. These products, in turn, may be composed of several components that must also be specified and designed. Thus, the specification must be refined for each product level.