Gestion de configuration

Principes de la GCL

La gestion de configuration du logiciel (GCL) permet de connaître à tout moment l'état de l’ensemble des composants du projet en contrôlant des évolutions du logiciel durant la totalité de son cycle de vie. La gestion de configuration permet d’archiver des " états stables " successifs des produits et de vérifier la complétude et la cohérence de ces " états ". La GCL permet aussi de maîtriser les changements (traçabilité) et disposer de jalons permettant des restaurations.


Très utile pour tous types de développements, un bon outil de gestion de configuration devient très vite indispensable pour les projets développés en équipe ou soumis à de nombreuses évolutions. Il existe un grand nombre d'outils commerciaux destinés à la gestion de configuration. Mais aussi de très bons outils libres tels que RCS ou CVS (qui fournissent de très bonnes bases de travail si on y ajoute quelques règles d'utilisation).

La GCL fournit un mécanisme d’identification, de maîtrise et de suivi des versions de chacun des éléments identifiables constituant les différents produits constituant l’application. La GCL permet de contrôler les évolutions durant le cycle de vie, d'archiver chacun des états successifs et de vérifier que chacun de ces états est complet et cohérent.

L’objectif de la GCL est d’éviter les modifications intempestives, les livraisons d’ensembles non cohérents et les pertes d’informations. Pratiquement, la GCL consiste à :

  • contrôler les modifications apportées à chaque composant d'un logiciel,

  • enregistrer les principes d’associations des composants pour une version de logiciel.

  • Dans un environnement de développement logiciel, un système complet de GCL permet aux développeurs de gérer des tâches et des espaces de travail multiples, de développer et de fabriquer des logiciels en parallèle mais en parfaite cohésion, de partager des fichiers devant être communs et d'isoler des fichiers spécifiques pertinents pour certaines tâches, et enfin de régénérer des versions antérieures spécifiques. Une solution de GCL regroupe quatre principales fonctions couvrant : l’espace de travail, les processus de développement, les composants du produit, les versions. La notion de " configuration " comprend l’ensemble des composants du système (matériel, logiciel et documentation). Les principaux éléments de " configuration " sont les suivants :

  • la documentation relative au projet recensée dans le chapitre Documentation (reçue ou émise),

  • les environnements de développement, de recette et d'exploitation, comprenant, a minima, la liste complète des composants logiciels et progiciels,

  • les jeux d'essais, les données et les procédures de test,

  • les programmes sources et exécutables et les procédures de lancement associées.

  • La gestion de la configuration est sous la responsabilité du chef de projet ou de l’intégrateur. Chaque élément de la configuration est caractérisé de manière unique par un identificateur. Les règles d'évolution des composants du logiciel (configuration et paramétrage du prototype, programmes liés aux compléments spécifiques, reprises et interfaces, jeux d'essais) seront précisées avant la phase de Construction. L'espace de travail est situé sur un serveur sous le répertoire PROJET X. Un principe d’arborescence est décrite dans le Tableau 13. — Gestion structurée manuelle des documents.

    Tableau 13. — Gestion structurée manuelle des documents

    Répertoire

    Sous-rép.

    Fonction

    \DOCUMENT

    Documents de travail MOE

    \LIVRABLE

    \DOC

    Documents livrables MOE

    \LIVRABLE

    \LOG

    Logiciel livré en recette

    \PILOTAGE

    \PLAN

    Plannings (références, mises à jour)

    \PILOTAGE

    \TBB

    Tableaux de bord, Note pilotage

    \PILOTAGE

    \CR

    Comptes-rendus des comités

    \MODELE

    \IMPR

    Modèles des documents utilisés

    \MODELE

    \TBB

    Modèles de tableaux de bord

    \GLOSSAIRE

    \

    Analyse fonctionnelle

    \APPLI

    \

    Logiciel

    \RGE

    \

    Règles de gestion externes

    \TRANSMIS

    \

    Espace de communication MOE et externes (MOA, etc.) servant pour les notes et courriers

    \NOTE

    \

    Documents émis

    En préalable à chaque livraison ou focus, le membre de l’équipe projet responsable de l’intégration procède à cette opération en respectant un mode opératoire de fiabilisation et de sécurisation (Figure 3. — Mode opératoire d'une intégration manuelle).

    La GCL a pour objet principal de gérer le flux de modifications qui affecte les modules de l’application. La GCL doit permettre d’ordonnancer avec une sécurité maximum et une déperdition de temps minimum les opérations de réassemblage qui surviennent à chaque intégration. Plus simplement, en pratique, il faut convient de prévoir un environnement distinct pour :

  • le développement,

  • l'intégration,

  • la recette fonctionnelle,

  • la recette technique,

  • la formation des utilisateurs,

  • la production.

  • Au-delà des aspects évidents, les enjeux de la GCL englobent la productivité des développeurs jusque dans les aspects les plus prometteurs tels que la réutilisation de composants.

    Figure 3. — Mode opératoire d'une intégration manuelle

    Dans certains projets, une GCL manuelle mais rigoureuse sera suffisante. Le membre du SWAT chargé de l’intégration en aura la responsabilité. Dans les grands projets, une instrumentation pourra être utile ou nécessaire. L’intégrateur à chaque opération significative devra, d’autre part, exécuter des procédures de vérification de non-régression. La gestion des demandes de changements elle-même peut ainsi être automatisée dans le cadre de la GCL.

    La nécessité de livrer partiellement ou en " fonctionnalités réduites " ainsi que l’obligation de maintenir les composants livrés parallèlement à leur évolution rend rapidement pratique et rentable la mise en œuvre d’un outil de GLC.


    www.RAD.fr ® © Jean-Pierre Vickoff