FORMATION UML

Le Langage de Modélisation Unifié, de l'anglais Unified Modeling Language, est un langage de modélisation graphique à base de pictogrammes conçu comme une méthode normalisée de visualisation dans les domaines du développement logiciel et en conception orientée objet.

Objectifs de la formation 

Cette formation Design Patterns vous propose un tour d’horizon pour chacune de ces grandes familles, avec un rappel préalable sur la programmation orientée objet et l’ULM. La formation se conclut enfin avec une présentation des GRASP patterns.

À l’issue de cette formation, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Connaître l’origine, la philosophie et l’utilité des Design Patterns
  • Connaître les trois grandes familles de patterns et les principaux patrons au sein de chacune de ces familles
  • Savoir identifier, pour un problème donné, le patron de conception le plus à même de solutionner le problème
  • Savoir appliquer de manière concrète le design pattern ainsi identifié

À qui s’adresse cette formation ?

Public :

Ce cours Design Patterns s’adresse aux architectes et développeurs impliqués dans la conception logicielle orientée objet..

Prérequis :

Les participants à cette formation Design Patterns doivent disposer d’une solide expérience en programmation orientée objet (Java, C++…).

Contenu du cours 

  1. Les fondamentaux de l’orienté objet et UML

    Notion d’objet, de classe, d’encapsulation,
    Les relations d’héritage, d’implémentation d’interface et les associations
    Les diagrammes UML

    Comprendre les Design Patterns

    La genèse avec le Gang Of Four
    Rôle et intérêts
    Le catalogue, son organisation, son évolution
    Typologie des patterns
    Identifier et formaliser le problème
    Trouver le pattern répondant au problème, évaluer les conséquences
    Créer sa solution en appliquant le pattern

    Atelier 1

    Objectif : Comprendre le formalisme de description d’un design pattern
    Description : Relecture collective du pattern FactoryMethod

    Les Patterns créateurs

    Portée des patterns de création
    Le pattern Singleton (Singleton)
    Le pattern Fabrique (Factory Method)
    Le pattern Fabrique Abstraite (Abstract Factory), distinction avec le pattern précédant
    Le pattern Monteur (Builder)
    Le pattern Prototype (Prototype)

    Atelier 2

    Objectif : Savoir reconnaître et implémenter les principaux patterns de création
    Description : 3 formulations de problèmes
    Identification collective des patterns de création
    Implémentation des patterns en Java ou C++

    1.  

    Les Patterns structuraux

    Portée des patterns structuraux
    Le pattern Composite (Composite)
    Le pattern Adaptateur (Adapter)
    Le pattern Décorateur (Decorator)
    Le pattern Façade (Facade)
    Le pattern Proxy (Proxy)
    Le pattern Poids-mouche (Flyweight)
    Le pattern Pont (Bridge)

    Atelier 3

    Objectif : Savoir reconnaître et implémenter les principaux patterns structuraux
    Description : 3 formulations de problèmes
    Identification collective des patterns à appliquer
    Implémentation des patterns en Java ou C++

    1.  

    Les Patterns comportementaux

    Portée des patterns comportementaux
    Le pattern Itérateur (Iterator)
    Le pattern Stratégie (Strategy)
    Le pattern Patron de méthode (Template Method)
    Le pattern État (State)
    Le pattern Observateur (Observer), déclinaison avec le pattern Reactor
    Le pattern Commande (Command)
    Le pattern Visiteur (Visitor)
    Le pattern Chaîne de responsabilité (Chain of responsibility)
    Le pattern Interpréteur (Interpreter)
    Le pattern Médiateur (Mediator)
    Le pattern Mémento (Memento)

    Atelier 4

    Objectif : Savoir reconnaître et implémenter les principaux patterns comportementaux
    Description : 3 formulations de problèmes
    Identification collective des patterns à appliquer
    Implémentation des patterns en Java ou C++

    1.  

    Les GRASP patterns (General Responsibility Assignment Software Patterns)

    Les principes fondamentaux pour affecter les responsabilités aux classes
    L’origine de Grasp, son ambition, La loi de Démeter
    Ou implémenter les méthodes : Le pattern Expert
    Réutilisation, Évolutivité : Le pattern Faible couplage
    Responsabilité unique : Le pattern Forte cohésion
    Généricité : La pattern Polymorphisme
    La logique métier : Le pattern Pure Fabrication
    Qui fait les instanciations : Le pattern Créateur
    Gestion de l’interactivité : Le pattern Contrôleur

    Atelier 5

    Objectif : Comprendre comment sont appliquer ses patterns dans les applications Web modernes
    Description : Fourniture d’une spécification d’une application web simple
    Analyse et formalisation via UML
    Fourniture de la solution, comparaison vis à vis de l’analyse faite précédente

    1.  

    Design patterns pour les micro-services

    Problématique des micro-services, typologie des patterns et leurs relations
    Stratégie de décomposition : l’approche DDD
    Les différents modes de communication entre micro-services, avantages/inconvénients
    Gestion des transactions : Le pattern SAGA
    Logique métier, notion d’agrégat
    Requêtage : Le pattern CQRS View
    Externalisation d’API : Le pattern Gateway
    Déploiement : Le pattern d’immuabilité

    Atelier 6

    Objectif : Connaitre les patterns communs des architectures micro-services
    Description : Fourniture de 3 micro-services
    Implémentation des patterns SAGA, Agrégat, CQRS View et Gateway

