Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Développement > La conception orientée objet

La conception orientée objet

Cette formation permet d'acquérir les connaissances de base solides sur la conception objet et celle basée sur les composants, en manipulant des outils de conception et de développement.  Elle présente et démystifie le vocabulaire de cette technologie, souvent considéré, par les développeurs de l'approche procédurale, comme complexe. Les participants seront capables de comprendre et de raisonner en classes et objets, d'appréhender la notation UML et la nécessité de la modélisation. Il s'agit d'assimiler les architectures et technologies objets avant d'entreprendre l'étude d'un langage objet ou des développements "orientés objets".

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.

Public

  • Cette formation s'adresse aux développeurs, concepteurs, chefs de projets ouarchitectes techniques.

Prérequis

  • Les participants doivent avoir des connaissances générales en informatique, notamment en matière de conception d'applications.

Programme de la formation

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
  • T.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)
  • T.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
  • T.P. Evolution de notre modèle objet, conception de classes filles, de la classe Produit
  • T.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)
  • T.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
  • T.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
  • T.P.Modifier la classe Produit en respectant l'encapsulation.
  • T.P.Mettre en œuvre plusieurs constructeurs. Effectuer des tests
  • T.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
  • T.P.Conception de classes de composition et d'agrégation pour la gestion commerciale
  • T.P.Intégration des liens dans la classe Produit
  • T.P.Impacts sur la maintenance de l'application
  • T.P. Mettre en œuvre un héritage multiple sur les classes filles de notre Produit, en utilisant une interface
  • T.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
  • T.P.Intérêt de la conception MVC: notre application de gestion commerciale doit s'utiliser en Web, en application mobile