La formation Conception et Programmation Objet fournit une immersion complète dans la programmation orientée objet (POO), l’Unified Modeling Language (UML) et les Design Patterns.
Les participants bénéficient d’une compréhension approfondie des principes fondamentaux de la POO tels que l’abstraction, l’encapsulation, l’héritage et le polymorphisme.
La formation couvre également la pratique de la modélisation UML, avec des sections dédiées aux diagrammes de classes et de séquences.
Les participants auront la chance de découvrir les Design Patterns GoF et comment les appliquer dans une architecture logicielle.
La formation est pratique, avec des démonstrations et des travaux pratiques pour garantir une application concrète des concepts.
Les participants repartiront avec une application objet complète qu’ils auront réalisée eux-mêmes.
Cette formation est prise en charge jusqu’à 100% par l’OPCO ATLAS.
Inclus dans votre formation en inter-entreprise
Programme détaillé
Les évolutions du modèle de développement logiciel (1 heure)
- 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 ? (1 heure)
- 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 (1 heure)
- 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) (4 heures)
- 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
Processus de développement en mode projet – Introduction au Processus Unifié (1 heure)
- 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 (1 heure)
- 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 (5 heures)
- 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
De l’utilité de modèles robustes et éprouvés (0,5 heure)
- Que sont les Design Patterns ?
- Historique et philosophie
Les Design Patterns GoF (4 heures)
- 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 (1 heure)
- 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 (1,5 heure)
- 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