Objectifs de la formation 

Le langage de modélisation unifié UML (Unified Modeling Language) a été pensé pour proposer un langage visuel commun, et normalisé pour décrire un système logiciel principalement en conception orienté objet.

Cette formation UML vous propose de comprendre la représentation et l’intérêt d’utilisation des diagrammes les plus pertinents habituellement utilisés dans les projets professionnels afin de vous aider à formaliser l’analyse et la conception de vos applications ou de votre système d’information.

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Comprendre le rôle des différents modèles UML selon les phases d’un projet
  • Exprimer un besoin fonctionnel sous la forme d’un diagramme UML
  • Mettre en œuvre la modélisation UML sur toutes les étapes d’un projet logiciel
  • Maîtriser les bonnes pratiques de conception logicielle

À qui s’adresse cette formation ?

Public :

Ce cours UML s’adresse à toute personne participant à des projets de développement en programmation objet : analyste, concepteur, architecte logiciel et technique, chef de projet, développeur, consultant en SI, urbaniste des systèmes d’information…

Prérequis :

Toute expérience en analyse ou en conception d’applications facilitera la compréhension de la logique à l’œuvre dans UML, en particulier sur les aspects suivants : activité d’un objet ou d’un logiciel, acteurs, processus, schéma de base de données, composants logiciels, réutilisation de composants.

Contenu du cours 

  1. 1.

    Rappels sur l’approche objet

    Concepts et intérêt de l’approche objet
    Rôle de l’encapsulation
    Notion de classe, attribut, méthode
    Etat, identité, comportement d’un objet
    Classe abstraite
    Héritage, polymorphisme
    Panorama des langages objet

    Travaux pratiques

    Présentation d’un modèle de classes d’un site de commerce en ligne et échanges avec les participants
    Quizz pour valider qu’on dispose d’un vocabulaire objet commun

    Présentation d’UML 2

    Intérêt de la modélisation
    Notion de modèle
    Activités de développement
    Présentation des 14 diagrammes d’UML2.5
    Outils de modélisation

    Travaux pratiques

    Quiz de validation des connaissances sur le formalisme UML (symboles graphiques, noms)

    1.  

    Expression des besoins

    Diagramme des cas d’utilisation
    Comment élaborer un modèle des besoins ?
    Délimitation du système
    Définition des acteurs
    Définition des cas d’utilisation
    Relations entre cas d’utilisation
    Description des cas d’utilisation par les scénarios nominal et alternatifs
    Les meilleures pratiques pour élaborer un modèle des besoins

    Travaux pratiques

    Étude d’un système simple de type va-et-vient électrique et élaboration de son diagramme de cas d’utilisation
    Élaboration d’un diagramme de cas d’utilisation de l’application de commerce en ligne

    1.  

    Les diagrammes de structure

    Présentation des diagrammes : de classes, d’objets, de packages, de structure composite,
    de composants, de déploiement
    Recherche de classes candidates
    Définir les relations entre classes : association, agrégation, composition, héritage
    Classes-association
    Définir la cardinalité des associations, leur navigabilité, les rôles
    Association qualifiée, rôle, contrainte
    Diagramme d’objets : liaison avec le diagramme de classes
    Diagrammes de packages, relations entre packages
    Autres diagrammes structurels: Diagramme de structure composite, de composants, de déploiement
    Collaborations

    Travaux pratiques

    Élaboration d’un diagramme de classes, de packages, de composants, de déploiement de l’application de commerce en ligne

    1.  

    Les diagrammes de comportements

    Présentation des diagrammes : de séquences, de communications, aperçu d’interactions, d’états-transitions, d’activités, de profils, de temps
    Différents messages entre objets, évènements
    États initial et final
    Rôles des classes entity, control, boundary
    États et sous-états, transition, entry, do, exit
    Actions, activités, contraintes, arguments

    Travaux pratiques

    Élaboration de plusieurs diagrammes de séquences, d’activité, états-transitions, de temps pour l’application de commerce en ligne
    Élaboration d’un diagramme de temps pour les feux tricolores à un carrefour

    Démarche objet de type UP « Unified Process »

    Préparation à la progression dans une démarche objet et sensibilisation à la pratique itérative et incrémentale.
    Élaborer les packages
    Mise en place des incréments
    Application de la démarche itérative
    Réutilisation des composants
    Les design patterns les plus connus
    Passage du diagramme de classes au modèle logique de la base de données.
    Indications pour l’utilisation d’outils comme PowerAMC, Visual Paradigm ou Visual Architect

    Travaux pratiques

    Simulation d’itérations avec livrables permettant l’expérimentation des utilisateurs ainsi que la validation technique de notre application de commerce en ligne. On simule le développement de plusieurs prototypes par approche incrémentale dans une démarche UP.

