1 / 48

Méthodologie de développement

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

gamba
Download Presentation

Méthodologie de développement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Méthodologie de développement

  2. Plan • Introduction • Le développement • La qualité • Le SCM • La documentation • Les tests unitaires • Les builds

  3. Introduction A quoi servent les méthodologies ? • Industrialisation • Travail en équipe • Gain de qualité/productivité

  4. Le développement

  5. Plan • L’IDE • Les normes • Les design patterns

  6. L’IDE Visual Studio .net comme clef de voûte. • Architecture ouverte • Intellisense, RAD, connectivité, …

  7. L’IDE Alternatives à Visual Studio .net • SharpDevelop/MonoDevelop • C# Builder

  8. Les normes Indispensables en entreprise, elles s’appliquent : • Au code • A la structure du projet

  9. Normes de code Permettent une lecture commune. • Les différences de casse • Les règles de nom • Les règles de forme

  10. La casse Utilisation des majuscules, minuscules. • Pascal casing • Camel casing

  11. Les règles de nom Permettent d’identifier certains types : • public interface IDisposable {} • public class CustomException {} • public class CustomAttribute {}

  12. Les règles de forme Elles permettent de spécifier • La position des accolades • L’espacement, la tabulation

  13. La structure d’un projet Organisation hiérarchique • Les Entreprise Template Projects Reste toujours le bon sens…

  14. Les design patterns Définition • “Technique efficace et éprouvée de conception orientée objet“

  15. Catalogues de design patterns Les objectifs ? • L’identification • L’efficacité

  16. 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; } } }

  17. La qualité

  18. Plan Deux points à surveiller : • Le design • Le code

  19. La qualité du design L’architecture logicielle : les fondations. • Architecture en couches • Casser le couplage • Séparation des responsabilités

  20. Le design jusqu’à aujourd’hui L’évolution des l’architecture • Le mono poste • Le client serveur • Le 3 tiers

  21. Le design de demain Les évolutions à suivre • Les architectures n-tiers • Les Service Oriented Architecture • La programmation orientée aspect

  22. Mesurer la qualité NDepend analyse la qualité de votre design • Métriques • Graphiques

  23. La qualité du code Implique une vérification continue • Suit un ensemble de règles • Nécessite une rigueur des développeurs

  24. 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

  25. Le SCM(Source Control Management)

  26. Plan • Le principe du SCM • Les principaux outils

  27. 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

  28. 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

  29. 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

  30. Les serveurs de SCM Trois serveurs connus de SCM : • Visual Source Safe (VSS) • Concurrent Versioning System (CVS) • Subversion (SVN)

  31. Les clients SCM Les serveurs disposent de clients qui : • S’intègrent à Visual Studio .net • S’intègrent à l’explorer

  32. La documentation

  33. Quid de la documentation La documentation doit : • Être exhaustive • Prendre place tout du long du cycle de vie du projet

  34. 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

  35. 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

  36. 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

  37. Politique de tests

  38. Le Test Driven Development Le TDD s’articule autour des tests unitaires • “Code, faisant appel à une partie de code, et analysant son comportement“

  39. Les tests unitaires Le principe des tests unitaires : • Classe simple • Mock Objects • Objets factices dont on contrôle le comportement à des fins de test

  40. 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

  41. NUnit Framework de tests unitaires .net • Interface Console • GUI • Plugin Visual Studio.Net

  42. NUnit Écrire une librairie de tests • L’attribut [TextFixture()] • L’attribut [SetUp()] • L’attribut [Test()]

  43. Processus de build

  44. 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

  45. NAnt Célèbre outil de build • Inspiré du monde Java • Grand nombre de tâches disponibles • Compilation • Extraction SCM • Lancement des tests unitaires, …

  46. Le serveur de build Ce dernier permet de : • Centraliser les traitements • Favoriser la correction des erreurs

  47. Récapitulatif

  48. Les étapes • Extraction SCM • Écriture d’un code normalisé • Vérification du code • Documentation • Tests unitaires • Archivage SCM

More Related