Plan du cours

QA/CI

  • Qu'est-ce que le QA (Assurance Qualité) ?
  • Qu'est-ce que le CI (Intégration Continue) ?
  • Les coûts du développement logiciel, du refactoring et de la correction des erreurs
  • L'identification et la compréhension du projet
  • Le bénéfice pour l'organisation

DDD

  • Développement logiciel basé sur les exigences et hypothèses de l'entreprise (DDD)
  • Problèmes de communication entre IT et le Business
  • Modèle de domaine

Bonnes Pratiques

  • Principe KISS (Keep It Simple, Stupid) et DRY (Don't Repeat Yourself)
  • Normes de codage
  • Création de code réutilisable grâce à l'OO (Programmation Orientée Objet) et aux motifs de conception
  • Identification et réduction de la complexité cyclomatique

Métriques Logicielles

  • Poids Méthode par Classe
  • Réponse pour une Classe
  • Profondeur de l'Arbre d'Héritage
  • Couplage entre Objets
  • Panache de Cohésion des Méthodes
  • Nombre d'Enfants
  • Complexité cyclomatique
  • Métriques de classe
  • Métriques de modèle
  • Métriques pour l'utilisation

Tests Logiciels

  • Quoi, quand et comment tester ?
  • La méthode "boîte blanche" et "boîte noire"
  • Le rôle des tests dans les méthodologies agiles
  • TDD (Test-Driven Development) : une augmentation potentielle du coût du projet
  • Tests unitaires avec JUnit (Java), PHPUnit (PHP)
  • Tests comportementaux avec JBehave (Java), Behat et Mink (PHP)
  • Tests fonctionnels

Refactoring

  • Qu'est-ce que le refactoring ?
  • Dette technique
  • Sentinelles de code (code smell)
  • Motifs de refactoring

Documentation

  • Le rôle de la documentation dans les méthodologies agiles
  • Que faut-il documenter ?
  • Documentation et méthodologies agiles, ou peut-on dire (Logiciel fonctionnel plutôt que documentation exhaustive) ?
  • Norme XMI
  • Génération automatique de la documentation à partir de Javadoc (Java), ApiGen (PHP)

Outils et Environnement CI

  • Outils et Environnement CI
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Compteur de Lignes de Code (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Jenkins, Serveur d'Intégration Continue

Agile et CI/QA

  • Planification et développement incrémentiel
  • Accueil du changement
  • Stades courts
  • Équipe interdisciplinaire
  • Extreme Programming, revue de code
  • Individus et interactions plutôt que processus et outils

Synthèse

  • Débat
  • Questions
  • Comment commencer le processus de mise en œuvre ?

Pré requis

Connaissance des processus de développement de logiciels

 14 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (5)

Cours à venir

Catégories Similaires