You are on page 1of 5

UML et la modlisation

Antoine Clave Consultant indpendant en gestion de projet et en modlisation fonctionnelle Larticle paru dans la Lettre n52 dADELI intitul UML : vers un Monde Lisible , de Dominique Vauquier, explique pourquoi UML est un vnement historique dans la communaut des informaticiens ! et ce faisant, dresse un bref retour dexpriences sur la mise en uvre dUML dans les entreprises. Dans sa conclusion, lauteur reprend deux points dvelopps : la grande richesse dapplications de ce langage et sa difficult de mise en uvre. En conclusion, UML est un outil prcieux, mais, pour bien lutiliser et en faire un instrument de lisibilit, il nous faut laccompagner dun mode demploi. Pour llaborer, il nous faut reprendre les questions dans la tradition du gnie logiciel. Ayant une certaine pratique professionnelle de la modlisation et de la gestion de projets, et dUML depuis sa naissance, je pense intressant de considrer ce bref mais riche article comme lamorce dun dbat, dbat dans lequel bien modestement je me permets de prendre place.

UML : cest quoi ?


UML est un langage de modlisation (Unified Modeling Language), dont la mise au point est supervise par un consortium de plusieurs entreprises (essentiellement amricaines) : lObject Management Group (OMG). Ce consortium comprend la fois des diteurs informatiques, des SSII, et des entreprises utilisatrices. Ce dernier point est mon sens important. noter que lOMG na pas pour seul souci la maintenance dUML. lorigine, UML est le rsultat de la fusion de trois mthodes objets prexistantes : OMT de James Rumbaugh ; OOSE de Ivar Jacobson ; BOOCH de Grady Booch. Cette initiative de fusionner ces mthodes ( une poque o les mthodes se dversaient sur le march de manire quasi hmorragique) revient Rational : diteur indpendant de loutil Rose. UML propose 9 diagrammes : Cas dUtilisation Classes Objets Squences Collaboration tats et Transitions Activit Composants Dploiement

Les auteurs dUML ont parfois invent ex nihilo, mais ont galement emprunt. Par exemple, le diagramme des tats et Transitions, invent par Harel, a t repris pratiquement sans modifications. Enfin, certains acteurs ont essay dintroduire des extensions plus ou moins fructueuses : IBM par exemple qui a propos avec un maigre succs de modliser les contraintes entre les entits du langage laide dOCL (Object Constraint Language). Pour une plus ample description on se reportera au site : http://www.omg.org, sur lequel la version 2.0 dUML sera disponible gratuitement sous peu. Enfin insistons sur le fait quUML nest pas une mthode mais un langage. De la mme manire que connatre la syntaxe du C++ ne confre pas automatiquement une bonne comptence pour matriser un projet, ne connatre quUML ne permet pas de conduire, dans de bonnes conditions, une modlisation. Ceci dit, tout utilisateur dUML est en droit dattendre de cet outil les qualits requises pour sa finalit : offrir toutes les facilits pour fournir un modle clair et productif. Dans un premier temps, je propose de passer rapidement en revue les qualits et dfauts attribus par Dominique Vauquier ce langage, en y apportant une apprciation toute personnelle base sur mon exprience professionnelle, et dans un deuxime temps jessaierai dentamer une rflexion sur la notion de modle, question centrale de cet article. Je souhaiterais insrer cette contribution dans un dbat plus gnral, et, pourquoi pas, faire merger une commission autour des questions de la modlisation.

La Lettre dADELI n53 Octobre 2003

27

Qualits et dfauts reconnus UML


Commenons par les bonnes choses

Qualits dUML
Langage standard de fait

UML est reconnu parfois comme un des standards du march. Deux facteurs ont permis UML daccder ce statut : il rsulte de la fusion de trois outils prexistant complmentaires qui dj avaient une audience non ngligeable (voir ci-dessus, ainsi que le site de lOMG donn ci-dessus galement) ; il a bnfici de la force commerciale dun diteur particulirement offensif : Rational, diteur de loutil Rose bas sur UML. Aujourdhui, Rational est une entit membre dIBM (depuis dbut 2003). Rappelons que Rational nest pas le seul diteur uvrer dans le monde UML et que certains des outils sont gratuits dans leur version personnelle. Enfin lutilisation dUML est libre de droits.
Large spectre dutilisation

