IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Diagrammes de Classes Discussion :

Difficulté sur un diagramme de classe (à partir de merise)


Sujet :

Diagrammes de Classes

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    en reconversion
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : en reconversion
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Par défaut Difficulté sur un diagramme de classe (à partir de merise)
    Bonjour

    J'ai des difficultés pour faire un diagramme de classe à partir d'un MCD fait avec la méthode Merise.Voici le schéma du mcd de base:

    Nom : mcd.png
Affichages : 44346
Taille : 80,4 Ko
    Je pensais avoir compris mais en fait je m'aperçois que les choses ne sont pas aussi simples, notamment sur les attributs que l'ont met dans les classes.
    Ma première question est la suivante : faut il partir du MCD ou du MPD pour créer les classes, sachant que dans le MPD sont représentés les clés étrangères en plus des attributs des tables?

    Seconde question: Je voudrai exprimer le fait qu'un client peut passer plusieurs commandes (comme ça l'est dans le MCD) mais que si on supprime ce client alors, on supprime aussi ses commandes. Cette suppression serait faite dans la bdd mais aussi au niveau des objets créés.
    Pour cela j'avais pensé à faire une relation de composition entre client et commande. Dans ce cas faut il ajouter un attribut, à la classe client, qui référence toutes les commandes (tableau d'objets Commande) ?
    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    Bonjour,

    Je ne peux répondre qu'à votre seconde question, la composition est la bonne solution
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre averti
    Homme Profil pro
    en reconversion
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : en reconversion
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Par défaut
    Merci beaucoup pour votre réponse

    A partir de là, j'ai essayé de faire un diagramme de classes.


    Nom : Diagramme.png
Affichages : 43689
Taille : 16,7 Ko


    Ce n'est qu’une partie mais la base est là. Pouvez vous me dire s'il tient la route par rapport au MCD plus haut ?
    J'ai rajouté les clés primaires, qui de toutes façons, sont présentes dans les tables de la base de données. Est ce utile pour la compréhension du diagramme ?
    Enfin comment traduire en PHP la classe d' association 'Constituer' ? j'ai cherché sur le net mais pas d'explication sauf pour java.

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    La composition entre Client et Commande étant bi directionnelle vous n'avez pas besoin de l'attribut idClient dans la classe Commande, il vous suffira d'un accesseur défini sur Client pour l'obtenir.

    De même idActivite, idCatProd et idMarque sont inutiles dans la classe Produit puisque vous avez déjà les relations

    Vous êtes sure que la relation entre Produit et Commande à besoin d'être bi directionnelle ? C'est pour avertir un client qu'un produit n'est pas disponible par exemple ?

    Il y a plusieurs façon d'implémenter une classe-association, mais dans votre cas je ne vois pas bien l’intérêt de celle-ci puisqu'elle ne semble au niveau classe mémoriser seulement un nombre. Une relation avec une multiplicité variable étant supportée par une collection cette dernière vous fournira ce nombre.
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Membre averti
    Homme Profil pro
    en reconversion
    Inscrit en
    Avril 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : en reconversion
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 50
    Par défaut
    Bonjour et désolé pour cette réponse tardive.

    En y réfléchissant , effectivement mes clés étrangères n'ont pas beaucoup d'utilité. Erreur de débutant
    En fait, je pensais qu'il fallait les représenter pour préciser le diagramme.En même temps je me base deux livres pour débuter en UML et sur l'un d' eux qui montre brièvement comment interpréter un MCD en diag de classes, il y avait un exemple où il y avait une clé étrangère représentée alors je me suis dit qu'il fallait suivre l'exemple.
    Je m’aperçois q' UML et Merise m'embrouille un peu la tête.

    Pour la relation bidirectionnelle entre Produit et Commande, oui je suis sûr car je veux effectivement avertir un client qu'un produit n'est plus disponible (à moins que vous n'ayez une autre solution ?).

    Que voulez vous dire par :" Une relation avec une multiplicité variable étant supportée par une collection cette dernière vous fournira ce nombre. " ?

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    Citation Envoyé par Reelo Voir le message
    ... il y avait un exemple où il y avait une clé étrangère représentée alors je me suis dit qu'il fallait suivre l'exemple.
    Vous pourriez ne pas avoir la relation mais l'id correspondant à la clé étrangère et donc lorsque nécessaire rechercher la chose à partir de la clé, c'est plus lent et moins pratique coté accès par contre cela peut faciliter la gestion de la suppression de la chose pointé. Personnellement je préfère avoir la relation

    Citation Envoyé par Reelo Voir le message
    Je m’aperçois q' UML et Merise m'embrouille un peu la tête.
    Sinon où serait le plaisir

    Citation Envoyé par Reelo Voir le message
    Pour la relation bidirectionnelle entre Produit et Commande, oui je suis sûr car je veux effectivement avertir un client qu'un produit n'est plus disponible (à moins que vous n'ayez une autre solution ?).
    Si la vérification peut être faite lors de la constitution de la commande alors la bidirectionnalité ne sert à rien, si la vérification est différée elle est utile

    Citation Envoyé par Reelo Voir le message
    Que voulez vous dire par :" Une relation avec une multiplicité variable étant supportée par une collection cette dernière vous fournira ce nombre. " ?
    Comment allez-vous implémenter vos relations */1..n ? A priori par une collection, et les collections permettent toujours de connaitre leur nombre d'éléments
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

Discussions similaires

  1. aide sur un diagramme de classe UML
    Par pascal91 dans le forum Diagrammes de Classes
    Réponses: 7
    Dernier message: 29/12/2008, 19h19
  2. Réponses: 3
    Dernier message: 26/07/2006, 10h03
  3. Difficulté de modelisation diagramme de classe
    Par joxbl dans le forum Diagrammes de Classes
    Réponses: 7
    Dernier message: 26/05/2006, 17h30
  4. [UML] Avis sur un diagramme de classe
    Par TraPpeur dans le forum Diagrammes de Classes
    Réponses: 6
    Dernier message: 15/03/2006, 11h56
  5. [UML] Générer un diagramme de classe à partir des sources
    Par ekard dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 18/01/2006, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo