TUTORIEL ALGO/METHODES 
Passer à UML 2
La nouvelle version du langage de modélisation arrive dans quelques mois. Ce qu'il faut savoir. (15/09/2004)

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...

 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages