Le point sur la gestion de configuration Plan : Examen probatoire, soutenu le lundi, 30 mai 2005 par Thomas JGENTI Introduction / Définition Problématique Principes et mécanismes de la GCL Solutions logicielles Mise en œuvre Conclusion 1
Définition > Définition «La gestion de configuration, nommée GCL dans le cadre du développement logiciel, permet de contrôler à tout moment l'état de l'ensemble des composants d'un projet logiciel durant la totalité de son cycle de vie.» 2
Problématique > Définition > Problématique 4 3 2 Nombre de développeurs (maintenance) 1 Temps Gestion de : Modifications de données du projet pendant son cycle de vie; Modifications parallèles de données partagées; 3
Principes : partage de données > Définition > Problématique > Principes Notions : Espace de travail (Workspace); Dépôt (ou Repository); workspace 1 workspace 2 workspace 3 = Repository Serveur 4
Principes : lignes de développement > Définition > Problématique > Principes 4 3 2 Nombre de développeurs (maintenance) 1 Temps Ramifications Branche Tronc principal Fusion de branches Versions : 0.1 0.2 0.3 0.4 1.0 1.1 1.2 1.3 Temps 5
Principes : versions et configurations > Définition > Problématique > Principes Contrôle de version : Versions des composants; Traçabilité des versions; Retour aux versions précédentes; Contrôle de configuration : Version initiale 1.0 Archivage intégral b = c = 1 ; b++ ; a = b + c ; c++ ; Archivage incrémental b = c = 1 ; b++ ; a = b + c ; c++ ; Versions de produits; Distributions de produits; Version 1.1 Ajout à la ligne 4 b = c = 1 ; b++ ; a = b + c ; b = b + a ; c++ ; Ligne4 << b = b + a ; -- >> Source Debug Debug Debug WinXP WinXP WinXP Version 1.2 Suppression à la ligne 2 b = c = 1 ; a = b + c ; b = b + a ; c++ ; Ligne2 << -- b++ ; >> Produit Linux Produit WinXP Produit SunOS Debug SunOS 6
Principes : contrôle de processus > Définition > Problématique > Principes Définition des tâches (changements) et de rôles (personnes); Planification des tâches, des tests et des livraisons; Traçabilité des requêtes de maintenance; Affectation et contrôle des tâches de correction; 7
Principes : aspects importants > Définition > Problématique > Principes! Changement de noms de fichiers/répertoires: Historique; Reconstitution fidèle; Constitution de «set» atomique de changements = tâche; Mode de gestion d accès concurrents; Mode de stockage des fichiers binaires; Algorithme de fusion automatique, outils de fusion manuelle; Efficacité du contrôle de l arborescence des lignes de développement: Propagation des changements entre branches; Création/fusion dynamique des branches; Sécurité des données: sauvegarde, intégrité et contrôle d accès; 8
Solutions logicielles > Définition > Problématique > Principes > Solutions Contrôle de versions Contrôle de configurations Traçabilité des requêtes Gestion de processus Interface graphique ClearCase (option) ChangeMan (option) Synergy VSS (limité) Perforce BitKeeper CVS (limité) * Subversion * Monotone Particularités diverses Gamme de produits Gamme de produits Gamme de produits MS Windows uniquement Performances P2P, Aucune intégration IDE Intégré avec IDE Eclipse CVS amélioré P2P, Version bêta Darcs P2P Make (limité) Standard Ant (limité) Java, intégré avec Eclipse Bugzilla (limité) Application web 9
Mise en œuvre > Définition > Problématique > Principes > Solutions > Mise en œuvre Plan de gestion de configuration standard IEEE 828:1998 Introduction : présentation succincte du plan ; Organisation : identification des autorités responsables de GCL ; Activités : liste d activités de GCL appliquées au projet ; Agenda : planification des activités de GCL et coordination avec les autres activité du projet ; Ressources : identification des ressources humaines, matérielles et logicielles nécessaires à l exécution du plan ; Maintenance du plan : procédure du maintien du plan durant tout le cycle de vie du projet ; 10
Conclusion > Définition > Problématique > Principes > Solutions > Mise en œuvre > Conclusion Intérêt croissant pour la gestion de configuration; Outils logiciels de plus en plus accessibles et performants: Diversité de l offre professionnelle Nombre de projets récents de logiciels libres Caractéristiques des solutions très différentes. Besoin de comparer les approches afin de trouver une solution adaptée ; Importance croissante de l approche de gestion de processus dans les solutions professionnelles; Autres applications de la GCL: gestion de contenus, de documents etc. 11
Bibliographie > Définition > Problématique > Principes > Solutions > Mise en œuvre > Conclusion > Bibliographie Steve Berczuk, Brad Appleton : «Software Configuration Management Patterns», Addison-Wesley, Boston, MA, 2002 «IEEE Standard for Software Configuration Management Plan : IEEE 828-1990», IEEE, New York, NY, 1990 Ueli Wahli, Jennie Brown, Matti Teinonen, Leif Trulsson : «ClearCase Redbook», IBM Corp. 2004. http://ibm.com/redbooks Laura Wingerd, Christopher Seiwald : «High-level Best Practices in Software Configuration Management», article, Perforce Software : http://www.perforce.com/perforce/bestpractices.html Per Cedeqvist : «Version Management with CVS», FSF, 1993-2005 : https://www.cvshome.org/docs/manual http://www.cmcrossroads.com 12