Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1356 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [UML] Demande d'aide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[UML] Demande d'aide

n°993784
truman
Posté le 25-02-2005 à 18:27:24  profilanswer
 

Bonjour ! J'ai besoin d'aide pour mon projet en UML.
 
Bon, voici l'énoncé du problème :

Citation :

Un magasin vend des produits qui peuvent être courants ou bien d'équipement. Les biens d'équipements peuvent être unitaires ou êtres des lots comprenant plusieurs produits. Les biens d'équipements sont garantis pour une durée plus ou moins longue qui est précisé dans un contrat de garantie signé lors de la commande.
 
Les commandes sont faites par des clients particuliers ou sociétés. Les produits courants sont remis directement aux clients après la commande, par contre les biens d'équipements ou les lots comprenant au moins un bien d'équipement sont livrés chez le client à partir d'un entrepôt qui dépend du secteur géographique du client.
 
Tout exemplaire d'un bien d'équipement livré est mémorisé avec un numéro de série, la référence du lot de fabrication (numéro, date, fournisseur) et le lien avec le contrat de garantie défini lors de la commande.
 
Les clients ordinaires règlent les factures à la remise des produits ou à leur livraison. Chaque société reçoit une facture mensuelle de l'ensemble des commandes du mois qu'elle a faite. Les règlements des factures sont mémorisés.


 
Voici une capture d'écran de la modélisation que j'ai réalisé sous ConceptDraw :
http://membres.lycos.fr/judgetruman/Snap1.jpg
 
J'ai plusieurs doutes auxquels j'aimerai particulièrement qu'on m'apporte de l'aide.
 
1) D'abord la relation entre bien d'équipement et produit pose un problème. Je ne sais pas si j'ai le droit de les lier à la fois par héritage et par agrégation. Pourquoi vouloir faire cela ? Je n'ai pas trouvé d'autres manières de représenter le fait que "Les biens d'équipements peuvent être unitaires ou êtres des lots comprenant plusieurs produits".
 
2) Je ne sais pas si la représentation de la facturation est bonne. Cela représente-t-il bien correctement ce qui est demandé dans l'énoncé ?
 
3) Concernant la mémorisation des informations à la livraison d'un bien d'équipement, c'est peut être ce dont je suis le moins sûr. Puis-je réutiliser des attributs déjà utilisés dans la classe Bien d'équipement ? Puis-je lier directement la classe d'association Livraison au Contrat de garantie ?
 
Bien sûr, je suis à l'écoute de toute autre remarque. Merci de votre aide.

mood
Publicité
Posté le 25-02-2005 à 18:27:24  profilanswer
 

n°993955
el muchach​o
Comfortably Numb
Posté le 25-02-2005 à 22:34:07  profilanswer
 

edit (mince, j'ai effacé mon message) : donc je disais, pour 1) il n'y a pas d'héritage, seulement une agrégation.


Message édité par el muchacho le 25-02-2005 à 22:42:05
n°993960
truman
Posté le 25-02-2005 à 22:37:15  profilanswer
 

Donc j'enlève juste la relation d'héritage ok. Mais est-ce que je ne devrai pas modéliser une classe Lot ?  
 
Et pour le reste ?
 
Merci de ta réponse.

n°993971
el muchach​o
Comfortably Numb
Posté le 25-02-2005 à 22:44:04  profilanswer
 

Oui, une classe lot, pourquoi pas, c'est une classe intermédiaire, ça ne mange pas de pain et c'est plus propre. C'est elle qui modélisera l'agrégation et une instance de cette classe sera incluse dans ta classe bien d'équipement.
 
Sinon, tu peux créer une classe EtatClients, agrégation pour enregistrer les états EtatClient de chaque client (facturé, réglé, livré, en attente de livraison, ayant souscrit un contrat de garantie, etc). Attention cependant à ce que ctte classe ne se transforme pas en fourre-tout. Cette agrégation sera bien entendu modulable (extensible au fur et à mesure des ajouts de nouveaux clients).
 
Pour savoir comment modéliser ton système, il faut bien réfléchir à tous les différents cas d'utilisation (les interactions entre les sous-systèmes et les divers acteurs). Ce sont eux qui déterminent la dynamique du système, et donc l'architecture. Donc je te conseille de les lister pour avoir une vue globale.


Message édité par el muchacho le 25-02-2005 à 23:06:50
n°993986
pains-aux-​raisins
Fatal error
Posté le 25-02-2005 à 23:05:17  profilanswer
 

juste une remarque, c'est voulu l'absence de multiplicités sur le diagramme des classes ?

n°993991
pains-aux-​raisins
Fatal error
Posté le 25-02-2005 à 23:15:37  profilanswer
 

Autre remarque, a ta place je ne mettrais pas de relation de composition entre Produit et Commande.
La composition est une relation forte qui en général implique que la suppression du "contenant" entraine également la suppression du "contenu".
Si on supprime une instance de Commande ou de Produit, cela n'implique pas la suppression de l'autre. J'ai bien des commandes de produits qui n'existent plus.
En plus elle semblerait mal orientée.
 
Même remarque entre Contrat de Garantie et Commande, l'agrégation ne me semble pas correcte. Une simple relation avec les bonnes multiplicité doit suffire.

n°994001
pains-aux-​raisins
Fatal error
Posté le 25-02-2005 à 23:42:16  profilanswer
 

Entre la classe Produit et celle de Bien d'équipement je conserverai à la fois l'héritage et l'agrégation. La classe Lot n'est pas justifiée. Nomme simplement "lot" l'agrégation entre Prduit et Bien d'équipement.
 
Ensuite la classe associative Facturation Mensuelle ne sert à rien. Migre l'attribut date dans la classe Facture et tout ira bien. Par contre il faut que tu rajoutes des attributs à cette classe Facture pour mémoriser le réglement du client (payé : oui,non ; mode de reglement : CB, esp, chèque ; etc)
 
Autre problème, dans ton modèle, on ne peut pas faire le lien entre la facture et ce qui a été acheté ce qui est pour le moins très génant. Je serais toi, je relierai Facture à Commande.
 
Dans ce contexte la classe Magasin est superflue.
 
La classe associative Livraison doit être reliée non pas à Contrat de garantie mais à Bien d'équipement. Cette classe associative n'a pas d'attribut car Bien d'équipement hérite des attributs de Produit.
 
Bon, si tu nous refaisais un diagramme et que tu le postais pour voir ce que ca donne ?


Message édité par pains-aux-raisins le 26-02-2005 à 00:05:15
n°994006
pains-aux-​raisins
Fatal error
Posté le 26-02-2005 à 00:07:04  profilanswer
 

Supprime les association entre Facture d'une part, et Particulier et Société d'autre part, pour n'avoir plus que l'association entre Facture et Client.

n°994007
pains-aux-​raisins
Fatal error
Posté le 26-02-2005 à 00:08:13  profilanswer
 

Si tu suis ces modifs, tu dois obtenir selon moi un diagramme plus simple et plus juste.

n°994074
truman
Posté le 26-02-2005 à 11:40:22  profilanswer
 

Merci pour toutes ces précieuses indications. Je vais effectuer toutes les modifications et je reposterai le diagramme ici, dès que j'aurai le temps.
 
A+ !

mood
Publicité
Posté le 26-02-2005 à 11:40:22  profilanswer
 

n°994291
truman
Posté le 26-02-2005 à 18:12:41  profilanswer
 

Re !
 
Bon ça y est, j'ai effectué les modifs que tu m'as conseillé pains-aux-raisins. Juste une chose, j'ai décidé de conserver la classe magasin. En effet, même si ça n'a pas vraiment d'utilité comme tu l'as dit, je pense que ça donne tout de même plus de sémantique au diagramme, tu ne crois pas ? Bref, voila le diagramme fraîchement remanié :
 
http://membres.lycos.fr/judgetruman/Snap2.jpg


Message édité par truman le 26-02-2005 à 18:13:00
n°994306
pains-aux-​raisins
Fatal error
Posté le 26-02-2005 à 18:40:52  profilanswer
 

Bon y a du mieux mais c'est pas encore ça.
 
Concernant la classe Magasin, pourquoi est-elle inutile ? Parce que dans l'énoncé on ne parle que d'un seul magasin.
Une classe n'a vraiment d'intérêt quand plusieurs instances apparaissent. Ce qui n'est pas le cas ici. De plus l'association avec la classe Entrepot est erronée, et pourquoi n'y aurait-il pas alors d'association entre Magasin et Commande ? Le magasin émet bien une commande ?
Pourquoi il n'y aurait-il pas d'association entre Magazin et Contrat de garanti ? Tu te retrouve dans ce cas à une classe en rapport avec tout ce qui est un bon critère pour dire qu'il est inutile de la représenter.
 
Il manque toujours les multiplicités !!!! C'est une chose assez importante pourtant...
 
Il faut supprimer les attributs de la classe Livraison. En effet tu peux déduire la valeur de ces attributs par l'association qui relit Livraison à Bien d'équipements qui possède ces attributs par héritage avec la classe Produit

n°994307
pains-aux-​raisins
Fatal error
Posté le 26-02-2005 à 18:43:30  profilanswer
 

Un autre petit truc, ajoute "date de règlement" à la classe Facture ;)

n°994567
truman
Posté le 27-02-2005 à 11:54:14  profilanswer
 

Concernant les multiplicités, c'était voulu. Tant que je n'ai pas le diagramme définitif ça ne sert à rien que je les mette. Je vais le refaire avec les quelques nouveaux conseils que tu m'as donné et cette fois je mettrai les cardinalités. A+

n°994584
truman
Posté le 27-02-2005 à 12:39:33  profilanswer
 

Et voici donc, le nouveau diagramme :
 
http://membres.lycos.fr/judgetruman/Snap3.jpg

n°994595
pains-aux-​raisins
Fatal error
Posté le 27-02-2005 à 12:59:42  profilanswer
 

Ah ! Voilà qui commence à avoir de l'allure :sol:
si j'insistais pour que tu mettes les multiplicités c'est parce que je sentais qu'il y avait des zones d'ombre.
En effet, il y a des problèmes à ce niveau.
Je t'en parle à mon retour.
Pendant ce temps, essaie de voir ce qui peut clocher.
;)


Message édité par pains-aux-raisins le 27-02-2005 à 13:01:43
n°996197
truman
Posté le 28-02-2005 à 18:59:17  profilanswer
 

pains-aux-raisins tu m'abandonnes ? :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [UML] Demande d'aide

 

Sujets relatifs
aide pour une requete svpaide sur une ligne de Prog
probleme compatibilité vidéo avec ie, demande d'aide. [JavaScript] Probleme effet sur image - demande aide
strcpy?? c flou.... besoin d'aide.. merciaide lecteur carte telephone
besoin d'aide pour un programme[Aide pour débutant] Programme pour lire info sur port parallèle
Plus de sujets relatifs à : [UML] Demande d'aide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR