|
|
|
|
Questions-réponses |
UML
: chef d'orchestre du monde objet |
Langage de modélisation de programmes "orientés objet", UML facilite la conception de logiciels en représentant ses mécanismes internes. Décryptage. (Mardi 15 avril 2003) |
|
>
UML : définition ?
UML (Unified Modeling
Language) est un langage de modélisation objet officiellement
approuvé en 1997 par l'OMG (Object Management Group).
UML "unifie" des méthodes de conception
logicielle orientées objet - telles que Booch, OMT et
OOSE - qui co-existaient jusque là sans beaucoup
de compatibilité entre elles. UML les rassemble
non pas en en proposant une synthèse, mais en créant
un "langage de modélisation", c'est-à-dire
une notation unique pour faciliter la conception de programmes.
>
Qu'est-ce que le développement objet ?
Pour comprendre le développement objet, il faut
tout d'abord savoir qu'il s'oppose au développement
fonctionnel. Ce dernier date de la fin des années
1950 dont le langage Lisp est un précurseur. Dans
ce type de développement, le système est
dirigé par le traitement linéaire de variables
(données) au travers de fonctions. Ce traitement
génère des résultats qui peuvent
à nouveau rentrer dans la boucle et servir d'arguments
à d'autres programmes. Aisé à mettre
en oeuvre, le développement fonctionnel n'en reste
pas moins très rapidement dépassé
et peu flexible.
La logique objet crée quant à elle des composants
interagissant les uns avec les autres. Chaque objet est
caractérisé par une série d'attributs
(données) et de méthodes (fonctions) qui
le définissent en tant que tel mais aussi par rapport
aux autres objets et au système, faisant de lui
un module autonome.
> Quels
sont les principales caractéristiques de la logique
objet ?
.Plusieurs objets de même type sont réunis
dans des classes. Les classes sont en relation les unes
avec les autres. Il peut s'agir de simples relations de
dépendance (une classe à besoin d'une autre), ou de relations
de hiérarchie (l'héritage). La logique objet repose également
sur le polymorphisme - possibilité pour une même
opération de toucher des objets de classes différentes
- et l'agrégation - capacité qu'une classe
possède d'être composée d'autres classes.
>
A quel niveau la modélisation intervient-elle ?
Une fois ces fondamentaux posés, UML intervient
en modélisant les objets et leurs liens, au moyen de vues
graphiques que l'on appelle des diagrammes. Les objets
et leurs liens étant déjà des représentations, on peut
d'ailleurs dire qu'UML est un méta-modèle.
UML dispose de douze types de diagrammes différents.
On distingue tout d'abord les vues statiques qui représentent
"physiquement" le système au moyen de diagrammes d'objets,
de classes,
de
composants et de déploiement. Viennent ensuite les
vues
dynamiques qui montrent comment fonctionne le système
au moyen de diagrammes de séquence, de collaboration,
d'états-transitions, de cas
d'utilisation et d'activité. On finit avec des vues
relatives à l'organisation des différents
modules du programme, à savoir des diagrammes de
packages, de sous-systèmes et de modèles.
A noter que le "cas
d'utilisation" que nous venons de citer dans la 2e
catégorie est un composant central d'UML. Il permet
en effet d'exprimer les besoins fonctionnels d'une unique
catégorie d'utilisateurs et, de ce fait, de coller au
plus près aux besoins "métiers"
d'utilisateurs clairement identifiés.
> Pourquoi l'utiliser ?
Un des tout premiers avantages d'UML est de
faire se rencontrer et communiquer utilisateurs et informaticiens,
ce qui n'est pas le moindre des bénéfices
du langage. UML permet également - outre le fait
de se concentrer sur l'utilisateur - de documenter très
clairement les besoins exprimés par ces derniers,
dans le cadre d'une gestion de projet de développement
qui va de la conception jusqu'au déploiement de
l'application dans le réseau.
>
UML : la panacée ?
Fournir
des diagrammes UML ne garantit en aucun cas le succès
d'un projet informatique. Encore
une fois, UML n'est qu'un outil de notation. Les diagrammes
doivent avant tout être considérés
comme des moyens de communication des multiples aspects
d'un système d'information. Avec l'angle particulier,
comme nous venons de le voir, de centrer la démarche
sur l'utilisateur. Les diagrammes permettent enfin d'obtenir
une vue claire et globale de l'architecture d'un système,
dans ses composantes à la fois logiques, statiques
et dynamiques.
Cela dit, la mise en oeuvre
d'UML nécessite un réel apprentissage car
sa sémantique est très précise, ce
qui amoindrit quelque peu son caractère d'universalité.
Par ailleurs, UML trouve ses limites dans la modélisation
de processus en tant qu'enchaînements de tâches,
imposant d'avoir recours à des outils spécifiques
de BPM (Business Process Management), lesquels font la
part belle au langage, en l'étendant.
|
|
|
|
|
|