Unified Modeling Language


Unified Modeling Language
Page d'aide sur l'homonymie Pour les articles homonymes, voir UML.
Logo d'UML

UML (en anglais Unified Modeling Language ou « langage de modélisation unifié ») est un langage de modélisation graphique à base de pictogrammes. Il est apparu dans le monde du génie logiciel, dans le cadre de la « conception orientée objet ». Couramment utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de systèmes ne se limitant pas au domaine informatique [1].

UML est l'accomplissement 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 défini par l'Object Management Group (OMG). La dernière version diffusée par l'OMG est UML 2.4.1 depuis aout 2011[2].

Sommaire

Utilité d'UML

UML est utilisé pour spécifier, visualiser, modifier et construire les documents nécessaire au bon développement d'un logiciel orienté objet. UML offre un standard de modélisation, pour représenter l'architecture logiciels. Les différents élements représentables sont :

  • Activité d'un objet/logiciel
  • Acteurs
  • Processus
  • Schéma de base de données
  • Composants logiciels
  • Réutilisation de composants

Grâce aux outils de modélisation UML, il est également possible de générer automatiquement une partie de code, par exemple Java, à partir des divers documents réalisés.

Histoire

Historique d'UML.

Avant UML 1.x

UML 1.x

UML 2.x


Le formalisme d'UML

UML 2.3 propose 13 types de diagrammes (9 en UML 1.3). UML n'étant pas une méthode, leur utilisation est laissée à l'appréciation de chacun, même si le diagramme de classes est généralement considéré comme l'élément central d'UML ; des méthodologies, telles que l'UnifiedProcess, axent elles l'analyse en tout premier lieu sur les diagrammes de cas d'utilisation (Use Case). De même, on peut se contenter de modéliser seulement partiellement un système, par exemple certaines parties critiques.

  • UML se décompose en plusieurs sous-ensembles
    • Les vues : Les vues sont les observables du système. Elles décrivent le système d'un point de vue donné, qui peut être organisationnel, dynamique, temporel, architectural, géographique, logique, etc. En combinant toutes ces vues, il est possible de définir (ou retrouver) le système complet.
    • Les diagrammes : Les diagrammes sont des éléments graphiques. Ceux-ci décrivent le contenu des vues, qui sont des notions abstraites. Les diagrammes peuvent faire partie de plusieurs vues.
    • Les modèles d'élément : Les modèles d'élément sont les briques des diagrammes UML, ces modèles sont utilisés dans plusieurs types de diagramme. Exemple d'élément : cas d'utilisation (CU ou cadut'), classe, association, etc.

Mise en œuvre d'une démarche à l'aide d'UML : les vues

Vues d'UML

Une façon de mettre en œuvre UML est de considérer différentes vues qui peuvent se superposer pour collaborer à la définition du système :

  • Vue des cas d'utilisation : c'est la description du modèle « vue » par les acteurs du système. Elle correspond aux besoins attendus par chaque acteur (c'est le QUOI et le QUI).
  • Vue logique : c'est la définition du système vu de l'intérieur. Elle explique comment peuvent être satisfaits les besoins des acteurs (c'est le COMMENT).
  • Vue d'implémentation : cette vue définit les dépendances entre les modules.
  • Vue des processus : c'est la vue temporelle et technique, qui met en œuvre les notions de tâches concurrentes, stimuli, contrôle, synchronisation, etc.
  • Vue de déploiement : cette vue décrit la position géographique et l'architecture physique de chaque élément du système (c'est le OÙ).

Nota : le POURQUOI, n'est pas défini dans UML.

Les diagrammes

La hiérarchie des diagrammes UML 2.0 sous forme d'un diagramme de classes

Les 13 diagrammes UML 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.

Diagrammes structurels ou statiques

Les diagrammes structurels ou statiques (Structure Diagram) rassemblent :

  • Diagramme de classes (Class diagram) : il représente les classes intervenant dans le système.
  • Diagramme d'objets (Object diagram) : il sert à représenter les instances de classes (objets) utilisées dans le système.
  • Diagramme de composants (Component diagram) : il permet de montrer les 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) : il sert à représenter les é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 paquetages (Package diagram) : un paquetage étant un conteneur logique permettant de regrouper et d'organiser les éléments dans le modèle UML, le Diagramme de paquetage sert à représenter les dépendances entre paquetages, c’est-à-dire les dépendances entre ensembles de définitions.
  • Diagramme de structure composite (Composite Structure Diagram) : depuis UML 2.x, permet de décrire sous forme de boîte blanche les relations entre composants d'une classe.

Diagrammes comportementaux

Les diagrammes comportementaux (Behavior Diagram) rassemblent :

  • Diagramme des cas d'utilisation (use-cases ou Use Case Diagram) : il permet d'identifier les possibilités d'interaction entre le système et les acteurs (intervenants extérieurs au système), c'est-à-dire toutes les fonctionnalités que doit fournir le système.
  • Diagramme états-transitions (State Machine Diagram) : permet de décrire sous forme de machine à états finis le comportement du système ou de ses composants.
  • Diagramme d'activité (Activity Diagram) : permet de décrire sous forme de flux ou d'enchaînement d'activités le comportement du système ou de ses composants.

Diagrammes d'interaction ou dynamiques

Les diagrammes d'interaction ou dynamiques (Interaction Diagram) rassemblent :

  • Diagramme de séquence (Sequence Diagram) : représentation 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) : depuis UML 2.x, représentation simplifiée d'un diagramme de séquence se concentrant sur les échanges de messages entre les objets.
  • Diagramme global d'interaction (Interaction Overview Diagram) : depuis UML 2.x, permet de décrire les enchaînements possibles entre les scénarios préalablement identifiés sous forme de diagrammes de séquences (variante du diagramme d'activité).
  • Diagramme de temps (Timing Diagram) : depuis UML 2.x, permet de décrire les variations d'une donnée au cours du temps.

