Pré-requis
Les participants doivent avoir des connaissances générales en informatique, notamment en matière de conception d’applications.
Objectifs
Connaître les concepts essentiels de l’Objet pour faciliter l’approche de tout langage de programmation Orienté Objet Etre capable de différencier l’approche procédurale de l’approche objet, démystifier le vocabulaire. Connaître les manipulations de base des outils de conception et développement (Eclipse, Visual Studio…). Appréhender la modélisation UML pour l’analyse fonctionnelle et technique.
Profil du formateur
Formateur consultant, expert, pédagogue et certifié dans son domaine
Méthode pédagogique
La formation est constituée d’apports théoriques et d’exercices pratiques. Chaque stagiaire dispose d’un poste de travail et la gestion en petit groupe (jusqu’à 8 stagiaires) permet un suivi individualisé et adapté. Durant les sessions de formation, un support pédagogique est remis aux stagiaires.
Suivi, évaluation, sanction
Des tours de table permettent de suivre la progression du stagiaire au fur et à mesure de la formation. Un suivi de la formation est réalisé par une feuille de présence émargée par demi-journée par les stagiaires et le formateur. Un questionnaire de satisfaction et une validation des acquis sont complétés par chaque stagiaire en fin de formation. Formation sans certification.
Plan du cours
Objectifs de la conception Objet
- Historique de l’objet.
- L’objet par rapport à l’approche procédurale.
- Les principes fondamentaux de la conception orientée "objet".
- La nécessité de modéliser, la notation UML, les outils de modélisation.
- L’utilité des design patterns.
La modélisation objet : la notation UML
- Présentation de quelques diagrammes UML illustrant les notions abordées précédemment
- Modèles statiques : diagramme de classe, héritage, diagramme d’objet, représentation des attributs et méthodes privés et publics.
- Modèles dynamiques : représentation des messages entre objets dans un diagramme de séquences.
Les designs patterns
- Présentation des design patterns les plus utilisés : intérêt, cadres d’utilisation
- Les différents types de Design Patterns. Exemple de Design Patterns
- Avantages et limites des Design Patterns
- P. Conception d’une application de gestion commerciale avec l’approche objet et sa modélisation complète avec UML (élaboration du diagramme des cas d’utilisation pour modéliser les besoins, élaboration du diagramme des classes pour modéliser les données)
- P. Modélisation des autres aspects dynamiques et statiques avec les autres diagrammes UML
Conception d'applications objets, industrie de l’objet
- Le vocabulaire : Objet – Composant – Framework
- Les frameworks Java EE et .Net.
- Les langages Objet (Java, C++, C#, VB net, PHP.…).
- L’objet et les bases de données relationnelles. Les frameworks utilisant le design pattern DAO (Hibernate, JPA, ADO.net…)
- Le modèle en couches dans les architectures n-tiers. Le design pattern MVC (Modèle – Vue – Contrôleur), les frameworks implémentant le MVC
- Les objets métier, les composants.
- Le principe de la réutilisation des objets dans différentes applications (client lourd, client léger, client riche).
- Les outils de développement, les IDE (Integrated Development Environment) : Eclipse, NetBeans, Visual studio…
Liens entre les classes : Héritage simple et multiple
- Définition et utilité des liens de généralisation/spécialisation
- Le polymorphisme, la surcharge
- La représentation UML des liens d’héritage
- Les classes abstraites
- Les références à l'objet
- L'héritage multiple et les limites dans les langages Objet
- P. Evolution de notre modèle objet, conception de classes filles, de la classe Produit
- P. Manipulation des méthodes héritées, redéfinition de méthode de la classe mère, méthode abstraite, maîtriser l'intérêt de l'héritage
Les interfaces
- Définition et intérêts des interfaces.
- L'héritage multiple avec les interfaces.
- Les interfaces dans les architectures distribuées
Les tests dans la conception d'applications objets
- Les tests avec les cas d’utilisation d’UML
- Les outils de tests, l’intégration avec les outils de conception et de développement
- Les outils de debug
- Intérêt dans la conception de séparer le conceptuel (le modèle) du visuel (la présentation)
- P. Démonstration des outils, via la mise en œuvre dans l’application de gestion commerciale de la classe Client
Classes – Objets - Instanciation
- Les packages et les espaces de noms, les bibliothèques
- Les classes, les attributs, les méthodes (constructeurs, destructeurs et accesseurs)
- L'instanciation, les objets
- P. Manipuler un outil de développement, écrire du code, mettant en œuvre la classe Produit de la gestion commerciale en respectant le pattern MVC
Encapsulation
- Définition et intérêt
- Visibilité des variables
- Mise en œuvre de l’encapsulation
- P.Modifier la classe Produit en respectant l’encapsulation.
- P.Mettre en œuvre plusieurs constructeurs. Effectuer des tests
- P.Faire évoluer le modèle de la gestion commerciale sans impact sur l’application
Liens entre les classes : Composition, agrégation
- Définition et utilité des liens de composition et d’agrégation
- La représentation UML des liens dans le diagramme de classe
- P.Conception de classes de composition et d’agrégation pour la gestion commerciale
- P.Intégration des liens dans la classe Produit
- P.Impacts sur la maintenance de l’application
- P. Mettre en œuvre un héritage multiple sur les classes filles de notre Produit, en utilisant une interface
- P. Création
Architecture d’entreprise
- Utiliser des frameworks pour construire des applications.
- Organisation en couches
- Les architectures Java EE, .Net, XML
- Les diagrammes UML, diagramme de composants, de déploiement
- P.Intérêt de la conception MVC : notre application de gestion commerciale doit s’utiliser en Web, en application mobile