Blog

Unified Modeling Language (UML)

Le Langage de Modélisation Unifié, de l’anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d’un système. Il est couramment utilisé en développement logiciel et en conception orientée objet.

L’UML est le résultat de la fusion de précédents langages de modélisation objet : Booch, OMT, OOSE. Principalement issu des travaux de Grady Booch, James Rumbaugh et Ivar Jacobson, UML est à présent un standard adopté par l’Object Management Group (OMG).

Les diagrammes sont dépendants hiérarchiquement et se complètent, de façon à permettre la modélisation d’un projet tout au long de son cycle de vie. Il en existe quatorze depuis UML 2.3.
Diagrammes de structure ou diagrammes statiques

Les diagrammes de structure (structure diagrams) ou diagrammes statiques (static diagrams) rassemblent :

Diagramme de classes (class diagram) : représentation des classes intervenant dans le système.
Diagramme d’objets (object diagram) : représentation des instances de classes (objets) utilisées dans le système.
Diagramme de composants (component diagram) : représentation des composants du système d’un point de vue physique, tels qu’ils sont mis en œuvre (fichiers, bibliothèques, bases de données…)
Diagramme de déploiement (deployment diagram) : représentation des éléments matériels (ordinateurs, périphériques, réseaux, systèmes de stockage…) et la manière dont les composants du système sont répartis sur ces éléments matériels et interagissent entre eux.
Diagramme des paquets (package diagram) : représentation des dépendances entre les paquets (un paquet étant un conteneur logique permettant de regrouper et d’organiser les éléments dans le modèle UML), c’est-à-dire entre les ensembles de définitions.
Diagramme de structure composite (composite structure diagram) : représentation sous forme de boîte blanche les relations entre composants d’une classe (depuis UML 2.x).
Diagramme de profils (profile diagram) : spécialisation et personnalisation pour un domaine particulier d’un meta-modèle de référence d’UML (depuis UML 2.2).

Diagrammes de comportement

Les diagrammes de comportement (behavior diagrams) rassemblent :

Diagramme des cas d’utilisation (use-case diagram) : représentation des possibilités d’interaction entre le système et les acteurs (intervenants extérieurs au système), c’est-à-dire de toutes les fonctionnalités que doit fournir le système.
Diagramme états-transitions (state machine diagram) : représentation sous forme de machine à états finis le comportement du système ou de ses composants.
Diagramme d’activité (activity diagram) : représentation sous forme de flux ou d’enchaînement d’activités le comportement du système ou de ses composants.

Diagrammes d’interaction ou diagrammes dynamiques

Les diagrammes d’interaction (interaction diagrams) ou diagrammes dynamiques (dynamic diagrams) rassemblent :

Diagramme de séquence (sequence diagram) : représentation de façon séquentielle du déroulement des traitements et des interactions entre les éléments du système et/ou de ses acteurs.
Diagramme de communication (communication diagram) : représentation de façon simplifiée d’un diagramme de séquence se concentrant sur les échanges de messages entre les objets (depuis UML 2.x).
Diagramme global d’interaction (interaction overview diagram) : représentation des enchaînements possibles entre les scénarios préalablement identifiés sous forme de diagrammes de séquences (variante du diagramme d’activité) (depuis UML 2.x).
Diagramme de temps (timing diagram) : représentation des variations d’une donnée au cours du temps (depuis UML 2.3).

Les diagrammes de cas d’utilisation sont des diagrammes UML utilisés pour donner une vision globale du comportement fonctionnel d’un système logiciel. Ils sont utiles pour des présentations auprès de la direction ou des acteurs d’un projet, mais pour le développement, les cas d’utilisation sont plus appropriés.

Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme fait partie de la partie statique d’UML car il fait abstraction des aspects temporels et dynamiques. Une classe décrit les responsabilités, le comportement et le type d’un ensemble d’objets. Les éléments de cet ensemble sont les instances de la classe. Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs petits travaux simples. Les classes peuvent être liées entre elles grâce au mécanisme d’héritage qui permet de mettre en évidence des relations de parenté. D’autres relations sont possibles entre des classes, chacune de ces relations est représentée par un arc spécifique dans le diagramme de classes.

Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le système selon un ordre chronologique dans la formulation Unified Modeling Language.

Le diagramme d’objets, dans le langage de modélisation de donnée UML, permet de représenter les instances des classes, c’est-à-dire des objets. Comme le diagramme de classes, il exprime les relations qui existent entre les objets, mais aussi l’état des objets, ce qui permet d’exprimer des contextes d’exécution.

Un diagramme de collaboration est un diagramme d’interactions UML 1.x, représentation simplifiée d’un diagramme de séquence se concentrant sur les échanges de messages entre les objets, et où la chronologie n’intervient que de façon annexe. Il consiste en un graphe dont les nœuds sont des objets et les arcs (numérotés selon la chronologie) les échanges entre ces objets. Les diagrammes de collaboration ont été remplacés en UML 2.x par les diagrammes de communication.

Un diagramme états-transitions est un schéma utilisé en génie logiciel pour représenter des automates déterministes. Il fait partie du modèle UML et s’inspire principalement du formalisme des statecharts et rappelle les grafcets des automates. S’ils ne permettent pas de comprendre globalement le fonctionnement du système, ils sont directement transposables en algorithme. Tous les automates d’un système s’exécutent parallèlement et peuvent donc changer d’état de façon indépendante.

Le diagramme d’activité est un diagramme comportemental d’UML, permettant de représenter le déclenchement d’événements en fonction des états du système et de modéliser des comportements parallélisables. Le diagramme d’activité est également utilisé pour décrire un flux de travail.

Le diagramme de composants décrit l’organisation du système du point de vue des éléments logiciels comme les modules, des données ou encore d’éléments de configuration. Ce diagramme permet de mettre en évidence les dépendances entre les composants.

En UML, un diagramme de déploiement est une vue statique qui sert à représenter l’utilisation de l’infrastructure physique par le système et la manière dont les composants du système sont répartis ainsi que leurs relations entre eux. Les éléments utilisés par un diagramme de déploiement sont principalement les nœuds, les composants, les associations et les artefacts. Les caractéristiques des ressources matérielles physiques et des supports de communication peuvent être précisées par stéréotype.

Un diagramme de navigation  est un ajout important dans l’arsenal des outils de modélisation du concepteur de site web. Il s’agit d’un type particulier de diagramme d’état-transition. Il a pour rôle de modéliser la navigation entre les différents liens des pages web. Il représente de manière formelle l’ensemble de chemins possibles entre les principales pages proposées à l’utilisateur, bref, l’aspect dynamique de l’interface utilisateur.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *