Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

MCD : Décomposition

Icône Présentation
1 / 1

Soit l’énoncé suivant :

On souhaite informatiser une boutique en ligne. Les clients ont un numéro unique, un nom et une adresse. Les clients passent des commandes à une date donnée et les commandes sont identifiées par un numéro unique. Elles ont des lignes de détails qui référencent chaque produit commandé ainsi que la quantité commandée. Les produits sont identifiés par un numéro unique, ont un label, une description et un prix unitaire.

Analyse et décomposition de l’énoncé

On doit tout d’abord reformuler l’énoncé en propositions élémentaires.

On peut le faire soi-même ou bien utiliser une IA pour nous assister.

Dans l’exemple suivant, j’utilise le chat Copilot directement dans VSCode :

Demande de décomposition de l'énoncé avec Copilot

On obtient les propositions suivantes :

1. La boutique en ligne doit être informatisée.
2. Chaque client a un numéro unique.
3. Chaque client a un nom.
4. Chaque client a une adresse.
5. Les clients passent des commandes à une date donnée.
6. Chaque commande est identifiée par un numéro unique.
7. Les commandes contiennent des lignes de détails.
8. Chaque ligne de détail référence un produit commandé.
9. Chaque ligne de détail indique la quantité commandée.
10. Chaque produit est identifié par un numéro unique.
11. Chaque produit a un label.
12. Chaque produit a une description.
13. Chaque produit a un prix unitaire.

On fait une passe de vérifications pour s’assurer que toutes les informations sont bien présentes, qu’elles sont correctes et qu’elles sont suffisamment détaillées.

À priori, on peut ignorer la proposition 1, car elle ne nous apporte pas d’informations utiles pour la modélisation. Les autres propositions semblent correctes et pertinentes.

Types entités

On peut identifier les entités suivantes :

- Client
- Commande
- CommandeDetail
- Produit

Attributs des types d’entités

Pour chaque entité, on peut identifier les attributs suivants :

- Client
- id : int
- nom : string
- adresse : string
- Commande
- id : int
- date : date
- Ligne de détail
- quantité : int
- Produit
- id : int
- label : string
- description : string
- prix : float

Analyse des associations et des cardinalités

- Les clients passent des commandes : Client (1, N) Commande
- Les commandes contiennent des lignes de détails : Commande (1, N) Ligne de détail
- Les lignes de détails référencent des produits : Ligne de détail (1, 1) Produit

Compte rendu de l’analyse conceptuelle

Sauvegardez le contenu important de cette page dans un fichier boutique-documentation.md à la racine de votre projet.