Des outils pour le développement logiciel Make CMT Svn Doxygen …
Voici un espace de travail pour développer une application informatique
Le premier outil à notre disposition est un bon éditeur de code Espace de travail Éditeur code
Mais le but est de construire une application… Espace de travail code Éditeur application
… qui, sans doute, utilise des librairies. L’outil make va automatiser ce processus Espace de travail code Éditeur application librairie make
Espace de travail code Éditeur application documentation Doxygen librairie Il est essentiel aussi de maintenir une documentation à jour. Doxygen va automatiser cette opération directement à partir du code source make
SVN va sauvegarder les évolutions de notre développement Espace de travail code Éditeur SVN repository application make documentation Doxygen librairie
On peut aussi installer les produits de notre développement On peut aussi installer les produits de notre développement. Il existe de nombreux outils comme PKG, RPM, Pacman repository SVN librairie Espace de travail Espace d’ installation Éditeur documentation librairie application application Doxygen make code code
SVN Espace de travail code Éditeur application documentation Doxygen Espace d’ installation librairie CMT repository Pour structurer et contrôler tout cet ensemble, nous allons utiliser CMT qui définit et contrôle l’ensemble de la configuration de notre environnement de développement make
Éditeur Editeur de texte multi-buffer peut éditer plusieurs fichiers simultanément Colorisation du texte en fonction du langage C++ CMT (éventuellement) etc… Utilisation par la souris ou par raccourcis clavier
Make Contrôle l’activation d’outils de construction concernant plusieurs cibles corrélées: Compilations de plusieurs sources pour obtenir une librairie Construction d’une application à partir de plusieurs librairies Génération de code Génération de documentation Sait enchaîner les étapes de reconstructions selon une séquence logique Interprète les dates de modifications respectives Configuration très puissante Mais très complexe en général Requiert des outils de niveau supérieur Voir CMT a.exe : x.o y.o z.o <édition de lien> x.o : x.cxx <compilation> y.o : y.cxx z.o : z.cxx
CMT La configuration d’un projet logiciel: CMT s’appuie sur Identifie toutes les ressources du projet Les sources Les produits Les données Les conditions dans lesquels ces ressources sont utilisées La structure d’organisation Décomposition en packages, projets, etc… Contrôle les évolutions de ces ressources Gestion des versions Transformations d’un élément dans un autre Outils de transformation Phases du cycle de vie CMT s’appuie sur Une décomposition du projet en packages Une description de la configuration de chaque package dans un document texte (fichier requirements) pour piloter les outils impliqués dans le développement
CMT Identification : On définit la structuration des projets en: Packages Domaines Sous-projets On affecte de la sémantique aux ressources «À quoi est utilisé tel document » un fichier C++ sert à construire une librairie un fichier HTML fait partie de la documentation un fichier de données est une entrée pour les tests de régression une application est le générateur de code etc… On déclare les dépendances entre packages ou sous-projets dépendances structurelles (groupements) dépendances fonctionnelles dépendances opérationnelles (entre versions individuelles)
CMT Contrôle: On définit les actions à appliquer sur chacun des éléments: comment construire les librairies, les applications (compilation, édition de lien, ...) comment générer la documentation comment piloter les tests comment activer les applications utilisateurs... On définit les paramètres de configuration et on leur affecte des valeurs selon les contextes: selon les plateformes (Unix, Windows, etc...) selon les sites (LAL, CERN, ...) selon les modes opératoires (compiler en mode debug, utiliser ou non du graphique, utiliser un DBMS, ...) selon les phases de la construction du projet (construction, tests, déploiement, retirement) On applique ces valeurs pour piloter les outils de la production du logiciel Svn, Make, Doxygen, les tests
Utilisation de CMT . Initialisation de CMT Création d’un package shell requirements texte Initialisation de CMT Création d’un package Analyser les répertoires créés On veut construire une application éditer monpackage/v1/cmt/requirements Création du fichier source ../src/bonjour.cxx Construction de l’application Lancement de l’application > source /.../CMT/v1r18p20051108/mgr/setup.sh > cd /mon/espace/de/travail > cmt create monpackage v1 package monpackage application bonjour bonjour.cxx #include <iostream> int main () { std::cout << « Bonjour" << std::endl; return 0; } > cmt make > cmt run ../$CMTCONFIG/bonjour.exe Bonjour