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 :

Héritage de classe d'association


Sujet :

Diagrammes de Classes

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Héritage de classe d'association
    Bonjour,

    J'aimerais avoir vos avis sur un point particulier de mon projet.
    Cela concerne une chaîne de production qui comporte plusieurs zones de stockage.

    Les pièces suivent un chemin d'une zone à une autre. On a donc pour un type de pièce et une zone de stockage, une quantité en stock (représentée par une classe d'association).

    Il y a une zone de stockage particuliere qui communique avec l'exterieur. Dans
    cette zone, on fait la différence entre le stock entrant (ce que l'on a reçu des
    fournisseurs et qui est prêt à être acheminé dans la chaîne) et le stock sortant (ce qui sort de la chaîne est qui est prêt à être expédié aux clients).

    J'ai donc créé un type particulier de zone de stockage et de stock comme le montre le schéma ci-joint.


    Je voudrais savoir si une telle représentation est correcte, sachant que finalement la classe "IOStorageLocation" ne contiendra rien de plus que la classe "StorageLocation".

    D'autre part, je me demande si dans une telle représentation l'héritage entre "Stock" et "IOStock" représente uniquement l'héritage entre ces deux classes, ou si il représente également un héritage entre la relation A et la relation B.

    Merci d'avance pour vos réponses.
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 109
    Points : 122
    Points
    122
    Par défaut
    Hello,

    Il n'y a pas à ma connaissance de sous-typage d'associations en UML. Tu as représenté une classe IOStorage avec une association A héritée de Storage et une association B.

    Ne peux tu pas considérer ta zone entrée / sortie comme la composition d'un Storage entrée et un Storage sortie ?

  3. #3
    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
    En UML2 je crois (Bruno ?) qu'il existe la notion d'héritage d'association (je crois avoir vu cela sur des slides d'IBM)
    Par contre, une classe d'association ne peut pas qualifier 2 associations. C'est le cas de ta classe "fille". RSM semble le permettre car tu as une relation d'héritage qui "masque" le truc mais je crois que tu n'as pas le droit de faire cela.

    Bruno pages pourrait peut être confirmer tout ceci, BrunoOOOOOOOOOOO ?

  4. #4
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Points : 127
    Points
    127
    Par défaut
    Bonjour,

    La semantique d'une classe d'association est l'union de la semantique d'une classe et d'une association, on peut donc la sous-classer.

    Applique a ton schema, il y a 2 associations ayant Part pour extremite.


    Dans ton schema, si tu ajoutes la contrainte (ligne en pointillee)
    B - - - << refine >> - - - > A
    (B et A les associations).
    Il n'y a alors plus qu'une seule association ayant Part comme extremite.
    Ce qui donnerai, applique a ton cas :
    - l'association entre un Part et un StorageLocation (strictement) est une instance de Stock,
    - l'association entre un Part et un IOStorageLocation est une instance de IOStock.
    Mais c'est la meme association (renommer 'B' en 'A' devient plus clair).

    Remarques:
    - je ne crois pas qu'aucun modeleur ne sache generer le code correspondant.
    - le stereotype <<refine>> est plus souvent utilise entre differents modeles, rarement au sein du meme modele.

    Alex.

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses.

    Pour l'instant j'ai adopté une autre solution : je n'ai plus de classe StorageLocation, mais un attribut location de type String dans Stock.
    C'est peut être un peu sauvage comme solution, mais ça me simplifie pas mal les choses pour la suite, étant donné que mes zones de stockage sont identifiées uniquement par une chaîne de caractères...

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

Discussions similaires

  1. Héritage de classes et associations "is-a"
    Par davcha dans le forum Design Patterns
    Réponses: 3
    Dernier message: 13/10/2008, 21h15
  2. [UML] Classe d'association et cardinalités
    Par djflex68 dans le forum Diagrammes de Classes
    Réponses: 6
    Dernier message: 08/02/2006, 19h08
  3. [OO] Héritage - Mixins Classes
    Par djmalo dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 01/03/2005, 23h16
  4. Classe d'association ? comment est ce implémenté ??
    Par clawhammer dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 16/09/2004, 19h40
  5. problème de classe d'association
    Par Nip dans le forum Diagrammes de Classes
    Réponses: 8
    Dernier message: 08/06/2004, 16h08

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