The Role of Domain Expenence in Software Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Breakdowns and processes during the early activities of software design by professionals
Empirical studies of programmers: second workshop
gIBIS: a hypertext tool for team design deliberation
HYPERTEXT '87 Proceedings of the ACM conference on Hypertext
The Architecture of Cognition
Knowledge-based circuit design
Knowledge-based circuit design
A field study of the software design process for large systems
Communications of the ACM
The tourist artificial reality
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
ICSE '89 Proceedings of the 11th international conference on Software engineering
Exploiting reusable specifications through analogy
Communications of the ACM
Supporting Systems Development by Capturing Deliberations During Requirements Engineering
IEEE Transactions on Software Engineering - Special issue on knowledge representation and reasoning in software development
Formal aspects of concurrency control in long-duration transaction systems using the NT/PV model
ACM Transactions on Database Systems (TODS)
ACM SIGSOFT Software Engineering Notes
Computer science apprenticeship: creating support for intermediate computer science students
ICLS '96 Proceedings of the 1996 international conference on Learning sciences
The cognitive consequences of object-oriented design
Human-Computer Interaction
Designing the design process: exploiting opportunistic thoughts
Human-Computer Interaction
Cognitive activities and levels of abstraction in procedural and object-oriented design
Human-Computer Interaction
Metacognition changes during an engineering design project
FIE'09 Proceedings of the 39th IEEE international conference on Frontiers in education conference
Software architecture review by association
Journal of Systems and Software
Hi-index | 0.03 |
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.