Des outils pour le développement logiciel

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

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