Le langage UML 2.0 a été voté en 2003,
et présente une avancée très intéressante
de ce support de communication (justifiant ainsi le saut de
version). Il est en cours de validation finale, la version
définitive devant être diffusée avant
la fin de l'année 2004.
Voici 4 points à
surveiller pour préparer une transition entre UML 1.5
et UML 2.0.
1) MDA
UML 2.0 a été considérablement influencé
par les processus MDA (Model Driven Architecture, voir "Introduction
au processus MDA") et MDD (Model Driven Development).
L'objectif de cette nouvelle version est de rendre possible
la "traduction" d'un modèle UML en programmes
compilables, autant que faire se peut.
Dans ce but, les sémantiques des modèles UML
ont été grandement précisées,
afin d'éviter tout problème d'interprétation.
Cette avancée permettrait à terme aux développeurs
de moins avoir à programmer qu'à décrire
les usages voulus. En UML 2, et selon le niveau d'abstration,
les modèles se rapprochent des programmes eux-mêmes,
sans pour autant devoir programmer...
Pour autant, les architectes logiciel ne sont pas condamnés
à adopter ces nouvelles sémantiques dans leurs
projets : ils devraient toujours pouvoir utiliser UML 2 comme
ils utilisaient UML 1.x.
2) Abstraction & automatisation
L'un des résultats de cette direction prise par UML
vers la MDA est d'élever encore le niveau d'abstraction
du langage, ce qui permet de penser la développement
de manière beaucoup plus naturelle, car détachée
du code pur et de ses ";".
Le but avoué de cette élévation du niveau
d'abstraction est de parvenir à une automatisation
du développement : passer, dans le meilleur des
cas, directement du modèle au code source, et donc
au programme compilé et prêt à être
lancé.
L'automatisation d'un tel processus n'est pas aussi simple
que l'on pourrait croire : loin d'être une traduction
littérale modèle-code, elle nécessite
moult tests et vérifications de la spécification
logicielle pour s'assurer que le système répond
effectivement aux attentes.
La syntaxe UML 2 permettra de prendre en compte ce processus,
et également de générer automatiquement
les test cases qui accompagne le programme...
3)
Modularisation
Avec ses nombreuses nouveautés et améliorations,
tant visibles que derrière la scène, UML 2.0
disposent d'un langage considérablement enrichi
en comparaison avec ses précédentes versions.
Le risque était alors d'en faire un langage trop compliqué,
trop long à apprendre et à implémenter,
et au final décourageant.
Ses créateurs ont donc choisi de suivre une voie similaire
à XHTML : modulariser ce langage en différents
sous-langages n'ayant parfois aucun rapport entre eux,
mais pouvant être combinés. Il ne serait ainsi
plus nécessaire d'apprendre la totalité de la
syntaxe UML (ce que peu de projets font déjà),
mais seulement les "briques" nécessaires à
la description du projet en question - l'apprentissage d'une
nouvelle brique étant sensiblement plus facile que
de devoir retrouver le bon élément dans le langage
complet...
4) Nouveaux diagrammes
UML 1.5 permettait déjà l'utilisation de 9 diagrammes,
la version 2.0 en ajoute 4 :
- diagramme de modules (package diagram)
: permet de représenter la hiérarchie des modules
du projet, leur organisation et leurs interdépendances.
Cela simplifie les diagrammes, et les rend donc plus simple
à comprendre.
- diagramme de structure composite (composite
structure diagram) : permet de décrire la structure
interne d'un objet complexe lors de son exécution (au
run-time - décrire l'exécution du programme),
dont ses points d'interaction avec le reste du système.
- diagramme global d'interaction (interaction
overview) : permet d'associer les notations du diagramme
de séquence à celle du diagramme d'activité,
ce qui permet de décrire une méthode complese.
C'est une variante du diagramme d'activité.
- diagramme de temps (timing diagram)
: permet de modéliser les contraintes d'interaction
entre plusieurs objets, comme le changement d'état
en réponse à un évènement extérieur.
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Par ailleurs, le diagramme de collaboration d'UML 1.4 est
devenu "diagramme de communication" dans UML 2.0,
et la plupart des diagrammes ont été revus pour
répondre aux nouveaux besoins (abstraction, automatisation...).
Nous aurons l'occasion de revenir sur UML 2 une fois sa spécification
validée...
|