Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Introduction à UML

introduction à la notation UML Introduction à UML Encyclopédie

Unified Modeling Language (UML)
UML
Caractéristiques
Modélisation
Modélisation UML
Classes et objets
Cas d'utilisation

UML (Unified Modeling Language, que l'on peut traduire par "langage de modélisation unifié) est une notation permettant de modéliser un problème de façon standard. Ce langage est né de la fusion de plusieurs méthodes existant auparavant, et est devenu désormais la référence en terme de modélisation objet, à un tel point que sa connaissance est souvent nécessaire pour obtenir un poste de développeur objet.

La notion d'objet

La programmation orientée objet consiste à modéliser informatiquement un ensemble d'éléments d'une partie du monde réel (que l'on appelle domaine) en un ensemble d'entités informatiques. Ces entités informatiques sont appelées objets. Il s'agit de données informatiques regroupant les principales caractéristiques des éléments du monde réel (taille, la couleur, ...).
La difficulté de cette modélisation consiste à créer une représentation abstraite, sous forme d'objets, d'entités ayant une existence matérielle (chien, voiture, ampoule, ...) ou bien virtuelle (sécurité sociale, temps, ...).

Les méthodes objets

La modélisation objet consiste à créer une représentation informatique des éléments du monde réel auxquels on s'intéresse, sans se préoccuper de l'implémentation, ce qui signifie indépendamment d'un langage de programmation. Il s'agit donc de déterminer les objets présents et d'isoler leurs données et les fonctions qui les utilisent. Pour cela des méthodes ont été mises au point. Entre 1970 et 1990, de nombreux analystes ont mis au point des approches orientées objets, si bien qu'en 1994 il existait plus de 50 méthodes objet. Toutefois seules 3 méthodes ont véritablement émergé  :

  • La méthode OMT de Rumbaugh
  • La méthode BOOCH'93 de Booch
  • La méthode OOSE de Jacobson (Object Oriented Software Engineering)
A partir de 1994, Rumbaugh et Booch (rejoints en 1995 par Jacobson) ont unis leurs efforts pour mettre au point la méthode unifiée (unified method 0.8), incorporant les avantages de chacunes des méthodes précédentes.

La méthode unifiée à partir de la version 1.0 devient UML (Unified Modeling Language), une notation universelle pour la modélisation objet.

Nota UML n'est pas une méthode dans la mesure où elle ne présente aucune démarche. A ce titre UML est un formalisme de modélisation objet. Le mot méthode parfois utilisé par abus de langage dans les pages suivantes ne doit donc pas être entendu comme une "démarche".

UML 1.0 est soumise à l'OMG (Object Management Group) en janvier 1997, mais elle ne sera acceptée qu'en novembre 1997 dans sa version 1.1, date à partir de laquelle UML devient un standard international.

Voici le récapitulatif des évolutions de ce langage de modélisation :

  • En 1995: Méthode unifiée 0.8 (intègrant les méthodes Booch'93 et OMT)
  • En 1995: UML 0.9 (intègrant la méthode OOSE)
  • En 1996: UML 1.0 (proposée à l'OMG)
  • En 1997: UML 1.1 (standardisée par l'OMG)
  • En 1998: UML 1.2
  • En 1999: UML 1.3
  • En 2000: UML 1.4
  • En 2003: UML 1.5
  • Les dernières versions des spécifications peuvent être téléchargées sur le site de l'OMG.
Cette méthode représente un moyen de spécifier, représenter et construire les composantes d’un système informatique.

Avec la méthode UML, un objet est par exemple représenté de la façon suivante :

representation d'un objet avec UML

Intérêt d'une méthode objet

Les langages orientés objet constituent chacun une manière spécifique d'implémenter le paradigme objet. Ainsi, une méthode objet permet de définir le problème à haut niveau sans rentrer dans les spécificités d'un langage. Il représente ainsi un outil permettant de définir un problème de façon graphique, afin par exemple de le présenter à tous les acteurs d'un projet (n'étant pas forcément des experts en un langage de programmation).

De plus, le fait de programmer à l'aide d'un langage orienté objet ne fait pas d'un programmeur un concepteur objet. En effet il est tout à fait possible de produire un code syntaxiquement juste sans pour autant adopter une approche objet. Ainsi la programmation orientée objet implique

  • en premier lieu une conception abstraite d'un modèle objet (c'est le rôle de la méthode objet)
  • en second plan l'implémentation à l'aide d'un langage orienté objet (tel que C++/Java/...)

Une méthode objet est donc d'une part une méthode d'analyse du problème (afin de couvrir toutes les facettes du problème), d'autre part un langage permettant une représentation standard stricte des concepts abstraits (la modélisation) afin de constituer un langage commun.

La normalisation OMG

Ainsi, il est nécessaire qu'une méthode objet soit définie de manière rigoureuse et unique afin de lever les ambiguités. De nombreuses méthodes objet ont été définies, mais aucune n'a sû s'imposer en raison du manque de standardisation. C'est pourquoi l'ensemble des acteurs du monde informatique a fondé en 1989 l'OMG (Object Management Group), une organisation à but non lucratif, dont le but est de mettre au point des standards garantissant la compatibilité entre des applications programmées à l'aide de langages objet et fonctionnant sur des réseaux hétérogènes (de différents types).

A partir de 1997, UML est devenue une norme de l'OMG, ce qui lui a permis de s'imposer en tant que méthode de développement objet et être reconnue et utilisée par de nombreuses entreprises.

Discussions pertinentes trouvées dans le forum

09/02 14h57 oracle uml modéliser base préexistante [ORACLE, UML] modéliser une base préexistante Développement 05/12 01h55->artaud8
01/11 19h48 uml uml Développement 02/11 17h14->bennaniidriss3
29/03 13h45 modelisation uml modelisation avec uml Développement 27/02 10h09->brique2
18/04 14h31 uml modeliser site uml-modeliser un site Développement 22/04 15h13->nadjlaa2
08/05 15h34 comparaison uml merise Comparaison UML/Merise Développement 15/04 14h16->soumaya11
13/03 12h05 uml [UML] aide Développement 19/03 22h26->zenon10
09/12 10h13 uml eclipse java UML eclipse java Développement 01/11 22h48->yves yang10
21/05 12h49 cours uml java recherche cours UML+java Développement 26/07 19h49->mohammed9
08/05 22h50 uml diagramme classe [UML] comment faire un diagramme de classe ? Développement 26/01 20h24->Octavius Joh...8
14/10 20h27 cht'it t'avis diagramme uml Un cht'it t'avis sur mon diagramme [UML] Développement 15/10 12h59->Teebo6
Discussion fermée Problème résolu UML Plus de discussions sur « UML »

Ce document intitulé « Introduction à UML » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
 
Introduction à UML