Réutilisation de solutions en conception orientée-objet : un modèle cognitif des mécanismes et représentations mentales
Institution:
Paris 5Disciplines:
Directors:
Abstract EN:
To minimize the cost of software development and to increase software reliability, software engineering models encourage designers to reuse software components for the building of new systems; object-oriented design supports fairly this design strategy. Although a lot of work has been done in this field, the predicted level of reuse has not been reached yet. From a cognitive viewpoint, two sources of information are involved in the reuse of solutions (component, program. . . ): on one hand, an external source (code, documentation) and, on the other hand, internal representations constructed from the memory of the designer. Internal representations may correspond either to generic solutions or to particular situations recovered from the past. The reuse of previous solutions for solving a new problem involves three main cognitive mechanisms: access mechanisms to retrieve a previous solution, comprehension mechanisms to construct a mental representation of this source solution, and adaptation mechanisms to modify the source solution in order to meet the new requirements. We propose a cognitive model which accounts for the mechanisms and the mental representations constructed in the reuse activity. Our theoretical framework is based on the schema theory and on models of analogical problem solving. Our model is supported by two experiments conducted with designers using the c++ language. The first study analyses access mechanisms to previous solutions. In our experimental paradigm, experts in object-oriented design must evoke and describe solutions they could reuse for solving their current problem. The second study investigates the comprehension and the adaptation of a source solution during the resolution of an analogous target problem.
Abstract FR:
Afin de minimiser les coûts et augmenter la fiabilité des systèmes informatiques, le génie logiciel a proposé la réutilisation, c'est à dire un ensemble de techniques incitant le concepteur à réutiliser des composants logiciels pour concevoir de nouveaux logiciels ; la conception orientée-objet fait partie de ces techniques. Malgré un effort de recherche considérable depuis 15 ans, c'est un constat d'échec relatif de ces techniques. D'un point de vue cognitif, réutiliser des solutions (composants, programmes. . . ) implique deux sources d'informations : d'une part des informations externes (code, documentation. . . ) et d'autres part des représentations internes issues de la mémoire du concepteur. Ces dernières sont soit des solutions génériques, soit des solutions particulières rencontrées dans le passé. Lors de la conception d'un nouveau logiciel, le recours à la réutilisation suppose chez le concepteur des mécanismes de récupération de solutions anciennes, des mécanismes de compréhension de ces solutions, et des mécanismes d'adaptation de ces solutions aux contraintes du nouveau problème. Nous proposons un modèle de ces mécanismes et des représentations mentales qu'ils manipulent base sur deux approches théoriques : le raisonnement à partir de schémas et la résolution de problèmes par analogie. Ce modèle est développé et soutenu par deux études réalisées avec des concepteurs utilisant le langage c++. La première étudie l'accès en mémoire a des solutions anciennes par le biais d'un paradigme expérimental ou des experts en conception orientée-objet évoquent et décrivent des éléments qu'ils pourraient réutiliser dans la solution du problème en cours. La seconde étudie les mécanismes de la compréhension et de l'adaptation d'un programme source durant la résolution d'un problème cible analogue.