(+33)1 55 60 76 72

UML2

UML a été conçu à la fin des années 90 comme le langage unifié de modélisation pour communiquer graphiquement entre les différents acteurs des projets informatiques. Paradoxalement, il reste aujourd'hui peu compris dans son ensemble et c'est déjà beau lorsque le diagramme de classes et le diagramme de séquences sont à peu près maîtrisés. Cette formation présente l'ensemble des concepts et diagrammes présents dans la spécification UML 2 en les organisant logiquement pour un public plutôt technique (développeurs, chef de projet, architectes, ...).
Notre parti pris est que UML a été créé avant tout comme une notation graphique pour représenter les concepts objets puis s'est enrichi progressivement pour prendre en compte les différents aspects du cycle de réalisation d'un logiciel. Il est donc pour nous primordial de maîtriser réellement ces concepts objets avant de vouloir les représenter graphiquement. Nous abordons progressivement les concepts de plus en plus haut niveau et les évolutions dans les architectures et les manières de faire pour justifier les différents diagrammes de la spécification. C'est l'occasion pour nous d'introduire les grands concepts majeurs tels que les Design Pattern, les différentes architectures (client/serveur, distribuées, n-tiers, SOA, ...), les méthodologies agiles, le pattern MDA, l'approche par composant, ...

1800 € HT 4 jours MM-UM4

Conception objet avec UML

Programme

Introduction

  • Évolution des langages de programmation
  • Motivations des technologies objet
  • Motivations pour une notation unifiée
  • Les fondements objets
  • Encapsulation, attributs, méthodes
  • Notion d’état et de comportement
  • Fonction/procédure vs méthode
  • Communication entre objets : Message
  • La recherche de méthode : le polymorphisme
  • Concepts de classe et d’instances

Représentation UML

  • Diagrammes de classe
  • Diagramme d’objets
  • Diagramme de séquence
  • Diagramme de communication

Les relations

  • Association
  • Agrégation
  • Composition
  • Cardinalité
  • Rôles dans une relation
  • Héritage
  • Représentation UML des relations

Les concepts avancés

  • Construction / destruction
  • Classe abstraite
  • Typage et interface
  • Couplage fort / faible
  • Introduction aux Design Patterns
  • État
  • Diagramme d’état
  • Différencier les objets (Stéréotype)

Méthodologie et architecture

  • Les évolutions dans les architectures
  • Notation vs méthodologie (intro UP)
  • Du cycle en cascade aux méthodes agiles
  • De la notation au langage UML (intro MDA)
  • Concept de Méta-modèle
  • De UML 1 à UML 2

Identifier les objets

  • Objet métier, objet secondaire,
  • Objet passif, objet actif (Acteur)
  • Identifier les besoins
  • Modéliser les exigences et le métier
  • Diagramme de cas d’utilisation
  • Relations entre cas d’utilisation
  • Diagramme d’activité

Gérer la complexité

  • Boundary-Control-Entity (intro MVC)
  • Diagramme de package
  • Relation entre packages (import, merge, …)
  • Objet vs Composant
  • Archecture de service (intro SOA)
  • Diagramme de composant
  • Diagramme de structure composite

Les autres diagrammes

  • Diagramme de déploiement
  • Diagramme de temps
  • Récapitulatif des diagrammes
  • Extensions d’UML (BPMN, SysML, …)