Strategies in object-oriented design
Sophie Chatel, Fran\c{c}oise D\'etienne

TL;DR
This study analyzes expert design strategies in object-oriented programming, identifying object-centered, function-centered, and procedure-centered approaches based on solution structure, with implications for HCI systems aiding design activities.
Contribution
It reveals distinct design strategies used by experts depending on solution structure and discusses implications for HCI systems supporting expert design activities.
Findings
Object-centered and function-centered strategies are used for hierarchical solutions.
Procedure-centered strategy is used for flat, horizontally communicating solutions.
Results provide insights into experts' knowledge structures in object-oriented design.
Abstract
This paper presents a study aiming to analyse the design strategies of experts in object-oriented programming. We report an experiment conducted with four experts. Each subject solved three problems. Our results show that three strategies may be used in program design according to the solution structure. An object-centred strategy and a function-centred strategy are used when the solution has a hierarchical structure with vertical communication between objects. In this case, the plan which guides the design activity is declarative. A procedure-centred strategy is used when the solution has a flat structure with horizontal communication between objects. In this case, the plan which guides the design activity is procedural. These results are discussed in relation with results on design strategies in procedural design. Furthermore, our results provide insight into the knowledge structures…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices · Usability and User Interface Design · Model-Driven Software Engineering Techniques
