480 likes | 664 Views
Méthodologie de développement. Plan. Introduction Le développement La qualité Le SCM La documentation Les tests unitaires Les builds. Introduction. A quoi servent les méthodologies ? Industrialisation Travail en équipe Gain de qualité/productivité. Le développement. Plan. L’IDE
E N D
Plan • Introduction • Le développement • La qualité • Le SCM • La documentation • Les tests unitaires • Les builds
Introduction A quoi servent les méthodologies ? • Industrialisation • Travail en équipe • Gain de qualité/productivité
Plan • L’IDE • Les normes • Les design patterns
L’IDE Visual Studio .net comme clef de voûte. • Architecture ouverte • Intellisense, RAD, connectivité, …
L’IDE Alternatives à Visual Studio .net • SharpDevelop/MonoDevelop • C# Builder
Les normes Indispensables en entreprise, elles s’appliquent : • Au code • A la structure du projet
Normes de code Permettent une lecture commune. • Les différences de casse • Les règles de nom • Les règles de forme
La casse Utilisation des majuscules, minuscules. • Pascal casing • Camel casing
Les règles de nom Permettent d’identifier certains types : • public interface IDisposable {} • public class CustomException {} • public class CustomAttribute {}
Les règles de forme Elles permettent de spécifier • La position des accolades • L’espacement, la tabulation
La structure d’un projet Organisation hiérarchique • Les Entreprise Template Projects Reste toujours le bon sens…
Les design patterns Définition • “Technique efficace et éprouvée de conception orientée objet“
Catalogues de design patterns Les objectifs ? • L’identification • L’efficacité
Exemple de design pattern Comment s’assurer qu’il n’existe qu’une instance d’une classe : Le Singleton public class Singleton { private Singleton() {} private static Singleton m_instance; public static Singleton Instance { get { if (m_instance == null) m_instance = new Singleton(); return m_instance; } } }
Plan Deux points à surveiller : • Le design • Le code
La qualité du design L’architecture logicielle : les fondations. • Architecture en couches • Casser le couplage • Séparation des responsabilités
Le design jusqu’à aujourd’hui L’évolution des l’architecture • Le mono poste • Le client serveur • Le 3 tiers
Le design de demain Les évolutions à suivre • Les architectures n-tiers • Les Service Oriented Architecture • La programmation orientée aspect
Mesurer la qualité NDepend analyse la qualité de votre design • Métriques • Graphiques
La qualité du code Implique une vérification continue • Suit un ensemble de règles • Nécessite une rigueur des développeurs
Vérifier la qualité FxCop pour surveiller le bon respect des règles • Utilise les règles du framework .net • Permet de créer vos propres règles
Plan • Le principe du SCM • Les principaux outils
Le principe du SCM Indispensable pour une équipe, il permet en particulier de : • Gérer les conflits d’accès • Garde chaque version des fichiers • Centraliser l’accès aux sources
Les actions du client Principales actions du client SCM • checkout : récupérer un projet en local • commit : envoyer une nouvelle version d’un fichier • update : récupérer la dernière version d’un fichier
Le serveur de SCM • Le serveur doit • Être sauvegardé • Gérer les droits d’accès des développeurs • Ne doit pas • Être un poste de développement
Les serveurs de SCM Trois serveurs connus de SCM : • Visual Source Safe (VSS) • Concurrent Versioning System (CVS) • Subversion (SVN)
Les clients SCM Les serveurs disposent de clients qui : • S’intègrent à Visual Studio .net • S’intègrent à l’explorer
Quid de la documentation La documentation doit : • Être exhaustive • Prendre place tout du long du cycle de vie du projet
De l’utilité de la documentation Une bonne documentation du code va : • Implicitement améliorer la qualité du code produit • Faciliter le travail en équipe • Rassurer tous les acteurs du projet
Les commentaires XML Le compilateur C# et Visual Studio permettent d’écrire des commentaires sous forme XML • Activable par la saisie de /// • Permet l’exportation du fichier généré vers différents outils
L’outil NDoc • Génère une documentation type MSDN • Prend en entrée un fichier XML VS.Net • Peut s’intégrer dans un processus de build
Le Test Driven Development Le TDD s’articule autour des tests unitaires • “Code, faisant appel à une partie de code, et analysant son comportement“
Les tests unitaires Le principe des tests unitaires : • Classe simple • Mock Objects • Objets factices dont on contrôle le comportement à des fins de test
Les tests unitaires D’un point de vue extrême : • Écrire les tests avant les classes cibles • Solidifie le développement • Coûteux en temps et en ressources
NUnit Framework de tests unitaires .net • Interface Console • GUI • Plugin Visual Studio.Net
NUnit Écrire une librairie de tests • L’attribut [TextFixture()] • L’attribut [SetUp()] • L’attribut [Test()]
Quelle utilité ? Un processus de build permet de : • D’effectuer toutes les étapes du projet de manière automatique • Effectuer ces étapes indépendamment des outils utilisés
NAnt Célèbre outil de build • Inspiré du monde Java • Grand nombre de tâches disponibles • Compilation • Extraction SCM • Lancement des tests unitaires, …
Le serveur de build Ce dernier permet de : • Centraliser les traitements • Favoriser la correction des erreurs
Les étapes • Extraction SCM • Écriture d’un code normalisé • Vérification du code • Documentation • Tests unitaires • Archivage SCM