Formation : Agile Programming: Design Patterns and Principles
Se former
avec LEARNING TREE INTERNATIONAL
- Renseignements :
- Durée : 3 Jours
- Type : En centre (inter)
- Diplômant : Non
- Prix H.T. € :
N.C.
- Objectifs :
- Développer des itérations et livrer des versions adaptables basées sur les méthodologies agiles
Réduire les bogues et augmenter la productivité grâce au développement piloté par les tests et grâce aux tests unitaires
Refactoriser le code existant pour faciliter la maintenance et améliorer la conception
Obtenir une conception de qualité en adoptant des principes de codage établis
Simplifier les problèmes de programmation complexe avec des patterns
Adopter les meilleures pratiques pour gérer avec succès des projets agiles
La programmation agile est une démarche qui réduit le temps de développement tout en augmentant les collaborations. Elle assure un produit final qui a été validé à chaque stade du développement afin de garantir sa fiabilité. Cette formation vous permet de maîtriser les bases des principes de la programmation agile. Grâce à une étude de cas complète, vous acquerrez les connaissances et les compétences pratiques nécessaires pour planifier, coder et mettre en œuvre un projet de développement logiciel agile.
- Public visé :
- Aux architectes logiciels, programmeurs et responsables techniques expérimentés.
- Pré-requis :
- Des connaissances des concepts de la programmation orientée objet ainsi qu'une expérience dans un langage de programmation moderne tel que VB, Java ou C# sont supposées acquises.
- Introduction et vue d'ensemble
Adopter les bonnes pratiques du Manifeste Agile
Comparer les méthodologies de développement logiciel traditionnelles et agiles
Identifier les principes et les pratiques agiles
Planifier la livraison d'une version
Établir le projet
Reconnaître la structure d'une équipe agile
Programmeurs
Managers
Clients
Développer une base avec des scénarios utilisateur
Expliciter les exigences de l'application
Recueillir les scénarios utilisateur
Reconnaître les bons scénarios utilisateur
Estimation et ''Planning Game''
Faire le distinguo entre version et itération
Sélectionner avec le client des scénarios utilisateur et leur attribuer des priorités
Définir une unité d'estimation
Estimer la vélocité de l'équipe pour les versions et les itérations
Le processus de codage agile
Attribuer des priorités aux tâches pour une conception cohésive
Écrire les tests, écrire le code, refactoriser
Allouer du temps pour des apprentissages rapides de technologies
Produire des logiciels adaptatifs grâce au développement piloté par les tests
Piloter le processus de conception avec des tests automatisés
Écrire un test d'acceptation utilisateur
Obtenir un test opérationnel
Exécuter les tests
Intégrer les tests unitaires
Différencier tests utilisateur et tests unitaires
Développer des suites de tests efficaces
Obtenir des ''feux verts'' grâce aux tests continus
Optimiser le développement piloté par les tests
Concevoir un test unitaire simple, isolé et rapide
Isoler des classes pour tester efficacement
Créer des objets factices pour tester
Refactoriser pour une conception élégante
Flairer les symptômes de dysfonctionnement du code
Logique conditionnelle
Duplication de code
Code nécessitant des commentaires
Améliorer le code par refactorisation
Renommage des champs et des méthodes
Extraction des méthodes et des classes de base
Programmation par intention
Suppression de la logique conditionnelle
Intégrer les principes de la programmation orientée objet
Adopter les principes des bonnes pratiques
Le principe de responsabilité unique (SRP, Single Responsibility Principle)
Le principe d'ouverture-fermeture (OCP, Open/Closed Principle)
Le principe d'inversion des dépendances (DIP, Dependency Inversion Principle)
Le principe de substitution de Liskov (LSP, Liskov Substitution Principle)
Faire évoluer la conception grâce à la généralisation
Déléguer les responsabilités des classes
Mettre en œuvre des comportements polymorphiques
Préférer la composition à l'héritage
Simplifier des problèmes d'architecture complexes avec des design patterns
Présentation des design patterns
Patterns créateurs, structuraux et comportementaux
Garantir la correction d'une conception adaptable
Intégrer des design patterns aux processus agiles
Patron de méthode, Adaptateur, Stratégie, Singleton et Fabrication
Redéfinir les comportements avec des méthodes abstraites et virtuelles
Partager des fonctionnalités avec des champs et des méthodes de classe
Gérer un projet dans l'esprit du Manifeste Agile
Livrer la première itération
Planifier l'itération suivante
Adapter la démarche agile à votre méthodologie de développement
Tout au long de la formation, des activités de mise en situation et sur PC vous immergeront dans la simulation d'un authentique projet de programmation agile. Vous effectuerez des tâches critiques, notamment :
Interviewer des clients pour générer des scénarios utilisateur
Estimer les scénarios utilisateur et leur attribuer des priorités
Participer à une ''spike session'' pour découvrir une nouvelle technologie
Écrire des tests et du code pour concrétiser les scénarios utilisateur
Refactoriser le code pour éliminer le code douteux afin d'obtenir une conception élégante
Éliminer les faiblesses pour faciliter la maintenance grâce aux principes de codage orientés objet
Mettre en œuvre une architecture adaptable en employant des design patterns
Livrer un logiciel par itérations fréquentes
10/09/2008 au 12/09/2008 (59)
19/11/2008 au 21/11/2008 (59)