control of cognitive processes during software design: what tools are needed?
A verbal protocol study of professional software designers has revealed three design process control strategies. At least one of them, the generation of opportunistic solutions at different levels of detail accompanied by problem domain modeling, had not been observed in previous empirical studies nor had been acknowledged in the software engineering practices. Specific breakdowns (difficulties) were associated with the different design process control strategies. Software tools should be provided to designers to alleviate these breakdowns. Parts of a cognitive model of software design, based on distributed control from specialists such as design schemas, design heuristics, and design methods, are presented to account for the observed control strategies.
control cognitive processes software software design design tools design process strategies generation level of detail domain model empirical studies software engineering practical association software tools cognitive model distributed schema heuristics design method account