L'expertise en conception de programme : Approche à partir de la notion de satisfaction de contraintes
Institution:
RouenDisciplines:
Directors:
Abstract EN:
To characterize expertise in Shell program design, one expert and three experienced programmers were observed while designing a "script", i. E. A program written with the UNIX Shell command language. Script design was analyzed as a constraint-management process. The process consists of identifying design constraints. Constraints are especially criteria to be satisfied by the design produc (i. E. The script). Various constraint-management strategies were identified. They are: relaxing, isolating, hierarchizing, and integrating constraint structures. The shell design process revealed three successive steps: understanding the problem, planning the solution, and implementing the solution. This breaking down is all the more apparent since the programmer is expert. The study of planning brought to light two modalities of solution elaborating. While experienced programmers integrate constraints identified progressively, expert programmer integrates a lot of constraints straightaway thanks to language-related knowledge structures representing procedure abstractions. The study of implementation showed that the expert uses a set of techniques which allows him to isolate constraints and to avoid interactions conquently. Expert script design is made from design units which constitute script templates. Templates satisfy more constraints than the only constraints of script operationality which were rather considered by experienced programmers. The templates are progressively fitted to context of use through editing executing phrases. In conclusion, theoretical and practical implications of the study are briefly considered.
Abstract FR:
Pour caractériser l'expertise en conception de programme quatre programmeurs expérimentés, dont un expert, ont été observés lors de la conception d'un script Shell (programme construit à base des commandes UNIX). La conception de script a été analysée comme un processus de gestion de contraintes. Ce processus consiste à identifier et à satisfaire des contraintes. Diverses stratégies de gestion des contraintes sont mises en évidence et analysées: le relâchement, l'isolement, la hiérarchisation et l'intégration dans des structures des diverses contraintes de la conception. Le processus de conception d'un script se décompose en trois phases: la compréhension du problème proposé, la planification d'une solution et la mise en œuvre de cette solution. Cette décomposition est d'autant plus nette que le programmeur est plus expert. L'étude de la planification permet de mettre en évidence deux modalités d'élaboration d'une solution. L'expert dispose de structures de connaissance qui intègrent d'emblée de nombreuses contraintes. Pour l'élaboration de leur solution les autres programmeurs procèdent par intégration des contraintes qui sont progressivement identifiées. Dans la mise en œuvre l'expert utilise des techniques qui lui permettent d'isoler les contraintes et d'éviter ainsi les interactions. La construction du script se fait à partir d'unités de construction qui constituent des gabarits de scripts qui sont au travers de phases d’édition exécution progressivement ajustes au contexte d'utilisation. Les prolongements théoriques et pratiques sont brièvement évoqués.