Par exemple, lun des principes recommands pour assurer la cohrence entre les diagrammes du modle se formule ainsi : toute instance cite dans un diagramme des squences doit tre membre dune classe cite dans un diagramme des classes ; toute classe doit avoir une entre dans le dictionnaire des concepts mtier et tre cite dans au moins un Cas dUtilisation. Ds lors quon se proccupe des relations entre les lments constitutifs du langage, on attaque le mta modle. Les promoteurs dUML nous fournissent beaucoup de descriptions sur ses lments constitutifs, nous permettant de formuler quelques critres qualit.

Dfauts dUML : les difficults de mise en uvre


Absence de critres clairs pour garantir la qualit des modles

UML est destin modliser. Il faut donc se proccuper des objectifs de la modlisation et savoir apprcier la qualit des rsultats atteints laide dUML. Mais il faut se mfier des vidences On na pas attendu UML pour modliser. Warnier, Merise, OMT et bien dautres se sont donns pour but la reprsentation graphique des donnes et/ou des traitements intervenant dans le mtier de lentreprise. De ce fait, la question se poser serait plutt : comment se fait-il que les modles labors laide dUML laissent dsormais apparatre ce manque de qualit ? Comment se fait-il quon exprime aujourdhui ces exigences alors que jusqu maintenant elles ne prtaient pas dbat ? Les modles, depuis quils ont t construits laide dUML sont-ils donc devenus des horreurs ? Ce qui signifie, quaujourdhui, il est interdit un diteur de fournir un outil sans quil se proccupe de la qualit de ce quil permet de construire. Mais peuton affirmer que limpression de livres nfastes ait gn la diffusion de linvention de Gutenberg, qui, de plus, devrait tre reproch de ne pas avoir prvu les mauvaises utilisations de limprimerie ? Le mauvais comportement des conducteurs est-il un frein la commercialisation des automobiles et les constructeurs de voitures se sentent-ils coupables des accidents routiers ? Tout est question de responsabilit Ceci tant pos on admettra bien volontiers limportance de cette question, mme si UML ny est pas pour grand chose. On posera comme postulat (parfaitement discutable) que si les modles ne sont plus satisfaisants, ce nest pas parce quils se sont dgrads, cest parce quils sont devenus la fois indispensables et beaucoup plus ambitieux. Cest

Ce langage peut avoir un domaine dapplication trs tendu et les exemples cits par Dominique Vauquier prouvent quUML apporte des bnfices toute lentreprise et pas uniquement ceux qui soccupent de son SI. On pourra ce sujet se reporter avec profit larticle lUtilisation du langage UML dans les diffrentes phases dun projet , paru dans IT-Expert, n 44 de juillet 2003, et notamment le chapitre original traitant du dialogue entre les matrises douvrage et duvre du projet.
Capacit dcrire en embotant les niveaux dabstraction

Les exemples cits ne seraient pas crdibles si UML ne savait pas grer les niveaux dabstraction habituellement reconnus et hirarchiser les reprsentations. Ainsi, une entit du modle (que ce soit un processus, une instance, un vnement, un flux) pourra tre situe dans son niveau hirarchique : le mtier de lEntreprise (niveau stratgique) ; les blocs fonctionnels, concourant laccomplissement de ce mtier (niveau tactique) ; les fonctions (processus), charges dune mission identifie (niveau oprationnel I) ; les activits unitaires (niveau oprationnel II).
Mta modle accessible

Le langage UML donne accs son mta modle. Dominique Vauquier ne cite pas cette qualit non ngligeable ; je me permets de la signaler. Un mta modle est une reprsentation (une modlisation donc) des concepts utiliss par le langage lui-mme. Cette reprsentation permet de thoriser sur loutil, permet de lenrichir facilement, permet de dgager des rgles de bonne utilisation.

28

La Lettre dADELI n53 Octobre 2003

pourquoi on a choisi de dcaler la discussion de lavenir dUML vers lavenir de la modlisation.


Linvrifiable pertinence des diagrammes

informationnelle. Autrement dit, linformation se dplace et le systme la recombine ; elle nest pas cre par ce systme modliser.
Cest une reprsentation

