Le développement logiciel est une activité intensément collaborative. Les problématiques habituelles de collaboration (organisation des tâches, utilisation des ressources, communication, etc.) y sont exacerbées par le rythme rapide des changements, la complexité et la grande interdépendance des artéfacts, le volume toujours croissant d’informations de contexte à traiter, la distribution géographique des participants, etc. Par conséquent, la question du support outillé de la collaboration se pose plus fortement que jamais en ingénierie logicielle. Dans cette thèse, nous abordons la question de la collaboration sous l’angle de la modélisation et de l’exploitation des processus de développement. Ces derniers sont traditionnellement considérés comme une structure imposée sur le développement d’un produit logiciel. Cependant, une part importante de la collaboration en génie logiciel est de nature ad hoc, faite d’activités non planifiées. Afin de faire contribuer les processus logiciels au support de la collaboration, en particulier celle non planifiée, nous nous intéressons à leur fonction de banques d’information sur les éléments clés de cette collaboration et les interactions entre ces derniers. Notre contribution est, d’une part, un modèle conceptuel du support au développement collaboratif, capable de rendre compte de la structure d’outils classiques comme ceux de gestion de versions ou de gestion de défauts logiciels. Ce modèle conceptuel est ensuite appliqué aux modèles de processus logiciels. Nous définissons ainsi une approche globale d’exploitation des informations de processus pour le support de la collaboration, basée sur les notions centrales de langage de requête d’information et de mécanisme de réaction aux événements. D’autre part, nous proposons un métamodèle, CMSPEM (Collaborative Model-Based Software & System Process Engineering Metamodel), qui enrichit le standard SPEM (Software & System Process Engineering Metamodel) avec des concepts et relations nécessaires au support de la collaboration. Ce métamodèle est outillé avec des outils de création de modèle (éditeurs graphiques et textuels), et un serveur de processus offrant un langage de requêtes basé sur HTTP/REST et un framework de souscription et de réaction aux événements de processus. Enfin, notre approche conceptuelle a été illustrée et validée, en premier lieu, par une analyse des pratiques inférées à partir des données de développement de 219 projets open source. En second lieu, des utilitaires de support à la collaboration (mise à disposition d’informations conceptuelles, automatisation d’actions, extraction d’information sur les contributions individuelles) ont été implémentés à travers le serveur de processus CMSPEM. / Software development is an intensively collaborative activity, where common collaboration issues (task management, resource use, communication, etc.) are aggravated by the fast pace of change, artifact complexity and interdependency, an ever larger volume of context information, geographical distribution of participants, etc. Consequently, the issue of tool-based support for collaboration is a pressing one in software engineering. In this thesis, we address collaboration in the context of modeling and enacting development processes. Such processes are traditionally conceived as structures imposed upon the development of a software product. However, a sizable proportion of collaboration in software engineering is ad hoc, and composed of unplanned activities. So as to make software processes contribute to collaboration support, especially the unplanned kind, we focus on their function of information repositories on the main elements of collaboration and the interactions of such elements. Our contribution, on the one hand, is a conceptual model of collaborative development support, which is able to account for popular tools like version control systems and bug tracking systems. This conceptual model is then applied to software processes. We hence define a global approach for the exploitation of process information for collaboration support, based on the central notions of query language and event handling mechanism. On the other hand, we propose a metamodel, CMSPEM (Collaborative Model-Based Software & System Process Engineering Metamodel), which extends SPEM (Software & System Process Engineering Metamodel) with concepts and relationships necessary for collaboration support. This metamodel is then tooled with model creation tools (graphical and textual editors), and a process server which implements an HTTP/REST-based query language and an event subscription and handling framework. Our approach is illustrated and validated, first, by an analysis of development practices inferred from project data from 219 open source projects. Second, collaboration support utilities (making contextual information available, automating repetitive actions, generating reports on individual contributions) have been implemented using the CMSPEM process server.
Identifer | oai:union.ndltd.org:theses.fr/2013TOU20042 |
Date | 05 July 2013 |
Creators | Kedji, Komlan Akpédjé |
Contributors | Toulouse 2, Université Mohammed V-Souissi (Rabat, Maroc), Coulette, Bernard, Nassar, Mahmoud |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0016 seconds