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 :

[DC] le lien identifiant en UML : association / composition / aggrégation


Sujet :

Diagrammes de Classes

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Par défaut [DC] le lien identifiant en UML : association / composition / aggrégation
    bonjour

    je désire modeliser une base de données avec UML. Je débute en UML mais je connais bien Merise. Je me retrouve dans un cas ou je ne sais pas comment modeliser mon probleme :

    j'aimerai savoir comment modeliser un lien identifiant entre deux classes en UML.
    je m'explique :

    par exemple, si j'ai une classe "Compte" et une classe "Operation". avec le mcd de merise j'aurais fait un lien identifiant de maniere a ce que la clé de compte migre en clé primaire d'operation


    Compte --- 0,n ------------Association--------------- (1,1) --- Operation

    avec Compte ayant pour clé IDCOMPTE
    et operation ayant pour clé IDOperation

    Comment faire avec UML pour modeliser cela ?

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Je n'ai pas compris ton problème...
    Néanmoins, j'ai déjà une vague impression qu'une association qualifée pourrait te convenir. (Je reviendrai sur cette notion si besoin).
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Par défaut
    je reexplique car c'est vrai que je n'est pas été très clair

    je veut modeliser qu'un compte bancaire (entité compte) peut avoir plusieurs opérations (entité operation). l'entité compte a pour clé primaire idCompte
    l'entité operation a pour clé primaire idoperation.
    Cependant je veut en fait que l'entité operation soit identifié a la fois par idCOmpte et idOperation.

    Avec le MCD de merise j'utilise un lien identifiant.

    En effet j'ai entendu parler d'association qualifiée mais je ne comprend pas bien comment cela marche, ni comment modeliser cela avec power AMC 9 ? avec starUML ?

  4. #4
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Compte<>--1---------1..*--Operation

    Sans mettre de flèche de navigation, cela implique au niveau implementation que les deux sens sont navigables, donc un compte possèdera une collection d'Operation, et Operation contiendra une instance de Compte ; et au niveau base de données (pour moi) cela te donne une table Compte avec une colonne pour chaque attribut (et tu ajoute une clef technique 'CompteId'), et une table Operation avec une clef etrangere sur Compte (et tu ajoute de même une clef 'OperationId').

    En UML les CompteId , TrucId (tous ces identifiants techniques) ne doivent pas apparaitre.

    J'espère ne pas avoir répondu trop à côté, vu mon état ce matin

  5. #5
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Par défaut Agrégation
    Citation Envoyé par hed62 Voir le message
    Compte<>--1---------1..*--Operation

    Sans mettre de flèche de navigation, cela implique au niveau implementation que les deux sens sont navigables
    La navigabilité est un chose, mais ce n'est pas l'aspect le plus important.

    Il s'agit d'un lien de type agrégation. Tel que représenté par hed62 (qui est la représentation correcte de la réponse à la question), ce lien signifie que Compte est un agrégat (un ensemble) d'Opérations et qu'Opération est une partie d'un Compte.

    Il existe une seconde représentation avec le losange plein. Il s'agit cette fois d'un lien de composition. Compte est le composite (ou composé), Opération est la partie (ou composant).

    La différence entre ces deux concepts est qu'une partie d'agrégat peut être partie d'un autre agrégat. Pour une composition ce n'est pas possible car le composé détient (possède) fortement ses composants.
    ==> un composant ne peut composer qu'un seul composé !


    JPhi33
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    :!: Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur :resolu:

  6. #6
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    En effet, j'ai négligé l'explication de l'aggrégation. Pour terminer l'explication, il y a aussi la ligne de vie des objets qui entre en jeu.

    En effet :

    Si A<>--->B (losange vide) alors B peut vivre sans A.

    Si A<*>--->B (losange plein) alors B ne peut vivre sans A, et dépend intégralement de lui.

    Finalement, je pense que la relation entre Compte et Opération est bien une Composition :

    - une opération ne fait partie que d'un compte
    - Si on supprime le compte, on supprime toutes les occurences d'Opération (attention, je ne parle pas ici de l'historisation des opération, qui elle, garde la trace de toute chose quoiqu'il advienne)

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

Discussions similaires

  1. Y a t il un lien direct entre UML et MVC?
    Par belspirit dans le forum MVC
    Réponses: 6
    Dernier message: 27/05/2011, 00h36
  2. [MCD] Définition 'lien identifiant' & 'identifiant relatif'
    Par knoxville dans le forum Schéma
    Réponses: 14
    Dernier message: 19/03/2011, 01h27
  3. Lien hypertexte ou application associée ?
    Par Gabout dans le forum IHM
    Réponses: 5
    Dernier message: 14/09/2008, 21h27
  4. Lien identifiant ?
    Par Tiramitchou dans le forum Schéma
    Réponses: 2
    Dernier message: 25/05/2008, 00h30
  5. Lien identifiant
    Par Docsmea dans le forum Access
    Réponses: 15
    Dernier message: 26/04/2006, 16h15

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