En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour recueillir vos informations de connexion, collecter des statistiques en vue d'optimiser les fonctionnalités du site et adapter son contenu à vos centres d'intérêt.
En savoir plus et paramétrer les cookies Accepter
Comparateur de logiciels de gestion
Avec notre comparateur en ligne, trouvez en quelques clics la solution à votre besoin
agenda
Agenda
Solutions IT
  • 06/12/2017
    Paris Open Source Summit

    Paris Open Source Summit, premier événement européen libre et open source, est le fruit de…

    en détail En détail...
  • 15/11/2017
    Cloud Expo Europe Paris 2017

    Cloud Expo Europe, Paris 2017, c'est le grand rassemblement d'experts dédiés au Cloud. Parmi les…

    en détail En détail...
elo_processus pointe_leaderboard

Quand l’approche Domain Driven Design répond aux attentes du monde du développement

21/06/2017 | commentaires 0 commentaire |
Jalios_Digital Summit 2017_pave

Incontestablement, le monde du développement d’applications a connu de profondes mutations ces 10 dernières années, faisant émerger des approches plus agiles et plus en adéquation avec les attentes du marché. Parmi ces évolutions, le Domain Driven Design (DDD) connaît un réel engouement et s’impose comme une approche de conception logicielle fiable et durable. Quelles sont les raisons d’un tel succès ?

Avant de rentrer dans le vif du sujet, revenons d’abord sur la définition même de cette nouvelle approche.
L’approche DDD fournit un ensemble de pratiques, principes et patterns logiciels pour mieux gérer la complexité métier et produire des applications répondant plus précisément aux besoins des utilisateurs, et ce, quel que soit le langage de programmation ou l’environnement technologique utilisés.

Il ne s’agit donc pas ici de proposer une approche technologique nouvelle, mais un modèle de conception permettant aux développeurs et aux directions métiers de se focaliser sur ce qui fait le succès des produits logiciels, tout en gagnant en confort de travail et en productivité.
De manière plus opérationnelle, l’approche DDD favorise l’alignement entre l’espace contenant l’ensemble des connaissances métiers, règles, hypothèses et usages, appelé « espace des problèmes » ; et l’espace contenant les langages, frameworks et outils pour construire techniquement les produits logiciels, appelé « l’espace des solutions ».

1) Utiliser les techniques de collaborative design
Pour atteindre cet alignement, il faut d’abord explorer « l’espace des problèmes » afin de réduire les incompréhensions existantes entre les équipes techniques et les experts métiers
Le principe consiste à fournir des techniques de collaboration (tels que « User Story Mapping », « Event Storming », « Wirhpool Model ») pour extraire les connaissances métiers. Prenant généralement la forme de jeux de facilitations, ces ateliers facilitent l’engagement et permettent d’acquérir un maximum de connaissance métier en un minimum de temps. Un format idéal pour des experts métiers souvent très occupés. A l’issue de ces séances de travail, un unique et même langage entre les différentes équipes émerge, appelé « Ubiquitous Language (UL) ». Composé de termes communs, ce langage sera utilisé dans tous les supports de communication tels que les emails, les diagrammes d’Architecture, la documentation et bien sûr le code source afin de limiter les ambigüités et d’introduire les concepts métiers au sein des produits logiciels.

2) Décomposer l’espace des problèmes pour se focaliser sur ce qui compte
Dans une démarché DDD, on considère que toutes les parties de « l’espace des problèmes » n’ont pas le même niveau de complexité. Pour livrer les produits le rapidement possible, il convient donc de maximiser les efforts sur les parties les plus importantes, en découpant le produit logiciel en sous-domaines et en identifiant ses « Core domain » autrement dit sa raison d’être.
Ce travail d’identification n’est pas aisé. Seule l’expérience et la prise en compte du contexte logiciel (pour quels cas d’usages, pour qui, comment, etc.) aideront à trouver à terme le bon découpage logiciel.

3) La construction de modèles
Ensuite, pour chacun des sous-domaines, seront associés un ou plusieurs modèles dans le but de constituer à terme « l’espace des solutions ».
Cette étape de modélisation consiste à produire une vue représentant les éléments significatifs répondant aux principaux cas d’usages. Pour la mise en œuvre de ces modèles, plusieurs patterns d’implémentation existent et leur sélection dépendra de la complexité et du niveau d’importance de chacun des sous-domaines.
Reste que ces modèles doivent évoluer tout au long de la vie des produits et répondre aux besoins métiers changeants et aux nouveaux cas d’usages.

4) La préservation d’un modèle compréhensible et utile
Pour garder l’intégrité du code et en limiter la complexité, il est enfin nécessaire de décomposer son « espace de solutions » en sous-modèles appelés « Bounded Context » avec des frontières linguistiques explicites. Cette décomposition permet à plusieurs équipes de développement de travailler de manière simultanée et indépendante.

L’approche DDD permet donc de remettre les besoins métiers au cœur des préoccupations du développement logiciel, en renforçant l’alignement entre les équipes techniques et les équipes métiers. Le DDD est avant tout un processus d’apprentissage, d’expérimentation et d’exploration dans le but de produire un modèle logiciel efficace et utile. L’usage de cette approche a donc de beaux jours devant elle et va continuer à se diffuser dans le monde du logiciel.

Grégory Boissinot – CTO et Architecte Logiciel chez SOAT

Quand l’approche Domain Driven Design répond aux attentes du monde du développement
Notez cet article

Formations Cloud Computing

Les services IT ont plus que jamais besoin de formations pour soutenir leurs processus d’amélioration continue et de performance. Global Knowledge offre un vaste catalogue de formations Cloud.

Plus d’info

Sondage

Windows 10 et vous

Voir les résultats

Loading ... Loading ...
Nos derniers dossiers
Témoignages
Juridique
  • Aides d'État: la Commission assigne l'Irlande devant la Cour de justice pour non-récupération des 13 milliards € d'avantages fiscaux perçus illégalement par Apple

    La Commission européenne a décidé d'assigner l'Irlande devant la Cour de justice de l'UE pour…

    > En savoir plus...
Paroles d'experts
Paroles
d'experts
  • Vidéo - L'Assistance Publique des Hôpitaux de Marseille organise sa gestion de crise

    Pour Philippe Tourron, le RSSI de l’APHM, réagir vite en cas de crise est primordial. …

    > En savoir plus...
Etudes/Enquêtes
  • En 2021, les tablettes représenteront 28 % des achats en France

    Voici une synthèse d'une étude IDC sortie en juin 2017 sur le marché des PC…

    > En savoir plus...
newsletter
Inscription Newsletter

Restez informé. L’abonnement à la newsletter est gratuit.

> Abonnement

Guide de la cybersécurité 2017-2018

Bomgar_Cybersecurity_skycraper
Agenda
livres blancs
Les Livres
Blancs
  • Communications unifiées : la mobilité et la collaboration au cœur des métiers

    > Voir le livre
  • Usages et technologies : concrétisez la transformation digitale de votre métier

    > Voir le livre
GlobalK_Azure _Skycraper