Il nest pas rare de voir raliser de nombreux diagrammes qui, finalement, ne servent rien . Cette critique soulve deux questions : dune part, comment choisir les diagrammes adapts ce quon veut modliser, plutt que noyer le lecteur sous une masse de schmas dont la cohrence napparat pas ( supposer quon sache expliquer la cohrence entre des diagrammes) ? dautre part, comment rendre ces diagrammes productifs ? la premire question on aura rpondu lorsquon aura examin la notion mme de modle, et comment un modle se btit. Quel est le point de dpart ? Que doit-on fournir en amont ? Quest-ce qui justifie chaque composant dun modle ? Comment conduit-on la modlisation ? La deuxime question voque lutilisation du modle et ce quon en attend. Qui sont les utilisateurs ? Quen font-ils ? Quel est le but de la modlisation ?

On utilise donc un mdia fait de signes conventionnels (son vocabulaire) et de leur signification (sa smantique) ainsi que de rgles dutilisation (sa syntaxe). Ce mdia peut-tre graphique, ou essentiellement textuel, ou combiner les deux. Dans le cas o on utilise du texte, il convient de suivre des rgles de description (phrases courtes, sans adverbes, ponctues, au registre du vocabulaire strictement matris et limit aux termes du mtier des lecteurs) qui appliques au langage naturel, font de celui-ci un outil bien loign du langage littraire et potique Un modle textuel tient plus du rapport de police que du discours de politique gnrale (une phrase = sujet + verbe + complment, et un point. Pour le reste OK mais dabord, passez me voir1). Si la reprsentation est graphique, on remarquera que la smantique surgit des icnes (units graphiques lmentaires), mais aussi de leur combinaison. Par exemple, de la combinaison des flches reprsentant les messages circulant entre des acteurs, on en dduira celui ou ceux qui ont linitiative du dialogue, donc celui ou ceux qui a premption dans le cadre de ce processus. Ce qui permettra de faire lconomie de licne particulire ddie aux acteurs premptifs. Donc quel que soit le mdia de modlisation, de lutilisation rflchie et conomique de loutil peut survenir un sens non prvu par les propres promoteurs du langage de modlisation. Et remarquons que cela va de pair avec une reprsentation simplifie, sobre et concise. La tche dun consultant assistant une quipe de modlisation sera donc de dgager, dexpliquer et de faire appliquer les rgles de ce mdia.
Cette reprsentation est exacte

Modlisation, jcris ton nom


Nous essaierons trs modestement de dcrire : la notion de modle ; ce qui est habituellement modlis ; comment on modlise ; et enfin lutilisation qui est faite dun modle. Ce chapitre est exclusivement bas sur des expriences professionnelles personnelles et na absolument pas lambition de brosser une thorie des modles. Il se place dans la perspective dgage cidessus : un change autour de cette activit.

Quest-ce quun modle ?


Un modle est une reprsentation exacte, partielle, actuelle, passe ou future, de la ralit. Mais dabord :
Que reprsente-t-on ?

Tous les modles prsentent des acteurs entre lesquels scoulent des flux. Cet coulement est provoqu par des vnements et est soumis des rgles. Ces flux peuvent tre matriels (exportation de voitures, vacuation des distillats dune raffinerie) ou informationnels (flux financiers, rapports de police, factures, ). Un acteur est origine ou cible dun flux dont la production et la rception est conditionne par ltat de cet acteur. Ltat dun acteur est dtermin par des vnements, internes ou externes. Notons que chaque flux informationnel doit avoir une origine, qui elle-mme est galement de nature

Cette reprsentation ne doit pas rvler de contradictions ni de manques. Elle ne doit pas tre ambigu. Contradictions Quelques exemples quun modlisateur cherchera prioritairement dbusquer : contradiction entre les rles attribus un acteur et les services quil peut invoquer (rgle de cohrence entre profil et services accessibles) ;

1 Faites des phrases courtes. Un sujet, un verbe, un complment. Quand vous voudrez ajouter un adjectif, vous viendrez me voir. [ Consignes aux journalistes de LAurore. ] Georges Clemenceau

La Lettre dADELI n53 Octobre 2003

29

