Bonjour à tous,
Je me suis lancé dans la conception et la réalisation d'un site de vente en ligne.
J'ai définis mes cas d'utilisation et je passe maintenant à la réalisation du diagramme de classes.
J'ai un problème pour modéliser certaines parties de mon site, mais je vais d'abord essayer de vous faire une petite explication du mode de fonctionnement et des règles de gestions que j'ai en tête.
- En premier lieu, un "utilisateur enregistré" peut être soit un client, soit un administrateur. Ces deux entités hérite d'une entité commun puisque certaines propriétés seront communes. Un utilisateur "client" ne peut être utilisateur "administrateur" et vis versa.
- Ensuite le "client" possède une liste d'adresses. Chaque adresse est associée à une ville, qui est elle même associée à un ou plusieurs code postaux. Dans la pratique chaque code postal devrait être associé à un moins une ville.
Un client doit posséder au moins une adresse.- Un client possède un "panier" courant, dans lequel il ajoute des articles. Il peut sauvegarder plusieurs paniers différents afin de les réutiliser lors d'une prochaine connexion.
- Le client possède aussi un historique des commandes passés. Chaque commande étant constitués d'une liste d'articles, d'informations sur le transport et sur la méthode de transport, ainsi que de zéro ou plusieurs code promotionnel.
- Un article correspond en fait à un lot. C'est à dire qu'on peut vendre une certaine quantité pour un prix unitaire X et une autre quantité du même produit, pour un prix unitaire Y. Chaque article pouvant être sujet de zéro ou plusieurs promotions. De plus une TVA unique ( en tout cas pour l'instant ) est appliqué à chaque produit.
- Et enfin, je voudrais représenter un système de statistiques pour savoir le taux de visualisation et d'achat de chaque article.
Mon premier problème (ué j'en ai plusieurs ) est pour la représentation des articles dans les paniers et dans les historiques de commandes. En effet, si le prix d'un article change, je veux que la modification soit répercutée dans le panier, mais pas dans l'historique des commandes. Pareil pour un changement de TVA, ou de promotion, etc...
Du coup, je pense que la modélisation que j'ai faite, n'est pas bonne sur ce point, mais je vois pas trop comment faire. Si ce n'est avoir des classes "item" distinct et ne pas pouvoir modifier la TVA et les promos, mais devoir en créer de nouveaux à chaque fois ?
Et le deuxième point, est que je n'ai aucune idée pour l'instant, de comment faire le système de statistiques. Des avis la dessus ?
Que pensez vous de mon diagramme jusqu'à présent ? J'ai pas eu l'occasion d'en faire dans le travail, depuis la fac, donc je suis pas mal rouillé
Merci d'avance
Partager