Aller au contenu
Matthias Bohlen

iSAQB® CPSA Advanced Level Workshop

Domain-Driven Design

Event Storming, Context Maps, modèles de domaine et architecture logicielle. Le Domain-Driven Design en atelier intensif de trois jours avec Matthias Bohlen (30 CP pour iSAQB® CPSA-A).

jours
3
crédits
30
personnes max.
12
langue
DE / EN
Réservez votre place ↓

Dans les projets logiciels complexes, le résultat n'est souvent pas celui qu'on voulait, parce que les experts métier et les ingénieurs ne se comprennent pas. Et si le métier et les développeurs parlaient la même langue, de sorte qu'ils remarquent s'ils parlent bien de la même chose ?

À quoi vous attendre dans l'atelier

Dans ce module Advanced Level, vous apprenez à découper un domaine en parties claires, à développer une langue pour chacune d'elles et à utiliser les patterns DDD pour concevoir une application façonnée par son domaine.

Ensemble, sur une application d'exemple, nous nous exerçons à chaque étape vers une architecture orientée application et de haute qualité. Vous verrez à quel point une conception peut être simple dès lors que vous vous engagez pleinement envers le domaine et les garde-fous architecturaux du Domain-Driven Design.

Vous repartirez avec une solide compréhension des concepts du DDD et, tout aussi important, avec l'assurance nécessaire pour les appliquer vraiment dans votre travail quotidien.

Formation accréditée iSAQB

Formation accréditée pour la certification iSAQB® Certified Professional for Software Architecture, Advanced Level (CPSA-A). Elle compte pour 30 crédits (10 méthodologiques · 20 communicationnels).

Contenu

  1. 01

    Domaine, modèle et Ubiquitous Languagedomaine, modèle de domaine, Ubiquitous Language, module, entity, value object, aggregate, service, factory, repository, domain event

  2. 02

    Knowledge crunching, le chemin vers le modèlemodélisation agile et évolutive, donner les moyens d'agir aux experts métier, façons de collaborer sur un modèle, outils pour le capturer

  3. 03

    Du modèle à l'implémentationclasses de domaine et briques techniques, relation entre modèle et code, langue et qualité du code

  4. 04

    Le modèle dans l'architecture applicativeHexagonal Architecture, Command-Query Responsibility Segregation, Layered Architecture, Dependency Injection, Behaviour-Driven Development

  5. 05

    Conception stratégique 1, découper les modèlessubdomain, Bounded Context, subdomains core, supporting et generic, Context Map

  6. 06

    Conception stratégique 2, Context MappingCustomer/Supplier, Open Host Service, Shared Kernel, domain events pour la communication, Anticorruption Layer, Separate Ways

À qui s'adresse-t-il

Aux architectes logiciels et aux développeurs qui conçoivent ou font évoluer des systèmes. Vous devriez avoir de l'expérience dans des projets informatiques ou dans le développement de produits. Vous n'avez pas besoin de connaître une technologie ou un langage de programmation en particulier pour suivre et participer. UML aide, mais n'est pas obligatoire.

"Event Storming und Strategic Design: DDD mit vielen Teams" mit @mbohlende. #SoftwareArchitectureSummit pic.twitter.com/ysQI35yvNT

Softw. Arch. Summit (@SoftwArchSummit) · 2016-09-26 ↗

Une expérience : un atelier d'Event Storming avec 60 personnes au Software Architecture Summit à Berlin.

Prérequis

Vous devriez avoir de l'expérience dans des projets informatiques ou dans le développement de produits. Vous n'avez pas besoin de connaître une technologie ou un langage de programmation en particulier pour suivre et participer. UML aide, mais n'est pas obligatoire.

Ce que fait le Domain-Driven Design

Le Domain-Driven Design (DDD) vous donne cette langue. Experts métier et développeurs modélisent ensemble dans la langue du domaine, avec des types de briques et des patterns prédéfinis. Ce à quoi la future solution doit ressembler devient ainsi vraiment clair. La communication s'en trouve simplifiée et le résultat ne laisse aucune ambiguïté.

Journée agent : le Domain-Driven Design pour vous et votre agent

