Universal subgoaling and chunking: the automatic generation and learning of goal hierarchies
Universal subgoaling and chunking: the automatic generation and learning of goal hierarchies
Variability in program design: the interaction of process with knowledge
International Journal of Man-Machine Studies - What programmers know
Eiffel: the language
Object-oriented programming in Eiffel
Object-oriented programming in Eiffel
Agile Software Development: Principles, Patterns, and Practices
Agile Software Development: Principles, Patterns, and Practices
Refactoring: Improving the Design of Existing Code
Proceedings of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods - XP/Agile Universe 2002
Design strategies and knowledge in object-oriented programming: effects of experience
Human-Computer Interaction
Hi-index | 0.00 |
This paper presents a method of teaching OO design based on modeling the software design process. Design is essentially about making choices as an initial idea is extended to construct an executable system. The paper first defines the essence of a solution, the plan structure. It then shows how a plan is built from small pieces, and how an abstract plan is translated into code. Many choices are made when translating a plan into an executable OO system; where there is a choice, a design rule is used to make that choice. The model of teaching identifies the variations and choices that arise during the process of design, and shows how an explicit set of design rules can evaluate the choices and make the best decision.