web-dev-qa-db-fra.com

Quelle est la différence entre la relation de confinement et d'agrégation dans UML?

Containment and Aggregation Relationship

Comme il est dit dans ARLOW, J., AND NEUSTADT, I. UML 2 and the Unified Process, 2nd ed Livre, il existe 7 types de relation entre différents objets.

  1. Dépendance

  2. Association

  3. Agrégation

  4. Composition

  5. Endiguement

  6. Généralisation

  7. La concrétisation

Mais j'ai ailleurs lu ailleurs que si une relation a une des conditions suivantes, il doit s'agir d'une agrégation .

a) Adhésion b) Continlement c) Assemblée

Le problème est que je ne peux pas savoir la différence entre l'agrégation et la relation de confinement comme une relation distincte!

3
Mostafa Ghadimi

Il y a beaucoup de confusion sur les termes, pas toutes les définitions que vous pourriez trouver seront alignées.

Le confinement signifie que l'objet contenant n'expose pas directement l'objet contenu. Il expose sa propre interface et peut appeler l'objet contenu pour le compte du client. Donc, il n'existe aucun moyen que le client gâche avec l'objet contenu. L'objet contenant possède l'objet contenu et le créda probablement. Comme un diner avec un comptoir où le propriétaire crée ce que vous commandez pour vous et vous offre le résultat.

Avec agrégation, l'objet d'agrégation expose directement l'interface de l'objet agrégé. Lorsque le client appelle sur l'objet agrégé, l'objet d'agrégation n'agit pas comme un intermédiaire, le client manipule directement l'objet agrégé et l'objet agrégé peut exister sans l'objet d'agrégation, ce dernier ne le possède pas et n'a généralement pas créé ce. Cela le rend simplement accessible via sa propre interface. Comme un dîner en libre service où vous avez accès à la cuisine et vous pouvez faire votre propre repas.

3
Martin Maat

Le connecteur que vous parlez est un ensemble de paquets. P. 276 de UML 2.5:

Une fusion de paquetage définit la manière dont le contenu d'un package est étendu par le contenu d'un autre paquet.

Les règles qui sont détaillées (en longueur) dans UML 2.5 p. 240.

La notation Circle-Plus est une alternative à la relation de triangle ouverte en pointillé (dépendance) avec <<merge>> mot-clé.


La plupart des outils UML (tous?) Permettent un confinement structurel à l'aide de packages pouvant être imbriqués (et peuvent contenir des éléments/des diagrammes). Le forfait fusion n'est pas nécessaire dans ces cas. Si vous souhaitez décrire la dépendance du paquet et fusionner sur un niveau abstrait/méta, vous utiliserez ce connecteur. C'est un peu malchanceux que ces ontologies n'étaient pas bien séparées. Vous trouverez donc des modèles qui utilisent des confinements à outils et sur une utilisation en haut de ces connecteurs.

2
qwerty_so