2010-05-16 8 views
1

Je fais un diagramme de classe UML et je ne sais pas comment faire:Agrégation UML. Est nécessaire de mettre un atributte?

J'ai un contenu qui a un fichier. Les deux, le contenu et le fichier, sont représentés en tant que classes. J'ai mis une agrégation entre le contenu et le fichier. Mais je ne sais pas s'il est nécessaire de mettre un attribut dans le contenu pour représenter le fichier. Est nécessaire?

Merci.

Répondre

1

Vous pouvez créer des associations de deux façons:

  1. Vous pouvez ajouter un champ dans la classe
  2. Vous pouvez connecter deux classes avec l'association et ajoutez-y un nom

Donc, dans votre cas, vous n'avez aucune raison d'ajouter le champ après avoir créé une agrégation (qui est à ype d'une association).

0

Je pense qu'il peut être déroutant de représenter le fichier en tant que classe. Il peut être préférable de simplement mettre une note connectée au contenu expliquant comment le fichier est lié à votre système. Par exemple:

http://img100.imageshack.us/i/fileannotate.png/

Si vous mettez l'attribut sur le diagramme de classes pour le représenter comme un fichier, je pense qu'il y aura trop d'ambiguïté dans votre diagramme.

Si le fichier va être beaucoup utilisé, vous pouvez définir le fichier comme un stéréotype dans votre diagramme UML. Par exemple, si le fichier contient email addreses vous pouvez définir le stéréotype comme (Tant que le nom signifie quelque chose dans votre domaine de problème):

< < EmailAddressStore >>

Cela dit, selon ce que votre utilisation de le fichier pour, le diagramme de classe peut ne pas être le meilleur endroit pour le représenter. Il peut être plus approprié d'avoir le fichier dans le diagramme de déploiement. Comme le fichier journal dans cet exemple:

http://upload.wikimedia.org/wikipedia/en/d/da/UML_Deployment_Diagram.gif

0

Dans un UML class diagramm l'association (agrégation) implique déjà l'attribut de lien. Si vous générez du code à partir du diagramme et que l'attribut link est généré, tout ira bien. Sinon, vous devez l'inclure vous-même comme une solution de contournement.

Questions connexes