Public
Concepteurs, développeurs, architectes ou chefs de projet.
Pré-requis
Connaissance d'un langage Objet.
Objectifs
- Acquérir une compréhension approfondie des principes fondamentaux de la conception orientée objet.
- Appliquer de manière compétente les règles essentielles pour découper une application en packages.
- Mettre en œuvre les principes de construction de classes d'une application de manière efficace.
- Exercer concrètement le développement piloté par les tests pour garantir une qualité robuste du code.
- Implémenter de manière pratique les principaux Design Patterns pour optimiser la conception logicielle.
Programme
Jour 1: Introduction au Design et Fondamentaux de la POO
(9h00 - 10h30): Présentation du design et rappel des fondamentaux de la POO et d'UML. (10h30 - 12h00)Les apports d'UML pour la conception et les enjeux de la conception. 13h30 - 17h00): Utilisation de l'héritage, avantages et inconvénients.
Jour 2: Principes Fondamentaux en Conception Objet
(9h00 - 10h30): Principes d'ouverture/fermeture (OCP) et de substitution de Liskov (LSP). (10h30 - 12h00): Concept de polymorphisme, de couplage faible et de forte cohésion. 13h30 - 17h00): Impact de la conception objet sur les projets et travaux pratiques sur le découpage des responsabilités entre les classes.
Jour 3: Construction des Classes et Organisation en Packages
(9h00 - 10h30): Gestion des dépendances avec l'inversion de dépendance (DIP). (10h30 - 12h00): Réduction de la complexité apparente par la séparation des interfaces (ISP) et répartition des responsabilités avec le GRASP. 13h30 - 17h00): Principes d'organisation en packages, travaux pratiques sur la construction et la hiérarchisation des packages.
Jour 4: Développement Piloté par les Tests et Design Patterns
(9h00 - 10h30): Approche Test Driven Development (TDD) versus approche Model Driven Engineering (MDE). (10h30 - 12h00): Écriture des cas et de suites de tests, attribution des responsabilités aux composants logiciels via l'approche TDD. 13h30 - 17h00): Principes des Design Patterns, périmètre, avantages et limites, travaux pratiques avec des exemples de conception, refactorisation et programmation avec des patterns GoF.
Jour 5: Architecture Logicielle, Patterns Architecturaux, et Processus de Développement
9h00 - 10h30: Des exigences à l'architecture, styles architecturaux. 10h30 - 12h00 : Patterns de distribution, patterns de conception de systèmes. 13h30 - 17h00Processus de développement, conception dans un processus itératif et incrémental, le manifeste Agile, XP, Scrum.
Bilan global de la formation. Auto-évaluation des compétences acquises. Élaboration d'un plan d'action individuel pour appliquer les connaissances dans des projets futurs
Méthodes Pédagogiques:
- Apports théoriques illustrés par des exemples de code.
- Réalisation d'un mini-projet (70% de travaux pratiques).
