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 :
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.