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

Design Patterns Discussion :

[uml] implementation de collections


Sujet :

Design Patterns

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 80
    Points : 53
    Points
    53
    Par défaut [uml] implementation de collections
    Bonjour,

    Je débute en modélisation uml, et j'aimerais avoir confirmation de ma vision des choses sur un point précis. Je travaille en java.

    Je possède 2 classes : Ident et TabIdent.
    La classe TabIdent stocke des objets Ident grâce à une HashMap. Cette HashMap est un attribut privé de TabIdent.

    public static class TabIdent{

    private HashMap mesIdents;

    ...
    Donc, je me demande comment représenter la liasion entre ces 2 classe. Je pensais indiquer une agrégation entre TabIdent et Ident comme ceci :

    _____________ .......................____________________________
    |.....Ident .....|.......... ....... .....| ...............TabIdent.............. |
    --------------- 0..* 1 ............. --------------------------------
    | .................|<___________<>| - mesIdents[0..*] : Ident .......|
    | .................|...................... | ..........................................|
    |___________| .......................|__________________________ |


    (le symbole <> correspond au losange blanc de uml)

    Est ce que cette représentation est correcte ? Notament le "mesIdents[0..*] : Ident". Doit on spécifié que l'on utilise une HashMap. (par exemple en indiquant une relation vers la classe HashMap).

    Je pense que cette question doit être évident pour la plupart d'entre vous, mais je n'ai pas trouvé de réponse précise à ma question sur internet.

    Un grand merci d'avance pour votre aide !

  2. #2
    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
    Tu n'as pas besoin de l'attribut de type tableau dans TabIdent car cet "attribut" est représenté par l'association entre TabIdent et Ident.
    Si tu veux une HashMap, cela veut dire qu'il existe une clé de rangement des Ident dans TabIdent; il faut donc définir un "Qualifier" côté TabIdent dans ton association.
    Pour définir le type précis HashMap, il faut le faire dans les propriétés de génération de code du rôle de ton association côté Ident. Cette association entre un rôle et un type du langage de programmation dépend de l'outil que tu utilises pour faire ta modélisation

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    Merci pour cette réponse.
    Cependant qu est ce qu'un "qualifier" ?
    Au lieu de "mesIdents[0..*] : Ident" je dois mettre "mesIdents : Ident" ? Mais à ce moment on pourrait croire que on a definit un attribut Ident simple non ? A moins que l'indication de multicplicité indique implicitement que Ident n'est pas tout seul ..

  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
    Pas d'attribut !!
    C'est l'association qui fait office d'attribut.
    Un qualifier est une caractéristique d'un rôle et a comme valeur un type.
    Par exemple, si tes Ident sont stockés dans ta "future" HashMap en fonction d'une clé de type String et que pour une clé donnée tu as 0 ou 1 Ident, tu auras ceci :




    Dans le cas décrit, tu n'as pas à mettre de 0..*, c'est le fait d'avoir un qualifier (key) qui permet de dire le "*"

  5. #5
    Expert confirmé
    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
    Points : 4 166
    Points
    4 166
    Par défaut
    Voilà un bel exemple didactique pour illustrer les qualifiers. Certains ferait bien de venir jeter un oeil sur ce topic.
    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

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/06/2010, 11h24
  2. implementation conception uml
    Par Heaven dans le forum UML
    Réponses: 1
    Dernier message: 01/02/2007, 17h44
  3. [Collections]Implémenter une recherche multi-critère performante
    Par ppaul127 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/12/2005, 14h38
  4. [Collections]Implémentation de Pile
    Par DebutantEnJava dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 19/12/2005, 00h21
  5. Implémentation d'une collection de collection
    Par thomine dans le forum Hibernate
    Réponses: 7
    Dernier message: 21/03/2005, 09h24

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