EDITIONS ENI : 01. Conception et programmation objet
Organisme
44812 ST HERBLAIN CEDEXVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Par les stagiaires, qui en début et fin de formation, réalisent une auto-évaluation de leurs connaissances et compétences en lien avec les objectifs de la formation.
Prix
Public
Développeurs, analystes, chefs de projets souhaitant évoluer vers les technologies du développement objet
Pré-requis
Disposer des connaissances de base et d’une expérience en conception d'applications et en développement logiciel.
Objectifs pédagogiques
- Comprendre les principes et les spécificités de la conception Objet
- Passer d'une approche fonctionnelle à une approche Objet
- Savoir modéliser une application à l’aide d’UML (introduction)
- Comprendre l’utilité des Frameworks dans une approche Objet
- Savoir mettre en œuvre des Design Patterns (introduction)
- Mettre en œuvre les concepts objets à travers un programme simple
Programme détaillé
Jour 1 : Les fondamentaux de l’approche objet
Les évolutions du modèle de développement logiciel
• Historique des langages
• Limite des langages non objet
• Quels sont les objectifs d’un modèle de programmation ?
Le modèle objet, oui mais pourquoi ?
• Quels sont les apports du modèle objet ?
• Une analyse plus simple et proche du réel
• Les concepts associés : abstraction, encapsulation, héritage, polymorphisme, …
• Vers une plus grande flexibilité, évolutivité et réutilisation
• Modélisation associée : UML
- Les objectifs d’UML
- Pour commencer : le diagramme de classe, le diagramme de séquence
Les caractéristiques des objets
• Objets et messages
• Relation entre classe et objet
• Encapsulation et réutilisation
• Héritage et polymorphisme
• Classes, classes abstraites et interfaces
Présentation des concepts objets par la pratique (langage C#, Java, C++, Python)
• Démonstration des concepts
• Découverte du code
• Commentaires et échanges
• Travaux pratiques :
- Conception de classes
- Les membres d’instance et les membres de classes
- Création d’objets
- Appel de méthodes et de propriétés d’un objet
- Mise en oeuvre de l’encapsulation avec les modificateurs d’accès
- Bénéfices de l’encapsulation
- Mise en oeuvre de l’héritage
- Surcharges et redéfinitions de méthodes
- Mise en oeuvre des classes abstraites et des interfaces
- Mise en oeuvre du polymorphisme
Jour 2 : Introduction à la modélisation objet avec UML
Processus de développement en mode projet - Introduction au Processus Unifié
• Comment les besoins guident la démarche ?
• Les notions fondamentales du Processus Unifié
- Construction incrémentale et itérative
- Amélioration continue
- Les différentes activités et phases
• Adéquation avec la méthode de gestion de projet Agile Scrum
Présentation d’UML
• Les axes et les vues de modélisation UML
• Présentation générale des différents diagrammes
• Quelle démarche adopter avec UML ?
- Présentation de différentes démarches de modélisation
• Les outils pour UML
- Les fonctionnalités attendues d’un AGL (Atelier de Génie Logiciel)
- Présentation et comparatif de plusieurs outils de modélisation actuels
- La génération de code
Les différents axes de modélisation
• La modélisation des besoins : l’axe fonctionnel
- Des cas d’utilisation au diagramme de cas d’utilisation
- Les éléments de notation du diagramme de cas d’utilisation
• La modélisation des comportements du système et des objets : l’axe dynamique
- Les notions relatives à la modélisation de la dynamique
- Le diagramme de séquence
- Formalisation des scénarii en diagrammes d’interactions
• La modélisation de la structure des objets : l’axe statique
- Le formalisme du diagramme de classe
- Représentation des classes concrètes et classes abstraites
- La notion de stéréotypes
- Les attributs et opérations membres
- Les types de données
- La visibilité des membres
- Les associations entre classes
- L’agrégation et la composition
- La généralisation et la spécialisation : modélisation de l’héritage
• Travaux pratiques :
- Discussion sur les étapes d’analyse permettant l’identification des besoins
- Présentation d’un résultat d’analyse via un diagramme de cas d’utilisation
- Présentation d’un diagramme de séquences
- Identification des classes nécessaires
- Réalisation de diagrammes de classes
Jour 3 : Introduction aux Design Patterns
De l’utilité de modèles robustes et éprouvés
• Que sont les Design Patterns ?
- Historique et philosophie
Les Design Patterns GoF
• Explication de la classification
• Les modèles de construction
- Maîtriser les constructions d’objets
- Fabrique simple
- Fabrique abstraite
- Fabrique en singleton
• Les modèles de structuration : organiser les responsabilités des objets
- Proxy
- Façade
- Adapter
- Composite
• Les modèles de comportement : optimiser la communication entre objets
- Observateur
- Stratégie
- State
- Visitor
Architectures et Design Patterns
• Les composants et les Frameworks
- Vers l'intégration des patterns
• Les couches et les services
- Répartition des responsabilités
- Le modèle MVC
Finalisation de l’application
• Réflexions sur une modélisation existante
- Comment intégrer les Design Pattens en phase de modélisation
• Travaux pratiques :
- Reprise de la modélisation précédemment réalisée
- Intégration de Design Patterns GoF (Singleton, Fabrique, Observer)
- Réflexion sur l’architecture et séparation en couches logicielles
- Application du modèle MVC sur les classes modélisées
- Génération de code et discussions sur le code obtenu