contradiction entre les transitions dtats dun acteur et les vnements dont il peut tre la cible (rgle de cohrence entre les tats dune instance et les vnements quelle peut interprter) ; contradiction entre les cibles des messages quun acteur peut envoyer et les cibles quil a lautorisation de voir (rgle de visibilit entre les classes) ; contradiction entre les donnes consommes par les traitements et les donnes accessibles ce moment (rgle de cohrence entre les informations disponibles et les informations exiges). Manques Pasteur a rfut en 1855 la thorie de la gnration spontane : cette thorie qui sapplique aux tres vivants peut tre tendue aux vnements et circulations que nous modlisons. Ainsi : - chaque changement (changement dtat dune instance, ou dplacement dune information) doit tre initi par un vnement ; - chaque vnement doit tre provoqu par un acteur ; - chaque acteur doit tre une instance de classe doue dune autonomie daction qui doit tre dcrite dans ses droits. Un modle nest pas seul ; il fait suite un problme rsoudre, une mission donne, un primtre dfini. Deux conditions doivent tre vrifies imprativement : - que le problme, la mission, le primtre soient clairement exposs (le cahier des charges, le schma prvisionnel ou directeur) ; - comme rien nest fixe ni immuable, et pour respecter un certain droit lerreur, que les conditions de changements (du primtre, des fonctionnalits) soient prvues et donc que le processus de modlisation lui-mme soit capable dencaisser les volte-face des donneurs dordre. Chaque entit modlisable (acteur, message informationnel, vnement) prsente trois dimensions : - dimension fonctionnelle : quel est sa raison dtre ? - dimension statique : quelle est sa nature ? - dimension dynamique : quelle est son pouvoir daction ? Le modlisateur vrifiera la prsence de ces trois dimensions (parfois squelettiques, parfois diarrhiques) dans la description de chaque entit.
Cette reprsentation est partielle

Un modle peut sarticuler autour de plusieurs points de vues ; ainsi on peut modliser le mme processus vu depuis plusieurs secteurs fonctionnels de lentreprise. En particulier il est bon de clairement dissocier les processus de management, des processus de production et des processus de soutien (support).
La situation reprsenter nest pas forcment actuelle

Bien entendu, la modlisation peut tre destine reprsenter ce qui doit tre ralis (projet). Dans ce cas le modle est non seulement rsultat de la reprsentation mais aussi un outil de rflexion pour la mise au point dune solution dployer. De ce fait, le modle est un support de dialogue et dchanges de propositions. Cette pratique est bien intgre par les informaticiens qui ont besoin de mettre en vidence ce qui doit tre automatis (pris en charge par le systme) et ce qui doit rester manuel. Dans ce but, il est bon de situer les exigences fonctionnelles du systme au sein des exigences fonctionnelles du mtier de lentreprise.

Quest-ce quun bon modle ?


Des Socits de Service mettent sur le march leur comptence mener correctement une modlisation, sous forme de bonnes pratiques (best practices), relatives au but recherch. Cette bonne pratique visera dgager la bonne adquation entre loutil mis en uvre et lobjet de la modlisation. Certaines (Softeam, Progress and Software, ) se posent explicitement la question de la bonne qualit de la modlisation. Combine avec les propositions dgages ci-dessus nous pourrions dcrire quelques qualits prsentes par un bon modle. L encore cette tentative na pas dautre ambition que de sinscrire dans un dbat, est le rsultat dune certaine pratique professionnelle et ne prtend pas lexhaustivit. Lisibilit : critre qui semble vident mais qui passe par le respect de rgles de nommage, de construction, de vocabulaire trop dpendant du mtier de lentreprise et donc sur lesquelles je ne mtendrai pas. Pertinence : ce qui est reprsent rpond-il bien la question ? Cas classique dun modle non pertinent : le cahier des charges destin poser un problme rsoudre (et donc le modliser) qui est souvent rdig en termes de solution. Dans ce cas prcis du cahier des charges, analyser le registre du vocabulaire employ est un bon moyen de se prmunir contre la non pertinence : pas de termes techniques mais uniquement du vocabulaire utilisateur. Dune manire plus gnrale il convient dassurer ladquation entre le niveau de description et le niveau hirarchique.

Des limites sont imposes ; ces limites font parties de la mission. Mais une modlisation est toujours relative un point de vue : celui du modlisateur, celui dune tierce personne. Le point de vue depuis lequel on modlise doit tre clairement dsign, sous peine de faire passer cette partialit du point de vue pour une incompltude du modle.

30

La Lettre dADELI n53 Octobre 2003

