In this paper we report an empirical study of the cognitive processes of semi-expert electronics engineers pursuing real-world design projects. Extensive diary and interview data were analysed so as to reveal the organization of on-going design activity and the goals that were motivating behaviour. Our analyses indicated that subjects were implementing a highly systematic design strategy which deviated only a small amount (12%) from a top-down, depth-first procedure. Some of this deviation could be accounted for by social demands impinging on the individual designer, and whilst there was also evidence of 'opportunistic' deviation from a structured design approach, this did not appear to be a significant feature of our subjects' behaviour. We present a model of the design process as a set of production rules which describe an abstract 'design schema' for electronic engineering. This design schema embodies processes which control and co-ordinate problem-understanding and problem-structuring activity as well as the essentially top-down, depth-first pursuit of design solutions. The schema also allows for flexibility in the design process, permitting subjects to cope with contingencies arising through social influences and performance breakdowns. A further aspect of the design schema is that it encapsulates a 'satisficing' procedure which reflects a principle that dominated our engineers' solution-search and evaluation activity - they characteristically focused exclusively on initial, satisfactory (but usually sub-optimal) solution concepts rather than comparing alternatives with the aim of optimizing choices. We conclude our discussion by recommending facilities that we feel computer-based design aids should offer users if they are to be genuinely useful adjuncts to design activity.