Qu'est-ce que la relation UML?
Les relations dans UML sont utilisées pour représenter une connexion entre des éléments structurels, comportementaux ou de regroupement. Il est également appelé lien qui décrit comment deux ou plusieurs choses peuvent être liées les unes aux autres pendant l'exécution d'un système. Les types de relation UML sont Association, Dépendance, Généralisation et Réalisation.
Permet de les étudier en détail
- Association
C'est un ensemble de liens qui relie des éléments du modèle UML. Il définit également combien d'objets participent à cette relation.
- Dépendance
Dans une relation de dépendance, comme son nom l'indique, deux éléments ou plus dépendent l'un de l'autre. Dans ce type de relation, si nous modifions un élément particulier, il est probable que tous les autres éléments soient également affectés par le changement.
- Généralisation
Cela s'appelle également une relation parent-enfant. En général, un élément est une spécialisation d'un autre composant général. Il peut lui être substitué. Il est principalement utilisé pour représenter l'héritage.
- La concrétisation
Dans une relation de réalisation d'UML, une entité désigne une responsabilité qui n'est pas implémentée par elle-même et l'autre entité qui les met en œuvre. Cette relation se retrouve principalement dans le cas des interfaces.
Dans ce didacticiel UML, vous apprendrez:
- Association
- Dépendance
- Généralisation
- La concrétisation
- Composition
- Agrégation
Association
Il s'agit d'une relation structurelle qui représente des objets qui peuvent être connectés ou associés à un autre objet à l'intérieur du système. Les contraintes suivantes peuvent être appliquées à la relation d'association.
- {implicite} - Les contraintes implicites spécifient que la relation n'est pas manifeste; il est basé sur un concept.
- {ordonné} - Les contraintes ordonnées spécifient que l'ensemble des objets à une extrémité d'une association sont d'une manière spécifique.
- {modifiable} - La contrainte modifiable spécifie que la connexion entre divers objets du système peut être ajoutée, supprimée et modifiée selon les besoins.
- {addOnly} - Il spécifie que les nouvelles connexions peuvent être ajoutées à partir d'un objet qui est situé à l'autre extrémité d'une association.
- {gelé} - Il spécifie que lorsqu'un lien est ajouté entre deux objets, il ne peut pas être modifié tant que la contrainte gelée est active sur le lien donné ou une connexion.
Nous pouvons également créer une classe qui a des propriétés d'association; il est appelé en tant que classe d'association.
Association réflexive
L'association réflexive est un sous-type de relation d'association dans UML. Dans une association réflexive, les instances de la même classe peuvent être liées les unes aux autres. On dit également qu'une instance d'une classe est un objet.
L'association réflexive indique qu'un lien ou une connexion peut être présent dans les objets de la même classe.
Prenons un exemple de fruit de classe. La classe de fruits a deux instances, comme la mangue et la pomme. L'association réflexive indique qu'un lien entre la mangue et la pomme peut être présent car ce sont des instances de la même classe, comme les fruits.
Association dirigée
Comme son nom l'indique, l'association dirigée est liée à la direction du flux au sein des classes d'association.
Dans une association dirigée, le flux est dirigé. L'association d'une classe à une autre classe ne circule que dans une seule direction.
Il est indiqué par une ligne continue avec une pointe de flèche.
Exemple:
Vous pouvez dire qu'il existe une relation d'association dirigée entre un serveur et un client. Un serveur peut traiter les requêtes d'un client. Ce flux est unidirectionnel et ne circule que du serveur au client. Par conséquent, une relation d'association dirigée peut être présente dans les serveurs et les clients d'un système.
Dépendance
En utilisant une relation de dépendance dans UML, on peut relier comment diverses choses à l'intérieur d'un système particulier dépendent les unes des autres. La dépendance est utilisée pour décrire la relation entre divers éléments dans UML qui dépendent les uns des autres.
Stéréotypes
- « Bind » - Bind est une contrainte qui spécifie que la source peut initialiser le modèle à un emplacement cible, en utilisant les paramètres ou les valeurs fournis.
- «Dériver» - Cela signifie que l'emplacement d'un objet source peut être calculé à partir de l'objet cible.
- «Ami» - Il spécifie que la source a une visibilité unique dans l'objet cible.
- «InstanceOf» - Il spécifie que l'instance d'un classificateur cible est l'objet source.
- «Instancier» - Il spécifie que l'objet source est capable de créer des instances d'un objet cible.
- «Raffiner» - Il spécifie que l'objet source a une abstraction exceptionnelle par rapport à celle de l'objet cible.
- «Use» - Il est utilisé lors de la création de packages en UML. Le stéréotype d'utilisation décrit que les éléments d'un paquet source peuvent également être présents à l'intérieur du paquet cible. Il décrit que le paquet source utilise certains éléments d'un paquet cible.
- «Substitut» - spécifie que le client peut être substitué au fournisseur lors de l'exécution.
- «Access» - Il spécifie que le paquet source accède aux éléments du paquet cible qui est également appelé comme une fusion privée.
- «Import» - Il spécifie que la cible peut importer l'élément d'un paquet source comme ils sont définis à l'intérieur de la cible qui est également appelée comme une fusion publique.
- «Permit» - spécifie que l'élément source a accès à l'élément fournisseur quelle que soit la visibilité déclarée du fournisseur.
- «Extend» - Vous aide à spécifier que la cible peut étendre le comportement de l'élément source.
- «Inclure» - Vous permet de spécifier l'élément source qui peut être inclus dans le comportement d'un autre élément à un emplacement spécifié. (identique à un appel de fonction en c / c ++)
- «Devenir» - Il spécifie que la cible est similaire à la source avec des valeurs et des rôles différents.
- «Call» - Il spécifie que la source peut invoquer une méthode d'objet cible.
- «Copie» - Il spécifie que l'objet cible est indépendant, copie d'un objet source.
- «Paramètre» - le fournisseur est un paramètre des opérations du client .
- «Envoyer» - le client est une opération qui envoie au fournisseur une cible non spécifiée.
Stéréotypes parmi la machine d'état
- «Send» - Spécifie que l'opération source envoie l'événement cible.
Généralisation
C'est une relation entre une entité générale et une entité unique qui est présente à l'intérieur du système.
Dans une relation de généralisation, le concept orienté objet appelé héritage peut être implémenté. Une relation de généralisation existe entre deux objets, également appelés entités ou choses. Dans une relation de généralisation, une entité est un parent et une autre est considérée comme un enfant. Ces entités peuvent être représentées par héritage.
Dans l'héritage, un enfant de n'importe quel parent peut accéder, mettre à jour ou hériter de la fonctionnalité comme spécifié dans l'objet parent. Un objet enfant peut ajouter ses fonctionnalités à lui-même et hériter de la structure et du comportement d'un objet parent.
Ce type de relation est connu sous le nom de relation de généralisation.
Les stéréotypes et leurs contraintes
- «Implémentation» - Ce stéréotype est utilisé pour représenter que l'entité enfant est implémentée par l'entité parent en héritant de la structure et du comportement d'un objet parent sans violer les règles. Remarque Ce stéréotype est largement utilisé dans un héritage unique .
La relation de généralisation contient des contraintes telles que complète, incomplète pour vérifier si toutes les entités enfants sont incluses ou non dans la relation.
La concrétisation
Dans une relation de réalisation d'UML, une entité désigne une responsabilité qui n'est pas implémentée par elle-même et l'autre entité qui les met en œuvre. Cette relation se retrouve principalement dans le cas des interfaces.
La réalisation peut être représentée de deux manières:
- Utiliser une forme canonique
- Utiliser une forme élidée
Dans le diagramme ci-dessus, les règles métier du compte réalisent l'interface IRuleAgent.
Types de réalisation:
- Forme canonique
Dans une relation de réalisation d'UML, la forme canonique est utilisée pour réaliser des interfaces à travers le système. Il utilise un stéréotype d'interface pour créer une interface et une relation de réalisation est utilisée pour réaliser l'interface particulière.
Dans une forme canonique, la relation de réalisation est indiquée en utilisant la ligne dirigée en pointillés avec une pointe de flèche ouverte de taille.
Dans le diagramme ci-dessus, l'interface Iruleagent est réalisée à l'aide d'un objet appelé Account Business Rules.
- Forme élidée
La réalisation dans le diagramme de classes UML peut également être représentée en utilisant une forme élidée. Dans une forme élidée, l'interface est désignée à l'aide d'un cercle qui est également appelé notation sucette.
Cette interface, lorsqu'elle est réalisée en utilisant tout ce qui est présent à l'intérieur du système, crée une structure élidée.
Dans le diagramme ci-dessus, l'interface Iruleagent est désignée en utilisant une forme élidée qui est réalisée par acctrule.dll.
Composition
Ce n'est pas une relation UML standard, mais elle est toujours utilisée dans diverses applications.
L'agrégation composite est un sous-type de relation d'agrégation avec des caractéristiques telles que:
- c'est une association bidirectionnelle entre les objets.
- C'est une relation tout / partie.
- Si un composite est supprimé, toutes les autres pièces qui lui sont associées sont supprimées.
L'agrégation composite est décrite comme une association binaire décorée d'un diamant noir rempli à l'extrémité (entière) de l'agrégat.
Un dossier est une structure qui contient n nombre de fichiers. Un dossier est utilisé pour stocker les fichiers qu'il contient. Chaque dossier peut être associé à n'importe quel nombre de fichiers. Dans un système informatique, chaque fichier fait partie d'au moins un dossier à l'intérieur du système d'organisation de fichiers. Le même fichier peut également faire partie d'un autre dossier, mais ce n'est pas obligatoire. Chaque fois qu'un fichier est supprimé du dossier, le dossier reste inchangé tandis que les données liées à ce fichier particulier sont détruites. Si une opération de suppression est exécutée sur le dossier, elle affecte également tous les fichiers présents dans le dossier. Tous les fichiers associés au dossier sont automatiquement détruits une fois le dossier supprimé du système.
Ce type de relation dans UML est connu par relation d'agrégation composite.
Agrégation
Une agrégation est un sous-type de relation d'association dans UML. L'agrégation et la composition sont les deux types de relation d'association dans UML. Une relation d'agrégation peut être décrite en termes simples comme «un objet d'une classe peut posséder ou accéder aux objets d'une autre classe».
Dans une relation d'agrégation, l'objet dépendant reste dans la portée d'une relation même lorsque l'objet source est détruit.
Prenons un exemple de voiture et de roue. Une voiture a besoin d'une roue pour fonctionner correctement, mais une roue n'a pas toujours besoin d'une voiture. Il peut également être utilisé avec le vélo, le vélo ou tout autre véhicule mais pas une voiture en particulier. Ici, l'objet roue est significatif même sans l'objet voiture. Ce type de relation est appelé une relation d'agrégation.
Résumé
- La relation dans UML permet à une chose de se rapporter à d'autres choses à l'intérieur du système.
- Une association, une dépendance, une généralisation et des relations de réalisation sont définies par UML.
- La relation de composition peut également être utilisée pour représenter que l'objet peut faire partie d'un seul composite à la fois.
- L'association est utilisée pour décrire qu'un objet peut être associé à un autre objet.
- La dépendance indique que les objets peuvent être dépendants les uns des autres.
- Une réalisation est une relation significative entre les classificateurs.
- La généralisation est également appelée relation parent-enfant.