Compltude : ce qui est reprsent est-il un panorama complet du point de vue de lobservateur ? Pour le vrifier, montrer que les trois niveaux sont traits (fonctionnel, dynamique, statique), qu chaque fonctionnalit sont affectes les units charges de la mettre en uvre et que ces entits vrifient les rgles dexactitude cites plus haut. On ne perdra pas de vue que la compltude est relative au but recherch, cest--dire lutilisation ultrieure de ce modle. Productivit : un modle a une finalit ; cette finalit est-elle atteinte ? Tout modlisateur / analyste doit savoir rpondre cette question : quelle quipe attend mon travail ? que va-t-elle en faire ? ce titre, les processus du projet mritent dtre considrs comme nimporte quel autre processus oprant au sein dune entreprise. Unicit des descriptions : ne pas confondre : multiplicit des points de vue et donc multiplicit des descriptions, avec redondance (dire la mme chose une deuxime fois, sans apport nouveau). Cette qualit est dlicate valuer. Criticabilit : on se permettra ce nologisme pour exprimer quun modle doit tre la cible de commentaires de tous les acteurs concerns, donc inclut la qualit de lisibilit, de clart, de non ambigut. Le silence comme rponse une proposition nest pas un bon signe

Ce qui semblerait rejeter pour longtemps encore les modles UML dans la catgorie des modles non testables. Dsespoir dans le camp de ceux qui rclament lvaluation du niveau de qualit des modles UML Do le problme qui se pose nous maintenant : comment mettre au point une srie de critres qualit qui permettent de se passer du rsultat dexcution ? Ces critres seraient dordre anticipatif (prdictif : ce que ce modle va vraisemblablement donner ), descriptif (respect de normes bauches ci-dessus, auxquelles la nature mme dUML permet dajouter plusieurs principes), et donc ressembleraient un tat des lieux. Mais quelle garantie offre-t-il au responsable payeur final ? Enfin examinons la nature de la description du fameux rsultat qui est attendu : il est dcrit dans le cahier des charges, qui lui-mme est un modle, et donc qui devrait tre test. Tester un modle revient donc tester la conformit de ce modle ce qui lui a donn naissance, donc au modle antrieur, antcdent. Ne reculons pas devant la question qui en dcoule : un cahier des charges est-il testable ? Au moins cet angle dattaque permet dviter les sempiternelles rcriminations de la matrise duvre vis--vis de la matrise douvrage (et son assistance), charge de la rdaction de ce document.

Que fait-on dun modle ?


Je parlerai dans cette section de la seule utilisation que je connaisse : lutilisation des modles dans le cadre dun projet informatique. Les informaticiens ont la possibilit de faire du modle un outil de production du code compilable. Au risque de paratre surprenant, nous considrerons le code informatique comme un modle en lui-mme. De ce fait, il en rsulte que programmer, cest modliser, et quil y a un continuum entre la modlisation et la production du code excutable. Le langage du modle serait un langage interprtable. Lexcution de ce code doit fournir un rsultat, conforme ce qui est attendu. Cette conformit voque bien videmment la dimension test. Il est videmment possible (mais pas facile) de tester un code excutable (excutons-le), mais la question : un modle est-il testable ? est cruciale. Autant que je sache, tester un produit informatique revient, du moins lheure actuelle, tester son excution. Et donc les critres dacceptation sont des critres se rapportant un ensemble de rsultats dexcution et de conditions dobtention (les performances).

Conclusion : dbattons autour dUML, langage de modlisation


Plusieurs questions mriteraient confrontation dexpriences et alimenteraient dautres suites larticle de Dominique Vauquier ; je cite en vrac : UML est une caisse 9 outils (9 diagrammes) : quand et comment utiliser chacun deux ? Critres qualits dun Modle : quest-ce quun bon modle ? Dans quelle mesure la connaissance du mta modle dUML permet damliorer considrablement la qualit des modles crits ? Peut-on trouver dans ce mta modle de quoi vrifier la cohrence, la fermeture smantique, la compltude des cycles de vie, ? Est-il raisonnable de se servir dun modle UML pour gnrer du code informatique ? Comment tester un modle ? Puisque UML a un point dentre dans le cahier des charges, dans quelle mesure la qualit de ce livrable conditionne-t-elle la suite des productions ? Le processus de modlisation avec UML est-il diffrent des processus de modlisation mettant en uvre dautres langages ? antoine.clave@wanadoo.fr

La Lettre dADELI n53 Octobre 2003

31

You might also like