Exploitez l'approche du Domain-Driven Design pour construire votre modèle Flashcards
Qu’est qu’un modèle de domaine ?
Un modèle de domaine est une représentation conceptuelle des éléments clés qui doivent être compris par tous, pour créer la solution souhaitée par le client.
Commment décomposer un “use case”?
Par exemple, prenons le cas d’utilisation « rechercher un livre ». Vous allez décomposer le scénario en commençant par l’utilisateur, puis en réfléchissant à la façon dont l’application réagit étape par étape :
- L’utilisateur demande à rechercher un livre.
- L’application affiche la page de recherche.
- L’utilisateur saisit le nom de l’auteur.
- L’application vérifie que le nom de l’auteur existe.
- L’utilisateur saisit le titre du livre.
- L’utilisateur demande l’exécution de la recherche.
- L’application lance la recherche.
- L’application affiche les résultats.
Qui a inventé les “uses cases” (cas d’utilisations). Donnez un exemple de cas d’utilisations.
Ivar Jacobsen
Dans le “modèle école” différents cas d’utilisation peuvent être identifiés:
- Noter les examens.
- Enregistrer les absences.
- Collecter les frais de cantine.
- Payer l’enseignant.
Pourquoi est-il utile d’identifier les déclencheurs ?
Ils indiquent la raison business pour laquelle il faut commencer à exécuter une fonctionnalité
Voici un exemple concernant une application destinée à un restaurant. Elle doit permettre aux serveurs de suivre les commandes et les paiements. Voici la transcription de la discussion avant la conception du programme :
- Développeur : « Quel est l’objectif prioritaire que nous voulons atteindre ? »
- Serveur : « Que les repas servis soient payés. »
- Développeur : « Et pourquoi est-ce important ? »
- Serveur : « Eh bien, c’est ce qui permet au restaurant de rester en activité. »
- Développeur : « OK, alors comment cela est-il censé fonctionner ? »
- Serveur : « Le client paie son repas en espèces ou par carte. »
- Développeur : « Qu’est-ce qui s’est passé avant cela ? »
- Serveur : « Le client a eu son repas. »
- Développeur : « Comment avez-vous su ce qu’il fallait préparer ? »
- Serveur : « J’ai pris sa commande. »
- Développeur : « Comment savait-il ce qui était à la carte ? »
- Serveur : « Je lui ai donné un menu. »
- Développeur : « Comment avez-vous su qu’il avait besoin d’un menu ? »
- Serveur : « Il était assis à une table vide. »
- Développeur : « Comment savez-vous quelles tables sont vides ? »
- Serveur : « Je regarde le plan des tables et vois celles où il n’y a personne. »
- Développeur : « Comment les gens sont-ils ajoutés aux tables ? »
- Serveur : « On les transfère depuis la liste des personnes enregistrées. »
- Développeur : « Comment sont-ils arrivés sur cette liste ? »
- Serveur : « Ils sont entrés et ont dit qu’ils avaient faim. »
L’événement déclencheur est donc l’entrée d’un client dans le restaurant. La première interaction avec l’application du restaurant est leur ajout sur la liste des personnes enregistrées.
Qu’est-ce qu’un domaine ?
Un domaine d’activité
Quelle est le déroulement d’une session d’event Storming ?
- Inviter les parties prenantes et les développeurs
- Laisser place aux idées
- Identifier les événements du domaine
- Connecter les événements du domaine
- Déterminer les éléments déclencheurs
Qu’est ce qu’un acteur ?
Un acteur est quelqu’un ou quelque chose qui utilise le système que vous construisez.
Comment créer un diagramme de cas d’utilisation ?
- Identifiez les acteurs
- Identifiez les cas d’utilisation
- Reliez le tout avec les relations
Qu’est ce qu’une dépendance dans un diagramme de cas d’utilisation et comment la créer ?
Une dépendance est un cas d’utilisation qui dépend d’un autre cas d’utilisation pour pouvoir être réalisée. Pour créer une dépendance il suffit de rélier les deux cas d’utilisation avec une fleche discontinuée. La direction de la flèche indique qui est dépendante de qui.
Ici “Récupérer les amendes des usagers” est dépendante d”Envoyer un email”.
Comment peut-on représenter les modèles de domaine ?
- Avec un diagramme de classes
- Avec un diagramme de cas d’utilisation
- Avec une série de pages wiki
Quelles sont les étapes de création d’un diagramme de cas d’utilisation?
- Identifier les acteurs
- Définir les cas d’utilisation
- Ajouter des relations
Quelle est la première étape de création d’un diagramme de classes ?
Générer des descriptions de cas d’utilisation en se basant sur le diagramme de cas d’utilisation.
En vous basant sur le diagramme ci-dessous, quelle(s) classe(s) pouvez-vous identifier en tant qu’entité (ou entités) ?
Voiture, Chauffeur, Client, Course, Lieu
En se basant sur le diagramme ci-dessous, quelle(s) classe(s) pouvez-vous identifier comme valeur(s) (value object) ?
Paiement
En se basant sur le diagramme ci-dessous, quelle(s) classe(s) pouvez-vous identifier comme étant des agrégat(s) ?
Course
Les classes qui “agrègent” un même cas d’utilisation sont des agrégats. Ils regroupent une entité et un objet valeur, pour finaliser un cas d’utilisation. Ici, la course agit effectivement comme un agrégat, car elle lie l’ensemble du cas d’utilisation de la réservation d’une voiture ; elle lie les classes de Client, de Voiture, de Paiement et de Localisation toutes ensemble. Il s’agit donc bien de la réponse 4. 🚀