Design  is everywhere in computer science. It occurs in the design of software both at the level of overall system design  and in the design of individual programs . For simple programs, the activity of design may be implicit. But design decisions are, or have been, taken even in the most straightforward cases. For example, any programmer who chooses quicksort instead of mergesort has taken a design decision. More demandingly, it occurs when the programmer moves from a given specification to a program that she has never constructed before. For large systems, design decisions about the overall structure of a system, its parts, and how its functional demands are to be met take place long before any code is cut.
Unable to display preview. Download preview PDF.