Cadre de conception multi-perspectives pour la modélisation des processus de génie logiciel

RESUME La litterature scientifique rapporte abondamment les cas de projets de developpement logiciel qui debordent de leurs planifications, depassent les ressources allouees et presentent une faible qualite. Les chercheurs et les praticiens essayent ensemble de resoudre cette « crise » du logiciel. L‘amelioration des processus de developpement est un des moyens fondamentaux pour ameliorer la qualite du logiciel et atteindre une efficacite organisationnelle. La modelisation des processus est un des leviers de cette amelioration. La modelisation des processus est une discipline du genie logiciel qui soutient la conception et la maintenance des processus1. Elle explicite les pratiques de developpement pour pouvoir les etudier, les ameliorer et les utiliser de maniere repetable, gerable et possiblement automatisable. Les techniques de cette discipline ne cesse d‘evoluer en passant des processus maison peu profonds et informels des annees 1960 aux processus bases sur le paradigme oriente-objet. L‘evolution des langages de modelisation des processus (PML) est supportee par l‘evolution des paradigmes2 du genie logiciel. Alors que cette evolution des langages est clairement marquee au niveau de la syntaxe definissant les composants structurant les processus, elle est moins marquee sur le plan de la semantique qui reste relativement abstraite et manque d‘une description formelle clarifiant le sens et l‘intention des modeles de processus. L‘aspect semantique permettrait pourtant de considerer differentes preoccupations du gestionnaire d‘un projet informatique selon des perspectives distinctes (ex. productivite, connaissances, risques, CMMI, etc.). Dans ce projet de recherche, nous proposons un nouveau cadre de modelisation conceptuelle, en complement a une description textuelle, des processus dans le but de produire des modeles de processus adaptes au contexte du projet a developper. Sur le plan theorique, nous proposons un enrichissement semantique pour considerer differentes perspectives. Nous avons adopte une approche ontologique pour formaliser le concept de relations attribuees entre les composants structurant un modele de processus. Sur le plan pratique, nous proposons un nouvel outil qui supporte la modelisation nomme : « Domain-Specific-Language for Software Process Modeling » (DSL4SPM). En plus de la perspective de modelisation orientee-Activites conforme au standard SPEM, l‘outil DSL4SPM offre trois autres perspectives : Gestion des connaissances, simulation et alignement avec le CMMI. ----------ABSTRACT Cost and schedule of software projects are often overrun. This fact is closely-related to the software process and less to the final product as acknowledged by researchers and practitioners (Boehm, 1991; Barros et al., 2004; Roy, 2004; McConnell, 2009). However, it is also acknowledged that the software production is human and knowledge-intensive process, which means the nature of uncertainty. In order to build efficient process modeling tools, there is a need for conceptualization of process models to address different concerns such as a breakdown structure of activities, knowledge, simulation, alignment with CMMI practices and so on. Addressing those concerns provide a context for analysis, assessment and enhancement of process models, which in turn enhance the quality of software projects. One attempt to enhance the process modeling flexibility has been made with the tool called DSL4SPM (Domain-Specific Language for Software Process Modeling). DSL4SPM was developed and applied to bring order and structure to the software development process. It implements the Software & Systems Process Engineering Meta-model (SPEM 2.0) specification, and is characterized by: 1) a conceptual framework for designing processes in an abstract way; and 2) multi-view-oriented process modeling, which acknowledges the relevance of a multitude of issues in a process model. The conceptual framework emphasizes the relationships among the SPEM elements.