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
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 UMLComprendre 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 patternAtelier 1
Objectif : Comprendre le formalisme de description d’un design pattern
Description : Relecture collective du pattern FactoryMethodLes 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++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++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++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ôleurAtelier 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édenteDesign 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.
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 objetTravaux 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 communPré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élisationTravaux pratiques
Quiz de validation des connaissances sur le formalisme UML (symboles graphiques, noms)
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 besoinsTravaux 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 ligneLes 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
CollaborationsTravaux pratiques
Élaboration d’un diagramme de classes, de packages, de composants, de déploiement de l’application de commerce en ligne
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, argumentsTravaux 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 carrefourDé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 ArchitectTravaux 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.
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
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.