Après la formation, vous pouvez ajouter une journée agent optionnelle, en ligne ou en présentiel. Pendant la formation, vous apprenez comment experts métier et développeurs élaborent ensemble un modèle. Lors de la journée agent, vous amenez à la table un troisième partenaire : votre agent d'IA. La réflexion de fond reste la vôtre. Votre agent est votre partenaire de réflexion et crée les artefacts. Vous vous exercez sur un seul système d'exemple toute la journée.

  • Du chaos de l'atelier à une langue commune : votre agent trie les résultats d'un atelier d'Event Storming et propose des termes, des événements et des candidats aggregates. Quels termes entrent dans l'Ubiquitous Language, vous en décidez avec les experts métier.
  • L'agent comme intervieweur : votre agent vous interroge sur un scénario métier concret et met vos hypothèses à l'épreuve jusqu'à ce que les lacunes du modèle soient comblées. Il demande la connaissance du domaine au lieu de l'inventer.
  • Découper les modèles : vous décidez, l'agent dessine : vous décidez quels subdomains sont core, supporting ou generic. Votre agent en tire une ébauche de Bounded Context Canvases et une Context Map, que vous relisez.
  • Du modèle au code, et retour : votre modèle de domaine devient le moule d'une fonderie logicielle agentique. Votre agent y coule un Bounded Context. Si le résultat est faux, vous corrigez le moule, pas la pièce coulée.

À la fin de la journée, vous savez quel travail de modélisation vous pouvez déléguer et lequel vous ne délégueriez jamais. Votre agent est prêt à travailler dans votre projet dès lundi.

Pour réserver la journée agent, adressez-vous à votre partenaire de formation. Pour une formation en entreprise, contactez-moi.

Option : du conseil pour introduire le DDD dans votre entreprise

En complément de la formation, j'ai mis en place un programme de conseil en ligne. Il rend les premiers pas avec le DDD dans votre entreprise faciles pour vous et vos équipes.

Vous trouverez le programme ici :

Domain-Driven Design - Consulting | Matthias Bohlen ↗Für mehr Erfolg in der Software-Entwicklung. Persönliches Consulting mit dem DDD-Experten Matthias Bohlendomaindrivendesign.consulting

Déroulement

Un mélange équilibré d'exposés et d'exercices pratiques. Sous ma conduite, vous apprenez en groupe à réunir experts métier et développeurs et à construire un modèle de domaine de votre application, dans une langue claire, simple, précise et commune.

En ligne

Depuis 2020, j'enseigne aussi le DDD en ligne, avec Zoom (ou Microsoft Teams si nécessaire) comme plateforme vidéo et Miro comme tableau blanc en ligne. J'ai aménagé pour cela un studio vidéo complet, avec du matériel de diffusion professionnel.

Voici quelques résultats des formations DDD en ligne :

Un tableau d'Event Storming pour un service de livraison de pizzas : des rangées de notes adhésives orange portant les événements, de la commande en ligne au paiement et à l'évaluation, regroupées en Bounded Contexts tels que achats en ligne, cuisine, logistique, finance et assurance qualité, avec des liens upstream et downstream entre eux.
Un modèle big picture avec les Bounded Contexts dessinés. Le tableau provient d'une formation en allemand.
Un modèle de processus d'Event Storming sur un long tableau : une chaîne d'événements, de commandes, de policies, de systèmes et de read models qui mène de l'arrivée d'une commande de livraison à la livraison de la pizza, encadrée par une situation à gauche et un résultat à droite.
Un modèle de processus d'un seul Bounded Context. Le tableau provient d'une formation en allemand.
Un modèle d'Event Storming au niveau design : les commandes pour les livraisons ad hoc et planifiées mènent à un grand aggregate jaune appelé Livraison, qui émet des événements tels que livraison acceptée, libérée et planifiée, avec une policy de planification qui revient en boucle.
Un modèle de conception logicielle pour un seul aggregate. Le tableau provient d'une formation en allemand.

Réservez votre place

Une formation en entreprise ? Appelez le +49 170 772 8545 ou écrivez à mbohlen@mbohlen.de.