Les éléments de modélisation

  • Le Stéréotype est une marque de généralisation notée par des guillemets, cela montre que l'objet est une variété d'un modèle.
  • Le classeur est une annotation qui permet de regrouper des unités ayant le même comportement ou structure. Un classeur se représente par un rectangle conteneur, en traits pleins.
  • Un paquetage regroupe des diagrammes ou des unités.
  • Chaque classe ou objet se définit précisément avec le signe « :: », ainsi l'identification d'une Classe X en dehors de son package ou de son classeur sera définie par « Package A::Classeur B::Classe X ».

Les éléments de modélisation de type commun

Modèles d'éléments UML

Symbolique des modèles d'éléments :

  • Node (Nœud )
  • Fourche (Fork)
  • État initial (Initial state)
  • État terminal (Final state)
  • Interface
    • O<----- sens du flux de l'interface
    • O)----- est un raccourci pour la superposition de →O et O←

Les éléments de modélisation de type relation

  • Réalisation
  • Utilisation

Autres éléments descriptifs

  • Les stéréotypes peuvent dépendre du langage que l'on souhaite utiliser
  • Les archétypes
  • Les profils

Standardisation et Certification UML

UML n'est pas un standard de fait mais un standard « industriel » de l'OMG (novembre 1997) au même titre que CORBA par exemple. Ceci étant, vu le succès initial de ce langage, il aurait pu tout aussi bien être simplement « standard de fait ». Depuis juillet 2005, la première version 2.* de UML est validée par l'OMG.

Par ailleurs, depuis 2003, l'OMG a mis en place un programme de certification à la pratique et la connaissance d'UML : OCUP[3] (OMG Certified UML Professional), qui recouvre trois niveaux successifs de maîtrise.

Exemple de séquence de création des diagrammes

Diagramme étape du cycle en V
1. Diagramme de cas d'utilisation Spécification, cahier des charges
2. Diagramme de séquence
3. Diagramme d'activité (processus métiers)
4. Diagramme d'activité (cinématique et/ou processus applicatifs)
5. Diagramme de classe Conception Architecturale
6. Diagramme d'objet
7. Diagramme de communication
8. Diagramme de déploiement
9. Diagramme de composant

Logiciels de modélisation UML

Article détaillé : Comparaison des logiciels d'UML.
Umbrello, atelier UML de KDE.

Il existe de nombreux outils logiciels de modélisation UML. Malheureusement aucun d'entre eux ne respecte strictement aucune des versions de UML, particulièrement UML2 : beaucoup de ces outils introduisent des notations particulières non conformes, très peu supportent les différents types de diagrammes définis par le standard. Beaucoup en revanche incluent des outils de génération de squelette de code, particulièrement à partir du diagramme de classes, qui est celui qui se prête le mieux à une telle automatisation.

Notes et références

(en)OMG, « OMG Unified Modeling LanguageTM (OMG UML),Superstructure », OMG, aout 2011. Consulté le 20 novembre 2011

(en)OMG, « OMG Unified Modeling LanguageTM (OMG UML), Infrastructure », OMG, aout 2011. Consulté le 20 novembre 2011

Voir aussi

Sur les autres projets Wikimedia :

Liens internes

Liens externes

Bibliographie


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Unified Modeling Language de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Unified Modeling Language — (UML) is a standardized general purpose modeling language in the field of software engineering. UML includes a set of graphical notation techniques to create abstract models of specific systems, referred to as UML model. Overview The Unified… …   Wikipedia

  • Unified modeling language — Pour les articles homonymes, voir UML. Logo d UML UML (en anglais Unified Modeling Language, « langage de modélisation unifié ») est un langage graphique de mod …   Wikipédia en Français

  • Unified Modeling Language — Unified Modeling Language,   UML …   Universal-Lexikon

  • Unified Modeling Language — Die Unified Modeling Language (Vereinheitlichte Modellierungssprache), kurz UML, ist eine graphische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software Teilen und anderen Systemen[1]. Sie wird von der Object… …   Deutsch Wikipedia

  • Unified Modeling Language — UML (сокр. от англ. Unified Modeling Language  унифицированный язык моделирования)  язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт …   Википедия

  • Unified Modeling Language — general purpose programming language used to develop complex object oriented projects, UML (Computers) …   English contemporary dictionary

  • List of Unified Modeling Language tools — This article compares Unified Modeling Language tools. Contents 1 General 2 Features 3 Other UML tools 4 References …   Wikipedia

  • Glossary of Unified Modeling Language terms — This glossary of Unified Modeling Language terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions.A* Abstract An indicator applied to a classifier (e.g., actor, class, use case) or to some …   Wikipedia

  • Timing diagram (Unified Modeling Language) — Timing diagrams (UML 2.0) are a specific type of interaction diagram, where the focus is on timing constraints.Timing diagrams are used to explore the behaviors of objects throughout a given period of time. A timing diagram is a special form of a …   Wikipedia

  • Modeling language — A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the… …   Wikipedia


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.