UML questions diagramme classe

UML questions diagramme classe - Divers - Programmation

Marsh Posté le 21-05-2006 à 12:57:54    

Salut,
 
Après les renseignements fort utiles récoltés sur le site sur les outils de conception et la méthode de démarrage d'UML, j'aurais quelques questions plus spécifiques concerant le diagramme de classe. Ces questions pourront peut être vous paraitre un peu simplettes, mais comme l'ouvrage que j'utilise pour appréhender UML étant assez peu précise et que je l'apprends en autodidacte, je n'ai pas vraiment le choix.
 
http://movie.nexus.free.fr/gestionPanier.JPG
 
- Comment les classes sont-elles liées entre elles ?  
Par exemple pour les classes «GestionPanier » « CtrlPanier » et « Panier ». Dois je créer une classe mère « panier » et en dériver les deux autres classes ?
 
- Pour la classe LignePanier, n’est-il pas superflu de créer un classe juste pour 2 variables membres ?
 
- Dans ce livre on me dit que les classe de type « entité » ne contiennent pas d’opération mais uniquement des attributs. Donc que font les 4 opérations suivantes dans cette entité ?
 
        - ajouterLigne()
        - recalculer()
        - supprimerLigne
        - vider()
 
- Dans les 3 entités suivantes (GestionPanier, CtrlPanier, Panier) des méthodes se répètent, comme par exemple « ajouterLigne() » ou « supprimerLigne() »
 
L’auteur veut-il dire que ces méthodes seront accessibles par ces 3 objets ? Si oui, ou faut-il les définir ?
S’agit-il d’une redéfinition des méthodes dans chacun des objets ?
S’agit-il simplement de la représentation graphique et que lors de la conception ces méthodes n’apparaîtront que dans la classe mère « Panier » ?
 
 
Merci de vos réponses

Reply

Marsh Posté le 21-05-2006 à 12:57:54   

Reply

Marsh Posté le 21-05-2006 à 13:11:13    

Il n'y a pas de réponse toute faite et c'est là la difficulté de la conception objet.
 
Il faut se poser les bonnes questions pour décider s'il faut créer un héritage, mettre en oeuvre un pattern, etc.
 
L'héritage suppose soit un comportement commun, soit des données communes, soit les deux. L'héritage est une réponse à la relation "est un", la composition répond à la relation "a un".

Reply

Marsh Posté le 21-05-2006 à 13:27:25    

Je ne comprends pas. Je pensais avoir posé des questions assez précises.
 
par exemple  

Citation :


- Pour la classe LignePanier, n’est-il pas superflu de créer un classe juste pour 2 variables membres ? (oui ou non)


 
Ou  

Citation :


- Une classe de type entité peut-elle contenir des opérations ? (oui ou non)


 
Je ne saisi pas en quoi, bien qu'il n'y ai pas de réponse toute faite à l'analyse UML en général, il est difficile de donner une réponse précise à une question précise.
 
Suis-je clair ou pas du tout ?

Reply

Marsh Posté le 21-05-2006 à 13:28:39    

C'est quoi ton livre ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 21-05-2006 à 13:29:53    

Les cahiers du programmeur UML 2 (Modéliser une application web) chez Eyrolles

Reply

Marsh Posté le 22-05-2006 à 17:33:36    

http://movie.nexus.free.fr/uml.jpg
Bon tant pis,
 
Voici un autre cas de figure. L'image ci dessus représente mon arborescence de classe. Je souhaiterai greffé à ce modéle des classes d'affichages hiérarchisées. Je m'explique :
 
Je voudrais faire une fonction d'affichage assez général dans mon objet "document". Cet affichage ne gérerai que l'entete et le cadre (bordure du document). Une autre fct d'affichage plus spécifique (mais qui utiliserai la fct d'affichage "parent::" ) serait défini dans "document chiffre" avec les mentions de montant chiffre. Puis dans mes 4 doc chiffre "devis", "facture","bon commande" et "bon livraison" je souhaiterai définir uniquement des fct d'affichage de libellé "devis", "facture"....(mais qui utiliserai aussi la fct d'affichage "parent::" )  
 
Mon souci c'est que je veux externaliser ces fct d'affichage dans d'autres objets, par exemple, pour mon objet document je voudrais créer une classe fille "document_affichage" et je veux que "document_chiffre" puisse accéder à "document_affichage". Il faudrait donc que je fasse :
 
document -> (extends) -> document_affichage -> (extends) document_chiffre
 
Le problème c'est que chaque fois que je vais créer un "document_chiffre", je vais me trimballer les fct de "document_affichage" à chaque fois.
 
Quelle solution me conseillez-vous ?  
 
- Plutot de définir mes fonctions d'affichage dans les objet eux-même, sans chercher à les externaliser
- Ou mettre en place la hiérarchie décrite ci-dessus
 
Merci de vos réponses

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed