UML 2.0 - Présentation

UML 2.0 est une dimension totalement différente dans le monde du langage de modélisation unifié. Il est de nature plus complexe et étendue. L'étendue de la documentation a également augmenté par rapport à la version UML 1.5. UML 2.0 a ajouté de nouvelles fonctionnalités afin que son utilisation puisse être plus étendue.

UML 2.0 ajoute la définition d'une sémantique formelle et complètement définie. Cette nouvelle possibilité peut être utilisée pour le développement de modèles et les systèmes correspondants peuvent être générés à partir de ces modèles. Cependant, pour utiliser cette nouvelle dimension, un effort considérable doit être fait pour acquérir des connaissances.

Nouvelles dimensions dans UML 2.0

La structure et la documentation d'UML ont été entièrement révisées dans la dernière version d'UML 2.0. Il y a maintenant deux documents disponibles qui décrivent UML -

  • L'infrastructure UML 2.0 définit les constructions de base du langage sur lequel UML est basé. Cette section ne concerne pas directement les utilisateurs d'UML. Cela s'adresse davantage aux développeurs d'outils de modélisation. Cette zone n'entre pas dans le cadre de ce tutoriel.

  • La superstructure UML 2.0 définit les constructions utilisateur d'UML 2.0. Cela signifie les éléments d'UML que les utilisateurs utiliseront au niveau immédiat. C'est l'objectif principal de la communauté d'utilisateurs d'UML.

Cette révision d'UML a été créée pour atteindre un objectif de restructuration et de raffinement d'UML afin de simplifier l'utilisabilité, l'implémentation et l'adaptation.

L'infrastructure UML est utilisée pour -

  • Fournir un noyau méta-langage réutilisable. Ceci est utilisé pour définir UML lui-même.

  • Fournir des mécanismes pour ajuster la langue.

La superstructure UML est utilisée pour -

  • Fournir un meilleur support pour le développement basé sur les composants.

  • Améliorer les constructions pour la spécification de l'architecture.

  • Fournir de meilleures options pour la modélisation du comportement.

Le point important à noter est les principales divisions décrites ci-dessus. Ces divisions sont utilisées pour augmenter la convivialité d'UML et définir une compréhension claire de son utilisation.

Il y a une autre dimension qui est déjà proposée dans cette nouvelle version. Il s'agit d'une proposition pour un tout nouveau langage OCL (Object Constraint Language) et échange de diagrammes. Ces fonctionnalités forment toutes ensemble le package UML 2.0 complet.

Modélisation de diagrammes dans UML 2.0

Modélisation des interactions

Les diagrammes d'interaction décrits dans UML 2.0 sont différents des versions précédentes. Cependant, le concept de base reste le même que la version précédente. La principale différence réside dans l'amélioration et les fonctionnalités supplémentaires ajoutées aux diagrammes dans UML 2.0.

UML 2.0 modélise l'interaction avec les objets des quatre manières suivantes.

  • Sequence diagramest une vue dépendant du temps de l'interaction entre les objets pour atteindre un objectif comportemental du système. La séquence temporelle est similaire à la version précédente du diagramme de séquence. Une interaction peut être conçue à n'importe quel niveau d'abstraction dans la conception du système, des interactions de sous-système au niveau d'instance.

  • Communication diagramest un nouveau nom ajouté dans UML 2.0. Le diagramme de communication est une vue structurelle de la messagerie entre les objets, tirée du concept de diagramme de collaboration d'UML 1.4 et des versions antérieures. Cela peut être défini comme une version modifiée du diagramme de collaboration.

  • Interaction Overview diagramest également un nouvel ajout à UML 2.0. Un diagramme de présentation des interactions décrit une vue de haut niveau d'un groupe d'interactions combinées dans une séquence logique, y compris une logique de contrôle de flux pour naviguer entre les interactions.

  • Timing diagramest également ajouté dans UML 2.0. Il s'agit d'un schéma optionnel conçu pour spécifier les contraintes de temps sur les messages envoyés et reçus au cours d'une interaction.

D'après la description ci-dessus, il est important de noter que le but de tous les schémas est d'envoyer / recevoir des messages. Le traitement de ces messages est interne aux objets. Par conséquent, les objets ont également des options pour recevoir et envoyer des messages, et voici un autre aspect important appelé interface. Désormais, ces interfaces sont responsables de l'acceptation et de l'envoi des messages entre elles.

On peut ainsi conclure que les interactions dans UML 2.0 sont décrites d'une manière différente et c'est la raison pour laquelle les nouveaux noms de diagrammes sont apparus. Si nous analysons les nouveaux diagrammes, il est clair que tous les diagrammes sont créés sur la base des diagrammes d'interaction décrits dans les versions précédentes. La seule différence réside dans les fonctionnalités supplémentaires ajoutées dans UML 2.0 pour rendre les diagrammes plus efficaces et plus ciblés.

Modélisation des collaborations

Comme nous l'avons déjà mentionné, la collaboration est utilisée pour modéliser les interactions courantes entre les objets. On peut dire que la collaboration est une interaction où un ensemble de messages est traité par un ensemble d'objets ayant des rôles prédéfinis.

Le point important à noter est la différence entre le diagramme de collaboration de la version antérieure et de la version UML 2.0. Pour faire la distinction, le nom du diagramme de collaboration a été modifié dans UML 2.0. Dans UML 2.0, il est nomméCommunication diagram.

Par conséquent, la collaboration est définie comme une classe avec des attributs (propriétés) et un comportement (opérations). Les compartiments de la classe de collaboration peuvent être définis par l'utilisateur et peuvent être utilisés pour les interactions (diagrammes de séquence) et les éléments structurels (diagramme de structure composite).

La figure suivante modélise le modèle de conception Observer en tant que collaboration entre un objet dans le rôle d'un élément observable et un nombre quelconque d'objets en tant qu'observateurs.

Modélisation de la communication

Le diagramme de communication est légèrement différent des diagrammes de collaboration des versions antérieures. Nous pouvons dire qu'il s'agit d'une version réduite des versions antérieures d'UML. Le facteur distinctif du schéma de communication est le lien entre les objets.

Ceci est un lien visuel et il manque dans le diagramme de séquence. Dans le diagramme de séquence, seuls les messages passés entre les objets sont affichés même s'il n'y a pas de lien entre eux.

Le diagramme de communication est utilisé pour empêcher le modélisateur de faire cette erreur en utilisant un format de diagramme d'objets comme base de la messagerie. Chaque objet d'un diagramme de communication est appelé une ligne de vie d'objet.

Les types de message dans un diagramme de communication sont les mêmes que dans un diagramme de séquence. Le diagramme de communication peut modéliser des messages synchrones, asynchrones, de retour, perdus, trouvés ou de création d'objet.

La figure suivante montre un diagramme d'objets avec trois objets et deux liens qui forment la base du diagramme de communication. Chaque objet d'un diagramme de communication est appelé une ligne de vie d'objet.

Modélisation d'une vue d'ensemble d'une interaction

Dans la pratique, un diagramme de séquence est utilisé pour modéliser un seul scénario. Un certain nombre de diagrammes de séquence sont utilisés pour compléter l'ensemble de l'application. Par conséquent, lors de la modélisation d'un scénario unique, il est possible d'oublier le processus total et cela peut introduire des erreurs.

Pour résoudre ce problème, le nouveau diagramme de présentation des interactions combine le flux de contrôle à partir d'un diagramme d'activité et la spécification de messagerie du diagramme de séquence.

Le diagramme d'activités utilise des activités et des flux d'objets pour décrire un processus. Le diagramme Présentation des interactions utilise des interactions et des occurrences d'interaction. Les lignes de vie et les messages trouvés dans les diagrammes de séquence n'apparaissent que dans les interactions ou les occurrences d'interaction. Cependant, les lignes de vie (objets) qui participent au diagramme Présentation de l'interaction peuvent être répertoriées avec le nom du diagramme.

La figure suivante montre un diagramme de présentation des interactions avec des losanges de décision, des cadres et un point de terminaison.

Modélisation d'un chronogramme

Le nom de ce diagramme lui-même décrit le but du diagramme. Il traite essentiellement de l'heure des événements sur l'ensemble de son cycle de vie.

Un chronogramme peut donc être défini comme un diagramme d'interaction à usage particulier conçu pour se concentrer sur les événements d'un objet au cours de sa vie. Il s'agit essentiellement d'un mélange de machine d'état et de diagramme d'interaction. Le chronogramme utilise les délais suivants -

  • Chronologie de l'état

  • Ligne de temps de valeur générale

Une ligne de vie dans un diagramme de synchronisation forme un espace rectangulaire dans la zone de contenu d'une image. Il est généralement aligné horizontalement pour lire de gauche à droite. Plusieurs lignes de vie peuvent être empilées dans le même cadre pour modéliser l'interaction entre elles.

Sommaire

UML 2.0 est une version améliorée où les nouvelles fonctionnalités sont ajoutées pour le rendre plus utilisable et efficace. Il existe deux catégories principales dans UML 2.0, l'une est la super structure UML et l'autre est l'infrastructure UML. Bien que les nouveaux diagrammes soient basés sur les anciens concepts, ils comportent encore des fonctionnalités supplémentaires.

UML 2.0 propose quatre diagrammes d'interaction, le diagramme de séquence, le diagramme de communication, le diagramme de présentation des interactions et un diagramme de temps en option. Les quatre diagrammes utilisent la notation de trame pour encadrer une interaction. L'utilisation de cadres prend en charge la réutilisation des interactions en tant qu'occurrences d'interaction.