Conception piloté par le domaine (XMS2IE300) : Contrôle Continu Écrit (CCE)
1. Principes de base
Pourquoi le langage ubiquitaire est-il important? Comment est-il développé?
Solution
Le langage ubiquitaire ou universel est un des principes de base de la conception pilotée par le domaine. Il garantit une communication claire et cohérente au sein de l’équipe de développement et du domaine d’activité. C’est un modèle partagé des concepts du domaine qui définit la manière dont on en parle et dont on s’y réfère dans le code, ainsi que dans les discussions.
-
Clarté et précision** : L’utilisation d’une terminologie cohérente réduit l’ambiguïté dans le modèle du domaine, le code et les discussions de l’équipe.
-
Alignement sur l’entreprise : En utilisant le même langage que les experts du domaine, les développeurs s’assurent que le logiciel qu’ils construisent reflète fidèlement les exigences et les objectifs de l’entreprise.
- Effort collaboratif
-
L’équipe de développement et les experts du domaine, tels que les analystes commerciaux et les parties prenantes, collaborent pour formuler le langage ubiquitaire. Cela permet de garantir une représentation précise des concepts de l’entreprise.
- Raffinement au fil du temps
-
Le langage ubiquitaire, tout comme le modèle de domaine, évolue. Au fur et à mesure que l’équipe acquiert une meilleure connaissance du domaine, le langage est affiné pour mieux représenter les concepts du domaine.
- Discussions axées sur le modèle
-
Lors des discussions sur le domaine, l’accent est mis sur l’utilisation des termes de manière dialogique. Cela signifie que chaque terme a une signification cohérente et est bien compris par tous les participants.
- Prototypage itératif
-
La construction et l’amélioration d’un logiciel fonctionnel mettent souvent en évidence des divergences entre le langage et la vision du domaine. Ce processus itératif permet d’harmoniser la connaissance du domaine et le langage ubiquitaire.
Comment identifier les agrégats dans un modèle du domaine? Qu’est-ce que la racine de l’agrégat?
2. Modélisation
Lisez attentivement le texte suivant et basez-vous sur ses informations pour répondre aux questions de cet exercice.
%Dans cet exercice, vous allez concevoir, en suivant l’approche DDD, un système de gestion d’une librairie. Une librairie vend des livres. Plus précisément, des exemplaires de livres. Un livre est caractérisé par un titre, un ou plusieurs auteurs, un numéro ISBN, un ou plusieurs éditeurs, une date de publication, un ou plusieurs genres et plusieurs mots-clés. Un livre peut être disponible, indisponible et commandé.
Le libraire est le seul à pouvoir commander et vendre des exemplaires de livre. Un client peut acheter et commander un exemplaire sur place ou sur Internet. Les commandes sont enregistrées dans un fichier
Les clients qui commandent par Internet ont un identifiant unique, composé de dix chiffres, dont deux de validation. Ils ont un nom, des prénoms et plusieurs adresses, dont une actuelle. Voici quelques informations supplémentaires sur la librairie:
-
Le client choisit un ou plusieurs exemplaires de livre qu’il souhaite acheter;
-
Le client peut passer une commande, mais seulement si elle contient au moins un exemplaire.
-
Le client peut choisir de se faire livrer sa commande ou de venir la chercher à la librairie.
-
La librairie n’accepte que des paiements en ligne par carte de crédit.
-
Le libraire s’occupe d’expédier les commandes en ligne
-
Le libraire commande les exemplaires manquants de livres chez les éditeurs
-
Les caissiers s’occupent des ventes sur place
-
Les caissiers s’occupent des commandes à retirer sur place et peuvent accepter les paiements à la librairie.
-
La commande a été reçue par la libraire
-
La librairie prépare la commande
-
La commande est prête à être retirée
-
La commande est en voie d’acheminement
-
La commande a été livrée/retirée