IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

NMaven dans la software-factory .NET


précédentsommairesuivant

III. Avantages de la gestion du cycle de vie logiciel avec NMaven

Ce chapitre va nous permettre de voir les différents avantages que NMaven nous apporte. Il s'agit en réalité des mêmes avantages qu'apporte Maven dans le monde Java.

III-1. Convention, puis configuration

Un des premiers avantages de NMaven est qu'il place au devant un certain nombre de conventions. C'est après cela que viennent les configurations, ce qui est tout le contraire de plusieurs outils (NANT notamment).

Ceci a l'avantage que:

- la convention étant connue de tous, la prise en main d'un nouveau code est plus aisée.

- la maintenance du code est plus facile, car les utilisateurs se sentent obligés d'utiliser les mêmes méthodes et les mêmes approches.

- avec un minimum de configuration (à la limite une configuration par défaut), vous pouvez réaliser un projet sans difficultés.

- cela évite aussi d'avoir à se perdre dans des configurations très complexes.

Selon la convention, l'organisation par défaut du code source est la suivante:

Figure 1 : organisation du code source avec NMaven
Figure 1 : organisation du code source avec NMaven



- src\main\csharp: répertoire où sont rangés les fichiers sources.
- src\main\resource: répertoire où sont rangées les ressources.
- src\main\config: répertoire où sont rangées les configurations.
- src\main\win32Icon: ou est rangé l'icône de l'application.

- src\test\csharp: source pour les tests.
- src\test\resource: les ressources pour les tests.
- src\main\config: répertoire où sont rangées les configurations.

Dit de cette façon cela est un peu trivial. Mais avec un outil comme Nant, il faut encore faire cette réflexion.

NMaven ne s'arrête pas là. Il définit un cycle de vie des projets et un ensemble de plugin par défaut qui savent comment compiler et assembler des types de projets. Il suffit juste de respecter les conventions pour n'avoir ni à faire, ni à réfléchir ou à définir aucune configuration que ce soit.

Il est à bien noter que ces conventions peuvent être customisées en fonction de vos besoins. Ceci passera par une configuration et/ou par un plugin que vous aurez écrit ou alors qui est disponible sur la toile.

III-2. Interfaces communes

Pour chaque projet .NET non géré par NMaven, il faudra toujours prendre du temps pour comprendre l'organisation des fichiers et aussi quels sont les outils nécessaires pour réaliser les compilations et les assemblages.

Avec l'outil NMaven les choses sont différentes car il suffira à chaque utilisateur d'apprendre simplement les conventions de cet outil et il pourra du même coup comprendre et intégrer sans difficulté un projet géré par NMaven.

III-3. Centralisation de la définition du projet: pom.xml

Toutes les informations principales que NMaven utilise pour builder le projet se trouvent centralisées dans un fichier pom.xml (fichier de configuration du projet).

Ce fichier contient la déclaration des dépendances du projet ainsi que les plugins particuliers que ce projet utilise. On y renseigne aussi la version du projet, la liste des développeurs etc.

III-4. Meilleure gestion des dépendances

Lorsqu'on travaille avec Nant ou tout autre système de build, on est obligé de renseigner toutes les dépendances du projet. De plus très souvent le développeur est obligé d'embarquer toutes les .dll dans son projet.

Avec NMaven, plus besoin d'embarquer les dll dans son projet : en effet, les .dll sont stockées dans un repository et le projet les référence à partir de cet endroit.

Un autre avantage de taille est la gestion des dépendances transitives : en effet, avec tout autre outil, si le projet dépend de A et que A dépend à son tour de B et C, alors on est obligé de renseigner A, B et C au niveau des dépendances du projet. Avec NMaven on bénéficie de la gestion des dépendances transitives. C'est-à-dire que dans notre cas précédent eh bien on renseigne juste A comme dépendance et NMaven lui-même détectera automatiquement que A dépend de B et C et donc résoudra cette dépendance transitive automatiquement.

III-5. Gestion robuste de la qualité du projet

Il est possible d'étendre les fonctionnalités de NMaven via l'intégration de divers plugins. On obtient alors des fonctionnalités de suivi de la qualité du projet via la génération des rapports suivants:

- rapport d'exécution des tests unitaires Nunit.

- rapport de couverture de code par les tests unitaires Nunit.

- rapport sur le respect des conventions de codage.

- rapport permettant d'analyser le code afin de trouver les problèmes potentiels tels que: le code mort, le code non optimal, les expressions trop compliqués.

- rapport indiquant si le code est bien documenté.

III-6. Meilleure gestion du cycle de vie d'un projet: gestion des releases, gestion des livraisons sur divers environnements

NMaven en interagissant avec le système de contrôle de version de sources (SVN, CVS, etc.), permet une gestion efficace et automatique des release d'un projet. Les commandes intervenant dans le mode opératoire pour la gestion des release avec NMaven sont décrites dans la partie . NMaven permet aussi une gestion automatisée de la livraison des releases sur divers environnements (cf commandes décrites dans le )


précédentsommairesuivant