UML qui est un langage textuel et graphique a fait l'objet de
grands travaux de recherche.
Il y avait de cela une quinzaine d'années, MERISE
était la méthode de conception et de développement de
système d'information, de loin la plus utilisée dans le monde
informatique. Mais de nos jours les tendances ont changé.
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)
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.
UML a évolué très rapidement ainsi
respectivement en 2003 et 2004 ,UML 1.5 Et UML 2.0 ont vu le jour.
Plusieurs enquêtes réalisées sur les sites
dédiés au génie logiciel* ont
montré que UML constitue le langage par excellence pour la
modélisation.
En l'espace d'une poignée d'années seulement, UML
est devenu un standard incontournable.
Les experts tant en analyse et conception qu'en programmation
informatique diffusent d'innombrables articles au sujet de ce dernier et
à en croire certains, utiliser les technologies objet sans UML
relève de l'hérésie.
Les concepts de base de l'approche objet sont stables,
largement éprouvés et ne
datent pas d'aujourd'hui. Programmer
« objet » c'est donc bénéficier d'une
panoplie
d'outils et de langages performants. L'approche objet est une solution
21
technologique incontournable. Ce n'est plus une mode, mais un
réflexe quasiautomatique dès lors qu'on cherche à
concevoir des logiciels complexes qui doivent "résister" à des
évolutions incessantes.
Pourquoi avions-nous préféré UML comme
langage de modélisation par opposition au traditionnel cheminement
merisien au moment où l'informatique de gestion apparaît de plus
en plus comme un des éléments majeurs de la stratégie des
entreprises ?
Notre choix se fonde sur plusieurs critères. D'abord
l'émergence soudaine de UML ces dernières années. Cette
émergence se justifie par plusieurs atouts que nous ne manquerons pas de
relater dans ce mémoire. Ensuite ce choix est lié à la
complexité du système que nous devons modéliser.
1.2- Justification du choix de UML
1.2.1-Avantages et inconvénients de UML
Parlant des raisons qui expliquent cet engouement massif pour
ce langage, il faut préciser que UML, contrairement à son
prédécesseur MERISE qui pourtant est utilisée de nos
jours, donne un sens intéressant à l'approche objet et couvre de
plus tout le cycle de réalisation du logiciel.
Etant donné qu'il est le fruit de la fusion de plusieurs
méthodes objets, il utilise l'approche objet en présentant un
langage de description universel.
Il permet grâce à un ensemble de diagrammes
très explicites, de représenter l'architecture et le
fonctionnement des systèmes informatiques complexes en tenant compte des
relations entre les concepts utilisés et l'implémentation qui en
découle.
UML est avant tout un support de communication performant, qui
facilite la représentation et la compréhension de solutions objet
:
· Sa notation graphique permet d'exprimer visuellement une
solution objet, ce qui facilite la comparaison et l'évaluation de
solutions.
· L'aspect formel de sa notation, limite les
ambiguïtés et les incompréhensions.
· Son indépendance par rapport aux langages de
programmation, aux
domaines d'application et aux processus, en fait un
langage universel.
UML est donc bien plus qu'un simple outil qui permet de
"dessiner" des représentations mentales... Il permet de parler un
langage commun, normalisé mais accessible, car visuel. Il
représente un juste milieu entre langage mathématique et naturel,
pas trop complexe mais suffisamment rigoureux, car basé sur un
métamodèle.
Une autre caractéristique importante d'UML, est qu'il
cadre l'analyse. UML permet de représenter un système selon
différentes vues complémentaires : les diagrammes.
22
Un diagramme UML est une représentation
graphique, qui s'intéresse à un aspect précis du
modèle ; c'est une perspective du modèle.
Chaque type de diagramme UML possède une structure
(les types des éléments de modélisation qui le composent
sont prédéfinis) et véhicule une sémantique
précise (il offre toujours la même vue d'un système).
Combinés, les différents types de diagrammes UML
offrent une vue complète des aspects statiques et dynamiques d'un
système. Les diagrammes permettent donc d'inspecter un modèle
selon différentes perspectives et guident l'utilisation des
éléments de modélisation (les concepts objet), car ils
possèdent une structure.
Une caractéristique importante des diagrammes UML, est
qu'ils supportent l'abstraction. Cela permet de mieux contrôler la
complexité dans l'expression et l'élaboration des solutions
objet.
UML opte en effet pour l'élaboration des
modèles, plutôt que pour une approche qui impose une
barrière stricte entre analyse et conception. Les modèles
d'analyse et de conception ne diffèrent que par leur niveau de
détail, il n'y a pas de différence dans les concepts
utilisés. UML n'introduit pas d'éléments de
modélisation propres à une activité (analyse,
conception...) ; le langage reste le même à tous les niveaux
d'abstraction.
Cette approche simplificatrice facilite le passage entre les
niveaux d'abstraction. L'élaboration encourage une approche non
linéaire, les "retours en arrière" entre niveaux d'abstraction
différents sont facilités et la traçabilité entre
modèles de niveaux différents est assurée par
l'unicité du langage. Il s'agit d'une tâche très complexe,
qui nécessite une approche itérative, car il est plus efficace de
construire et valider par étapes, ce qui est difficile à cerner
et maîtriser.
C'est donc avec beaucoup d'intérêt que j'avais
pris connaissance de cette proposition de mon maître de stage à
utiliser comme langage de modélisation UML.
Cette proposition se justifie par la complexité du
système LMD sur quoi notre stage est circonscrit. L'idée
était donc d'écrire des classes réutilisables pouvant
permettre de faire évoluer le projet. Ceci a été pour nous
l'occasion de découvrir la puissance de la programmation et l'analyse
objets.
Les points forts d'UML
UML est un langage formel et normalisé :
Il permet le gain de précision, encourage l'utilisation
d'outils et constitue à cet effet un gage de stabilité.
UML est un support de communication performant :
23
Il cadre l'analyse et facilite la compréhension de
représentations abstraites complexes. Son caractère polyvalent et
sa souplesse en font un langage universel.
Les points faibles d'UML
La mise en pratique d'UML nécessite un apprentissage et
passe par une période d'adaptation.
Même si l'Espéranto est une utopie, la
nécessité de s'accorder sur des modes d'expression communs est
vitale en informatique. UML n'est pas à l'origine des concepts objets,
mais en constitue une étape majeure, car il unifie les
différentes approches et en donne une définition plus
formelle.
Le processus (non couvert par UML) est une autre clé
de la réussite d'un projet. Or, l'intégration d'UML dans un
processus n'est pas triviale et améliorer un processus est une
tâche complexe et longue. Les auteurs d'UML sont tout à fait
conscients de l'importance du processus, mais l'acceptabilité
industrielle de la modélisation objet passe d'abord par la
disponibilité d'un langage d'analyse.
1.2.2-La norme UML utilisée : Rational
James Rumbaugh, Grady Booch et Ivar Jacobson, sont les
inventeurs d'OMT, Booch et Objectory/OOSE. Les "trois amigos", comme on les
surnomme, sont donc les véritables "parents" d'UML.
Ils travaillent tous trois à Rational Software, ce qui
semble logique, vu le rôle moteur qu'à joué Rational dans
le processus d'unification des méthodes fondatrices d'UML. Rational a
été un membre actif du noyau d'entreprises qui ont soumis UML
à l'OMG, anime des groupes d'utilisateurs et participe aux organismes de
révision d'UML.
L'ensemble des documents qui composent la norme UML (aux
formats PDF, HTML, Word et Frame), ainsi que de nombreuses informations
complémentaires (articles, copies de conférences, etc.) se
trouvent sur le site Web de Rational (
http://www.rational.com).
OMG
Fin 1997, UML est devenu une norme OMG (Object Management
Group). L'OMG est un organisme à but non lucratif, créé en
1989 à l'initiative de grandes sociétés (HP, Sun, Unis Ys,
American Airlines, Philips...). Aujourd'hui, l'OMG fédère plus de
850 acteurs du monde informatique. Son rôle est de promouvoir des
standards qui garantissent l'interopérabilité entre applications
orientées objet, développées sur des réseaux
hétérogènes.
L'OMG propose notamment l'architecture CORBA (Common Object
Request Broker Architecture), un modèle standard pour la construction
d'applications à objets distribués (répartis sur un
réseau).
24
Pour rester simple, on peut considérer CORBA comme une
généralisation de l'architecture clients/serveurs aux objets.
UML a été adopté (normalisé) par
l'OMG et intégré à l'OMA, car il participe à cette
vision et parce qu'il répond à la "philosophie" OMG.