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 :

UML: association n-aire avec 2 classes déjà associées


Sujet :

Diagrammes de Classes

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Points : 53
    Points
    53
    Par défaut UML: association n-aire avec 2 classes déjà associées
    Bonjour,

    Je crée un diagramme de classes où une partie doit modéliser cela : un établissement universitaire (par exemple : faculté ou école) est lié à un ou plusieurs diplomes, ces diplomes là ont des années spécifiques d'études, par exemple pour un Deug on aura la 1ère et la 2ème année, pour une licence on aura la 1ère année... et j'ai besoin de lier chaque établissement à chacun de ses diplomes pour chaque année, pour pouvoir afficher des informations de cette manière :

    * établissment 1 -> année 1 DEUG : informations ....
    année 2 DEUG : informations ...
    année 1 licence professionnelle : informations ...

    * établissment 2 -> année 1 licence fondamentale : informations ...

    * établissment 3 -> année 1 licence professionnelle : informations ...

    vous allez mieux comprendre en regardant les classes que j'ai créées (sachant que des établissement différents peuvent avoir des diplomes en commun)


    alors j'ai créé 2 classes :
    Etablissement(id_E, nom_E)[0..n]----[1..n]Diplome(id_D, nom_D, année_D)

    l'attribut année_D désigne par exemple année 1 pour DEUG ou aussi année 2 pour DEUG ou encore année 1 pour licence...

    jusqu'ici tous va bien, le problème c'est que je souhaite aussi stocker pour chaque candidat (étudiant) qui a étudié dans un ou plusieurs établissements et a eu un ou plusieurs diplomes des informations sur chaque année, par exemple : s'il a un DEUG et une licence de deux établissements différents, je dois pouvoir dire cela en précisant des informations sur sa 1ère année du DEUG, sur sa 2ème année du DEUG et sur sa 1ère année de licence, alors je comprend que je dois lier ce candidat aux 2 classes Etablissement et Diplome en même temps mais donc quoi faire? est ce qu'il est possilbe de laisser le lien déjà créé avant et ajouter une relation n-aires entre les 3 classes Candidat, Etablissement et Diplome ? par ce que je pense que dans mon cas, j'ai besoin de garder la 1ère relation (etablissement-diplome) pour le stockage. Sinon, avez vous des propositions pour m'éclairer?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 089
    Points : 31 346
    Points
    31 346
    Billets dans le blog
    16
    Par défaut
    Bonjour,

    Une solution pourrait être de transformer en une classe (appelons-la ETABL_DIPL) l’association des classes ETABLISSEMENT et DIPLOME, à partir de relations de composition. La classe ETABL_DIPL peut être dotée d’attributs, notamment l’attribut Année. Il suffirait ensuite d’établir une association entre les classes ETABL_DIPL et CANDIDAT, et (pour la production d’une base de données SQL) de rendre identifiants les attributs qui vont bien (EtablissementId, DiplomeId, Année) :


    Un diagramme logique dérivé :

    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    C'est exactement ce qui me fallait, merci infiniment pour votre aide

  4. #4
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    je me permet d'intervenir même si ce thread est résolu.
    D'un point de vue métier, il me parait essentiel de ne jamais avoir de classe/entité portant un "double nom" du genre Etablissemet_Diplome. Ces classes, si elles doivent exister doivent porter un nom qui a du sens pour le métier décrit et il est important d'essayer de trouver un nom porteur d'une réelle sémantique........ça peut parfois être difficile je le reconnais.

    Pour revenir à ton problème, je me demande si la modélisation suivante n'est pas plus juste ?
    La classe Cursus (mais il faudrait voir si le nom est juste) correspond à "DEUG" ou "MAITRISE". Le Diplôme, est-ce le bon terme ?, correspond à DEUG 1e année, DEUG 2e année,...
    Une Personne (ou Candidat si le terme est mieux pour toi) peut être "Diplômé" pour un Diplôme dans un Etablissement donnée. Une règle en plus du modèle ci-dessous est que l'Etablissement d'un Diplomé donne nécessairement le Diplome délivré.
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. association n-aire diagramme de classe
    Par philbon dans le forum UML
    Réponses: 2
    Dernier message: 07/12/2012, 15h20
  2. Réponses: 0
    Dernier message: 04/02/2009, 16h12
  3. Réponses: 18
    Dernier message: 26/11/2007, 15h43
  4. association n-aire avec PowerAMC ?
    Par sara21 dans le forum PowerAMC
    Réponses: 1
    Dernier message: 25/05/2007, 02h44
  5. Probleme avec une classe d'association
    Par bassim dans le forum UML
    Réponses: 7
    Dernier message: 18/04/2007, 14h42

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