Aller au contenu principal

PLB CONSULTANT : 01. Conception et programmation objet

Organisme

PLB CONSULTANT
3-5 RUE MAURICE RAVEL
92300 LEVALLOIS PERRET
Voir toutes ses formationsAutres organismes proposant cette formation

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Travaux pratiques. Auto-évaluation en début et en fin de formation.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
882€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
3528€ HT / groupe
4 stagiaires minimum

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é

 

Travaux Pratiques d'introduction programmation et conception objet

Un TP évolutif, de la conception du modèle objet à la mise en œuvre (assistée), en passant par la maintenance, permettra de progressivement prendre la mesure de l'intérêt de l'approche objet. Nous nous appuyons sur un système de gestion (simplifiée) des demandes de formation au sein d'un département de ressources humaines.

 

De la programmation structurée (fonctionnelle) vers la programmation objet

Bien comprendre les limites de la programmation structurée

Les objectifs du monde Objet

En quoi l'approche objet facilite-t-elle les ateliers de développement logiciels ?

Que reste-t-il de la programmation structurée dans la programmation objet ?

Travaux Pratiques

Sur la base d'un programme simple, l'intervenant commente les grandes lignes du logiciel, les structures de données et les traitements utilisés (volontairement limités). Les participants sont amenés à répondre à certaines questions concernant la lisibilité des traitements, des variables, et sur l’évolution du logiciel. Les limites de la programmation classique sont volontairement amplifiées afin d'être clairement identifiées.

 

Apprendre à concevoir des classes d'objet

Définir un comportement commun au sein d'une classe

Comment « reconnaître » une classe ?

Savoir faire un effort d'abstraction et rester conceptuel

Liens entre classe et objets (instance)

Exemples de « mauvaises » classes

Savoir définir un dictionnaire de données

Et en extraire les attributs d'une classe

Savoir recenser les états d'un objet

L'origine et la fin d'un objet (constructeurs, destructeurs)

Définir les traitements dans des méthodes

Que deviennent les fonctions traditionnelles ?

Les risques de « retomber » dans le modèle données/fonctions

Travaux Pratiques

« Reconception » objet de l'application précédente.

Élaboration du dictionnaire de données, des traitements, et des flux.

Conception des classes

 

Visibilité entre les objets

Qu'entend-on par « encapsuler » les données ?

Pourquoi utiliser des accesseurs ?

Voir les objets comme « responsables » de leur comportement

Visibilité des attributs entre les objets (publique, protégé, privé)

Visibilité des méthodes

Travaux Pratiques

Exemples de non encapsulation de données et d’expositions de méthodes amenant à une lisibilité et une maintenance complexe. Reconception « propre »

 

Liens entre les classes

La puissance de l'héritage

Réflexions sur l'héritage multiple

Ne pas confondre composition et héritage

Intérêt du polymorphisme

La surcharge des opérateurs

Appels de méthode d'une autre classe (message)

Travaux Pratiques

Évolution de la conception vers un modèle de hiérarchie des classes

Conception de l'encapsulation des traitements

 

Compléments sur la conception objet

Qu'est-ce qu'une méthode virtuelle ?

Et une classe abstraite ?

Intérêt des classes abstraites sans implémentation (interface)

S'appuyer sur une manière de faire éprouver (design patterns)

Exemples de design patterns

Travaux Pratiques

Amélioration du modèle précédent avec l'utilisation de classes abstraites

 

Introduction à la modélisation objet avec UML

UML (Unified Modeling Language) ne représente pas une démarche mais un formalisme

Les deux types de vues (statiques, dynamiques)

Tour d'horizon des différents diagrammes UML

Modélisation d'une classe

La visibilité des attributs (publique, protégé, privé)

Les diagrammes d'objet (attributs, méthodes, identité)

Synthèse sur les diagrammes liés aux vues dynamiques

Travaux Pratiques

Formalisation avec UML du diagramme de classes de notre application.

 

Présentation des Design Patterns

Principes des solutions de conception cataloguées

Méthodologie : définition des besoins techniques, des classes "types" du pattern, des collaborations entre classes

Présentation des patrons de conception : origine, les 3 familles (création, structuration et comportement), autres patrons

Présentation des principaux patrons de conception de chaque catégorie

Documentation d’un patron de conception et présentation des différents diagrammes UML utilisés

Travaux Pratiques

Quizz : On présente une problématique et il faut choisir le bon patron (Pattern)

 

Mise en œuvre des concepts objets (Java ou C#)

Définir une classe et ses méthodes

Mettre en œuvre l’’encapsulation des données

Mise en œuvre de l'héritagePrésentation rapide des IDE Visual Studio et Eclipse

L’aide apportée aux développeurs pour manipuler les classes/objets

Les apports des frameworks pour le développeur objet

Les différentes familles (web, data, communication, etc.)

Travaux Pratiques

Nous implémentons les classes de notre application précédente en Java sous Eclipse ou en C# sous Visual Studio selon l’environnement préféré par les participants. Il s’agit d’une simple prise en main et le code est volontairement très simple car on ne prévoit pas de détailler la syntaxe de ces langages.

On commente un exemple de code accédant à une base de données (connexion, chargement de données) pour comprendre comment les classes d’un framework « cohabitent » avec les classes métiers que nous avons créés.

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.