Objectifs de la formation 

Cette formation Enterprise Architect vous permettra de modéliser toutes les étapes-clé d’un projet informatique. Désigné souvent par le sigle EA (Enterprise Architect) cet outil graphique d’analyse et de création de modèles UML est un standard de fait utilisé par de nombreux professionnels souhaitant travailler en équipes sur toutes les phases d’un projet de développement (analyse, conception, développement, test, documentation, déploiement, génération de code, etc.).

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Gestion des processus métier
  • Gestion des exigences
  • Analyse fonctionnelle et analyse du domaine
  • Conception, engineering, tests
  • Modélisation des données
  • Gestion de projets

À qui s’adresse cette formation ?

Public :

Cette formation Enterprise Architect s’adresse aux analystes, concepteurs, développeurs, chefs de projet et aux architectes.

Prérequis :

Connaissance des fondamentaux d’UML.

Contenu du cours 

  1. 1.

    Prise en main d’Enterprise Architect (EA)

    Création d’un projet Enterprise ArchitectLes patrons de projet Gestion des vues et navigation dans un projet Gestion des perspectives Architecture document / vues

    Modélisation des processus métier

    Diagrammes BPMN Modélisation des cas d’utilisation et acteurs métier Modélisation des processus et des workflow avec les diagrammes d’activités Création d’un glossaire

    Analyse fonctionnelle

    Gestion des exigences avec les diagrammes de requirements Définition du système avec les cas d’utilisation système Traçabilité entre exigences et cas d’utilisation Rédaction structurée des user-stories avec les assistants d’Enterprise ArchitectPrototypage de IHM avec le diagramme d’interface homme / machine Formalisation des story-boards avec les diagrammes de séquence, d’activité et d’états

    Modélisation du domaine

    Modélisation des entités et des relations avec les diagrammes de classes et d’objets Associations, généralisations, agrégations et compositions Spécification dynamique des objets avec les diagrammes d’état Expression des contraintes, OCL Structuration en paquetages.

    Conception – Architecture

    Création les diagrammes de classes de conception Utilisation les Design Patterns Conception dynamique avec les diagrammes de communication et de séquence Génération de code (C++, Java, C#, …) et génération des modèles par reverse engineering Spécification de l’architecture avec les diagrammes de déploiement / composants

    Gestion de projet, reporting

    Mind mapping Suivi de l’avancement avec les diagrammes de Gantt Reporting et gestion des ressources Gestion de la maintenance Gestion des tests

Objectifs de la formation 

Cette formation UML MOA vous permet de mettre en oeuvre les diagrammes UML pour modéliser des processus métier.

 

À l’issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Mettre en oeuvre les diagrammes UML pour modéliser des processus métier.
  • Exprimer ses besoins et ses exigences.
  • Dialoguer avec la maîtrise d’oeuvre.

À qui s’adresse cette formation ?

Public :

Cette formation UML MOA s’adresse aux chefs de projet utilisateur, maîtrises d’ouvrage et toute personne participant à l’organisation des processus d’une entreprise ou à l’évolution d’un système d’information.

Prérequis :

Aucun

Contenu du cours 

  1. 1

    Rappel des concepts Objet et d’UML

    Le cycle de vie d’un projet en Objet.Les architectures.Le processus unifié.

    Analyser le besoin

    Analyser et formuler le besoin.Plan de gestion des exigences.Comprendre les besoins des parties prenantes.

    Définir le système

    La vision du projet.Documenter les cas d’utilisation.Eviter les pièges pour les cas d’utilisation.

    Gérer le périmètre

    Poser des priorités sur les cas d’utilisation.Déterminer le périmètre du système.Contrôler les changements.

    Affiner la modélisation des exigences

    Définir le contenu de la spécification.Spécifier les exigences fonctionnelles et non fonctionnelles.Décrire l’interface utilisateur, les protocoles, les contraintes.Qualités requises d’une spécification.

    Analyse, conception et architecture

    Les rôles.Les concepts clés.L’architecture logicielle dans le contexte de l’analyse et de la conception.

    Analyse des cas d’utilisation

    Identification des cas d’utilisation.Allocation des responsabilités.Modélisation des relations entre classes : associations et agrégations.

    Créer des modèles de qualité

    Les “patterns” à disposition.