Auteur Cline Dcosse CRP Henri Tudor Date NOVEMBRE 2002 Rfrence H:\Projets\Projets_Kirchberg\spinov\WP5_Mise en oeuvre Serv Q\WP5.3_Formalisation boites outils\Langage UML\GU_SPINOV_CommentLireLesDiagrammesUML_1.0.doc Validation CRP Henri Tudor Diffusion Toute personne non informaticienne qui est amene lire des diagrammes UML.
Annexes Plus dinformations sur la lecture des diagrammes dactivit
Informations sur lcriture des diagrammes dactivits
Contenu Comment lire un diagramme de classes ?....................................................................................... 2 Comment lire un diagramme d'activit ?......................................................................................... 5 Comment lire un diagramme d'tat ?............................................................................................... 6
Mises jour : - Aot 2003 : Comment lire un diagramme de classes : ajout de la notion de rle dans les diagrammes de classes, dun exemple. - Mai 2004 : tableau de lgende dun diagramme dactivit - Aot 2004 : corrections de style. Prsentation de UML Les diagrammes ont t raliss avec le langage de modlisation orient objet UML : Unified Modeling Language. Ce langage a t normalis par lObject Management Group. Les structures de donnes sont faites avec des Diagrammes de Classes. Les tats sont dessins avec des Diagrammes dtats.
Comment lire un diagramme de classes (UML 1.4) ?
1.1 Les classes Un rectangle modlise une classe. Une classe est un concept mtier, cest--dire un lment du domaine, qui a des relations avec d'autres lments du domaine. Par ailleurs une classe peut avoir des attributs, par exemple le Nom de la personne. Attention, une classe ne reprsente pas un lment, mais une description gnrique de tous les lments dun ensemble. Les lments dcrits par les classes s'appellent objets ou instances, ils ne sont pas reprsents sur un diagramme de classes. Par exemple, on dit que Monsieur J ean est une instance de la classe "Personne".
1.2 Les relations entre classes Il y a plusieurs sortes de relations entre les classes. - Flches pleines de blanc : elles illustrent l'hritage. Se lit "est une sorte de ". Exemple : un Professeur est une sorte de Personne. On dit que la classe "Professeur" est une sous-classe de la classe "Personne". Les sous-classes ont toutes les proprits de leurs super-classes, plus d'autres plus spcifiques. Les classes qui servent seulement factoriser des proprits et faire de l'hritage, mais nont pas dinstances directes, ont leur nom en italiques non gras. - Trait simple (avec ou sans nom dessus) : cest une association. Une classe est associe une autre classe pour une raison prcise. On peut mettre cette raison en toutes lettres. La flche vide indique simplement un sens d'utilisation de la relation. Si un nom est ajout la fin de la flche vide, il sagit du rle que joue la classe dans la relation. Par exemple, si un professeur enseigne dans des classes dlves, on aura une relation entre la classe Professeur et la classe Classe . - Losange blanc : ajout au bout d'une association, il signifie que cette association est une relation d'agrgation. Une instance de la classe proche de ce losange "contient" une ou plusieurs instances de la classe en relation. - Losange plein : il indique une relation de composition, la composition est une agrgation forte dans laquelle la destruction du compos entrane la destruction des composants. - Cardinalits : caractrise les associations. Comme les classes sont des descriptions gnriques d'instances (aussi appels "objets"), on veut pouvoir reprsenter sur le schma le fait qu'une instance donne puisse tre en relation avec un certain nombre d'instances d'une autre classe. Un lment donn de la classe A peut tre associ x lments de la classe B. Dans la modlisation UML, on remplace ce x par : * pour signifier "0 plusieurs". Exemple : une catgorie peut tre amliore par zro plusieurs formations. 1..n pour signifier "de un plusieurs". rien ou 1 pour signifier "exactement 1" 2 - Traits pointills : pour lier des commentaires un lment. Il n'y a pas de smantique prcise pour les pointills, on les utilise quand on a besoin de mettre ensemble des lments et que les associations et l'hritage ne suffisent pas. Ils servent aussi lier des classes d'association aux associations qu'elles concernent (mais cela sort mal sur le graphique ci-dessous). Par ailleurs, on peut mettre des contraintes entres relations l'aide de pointills. - Une classe dassociation est une classe qui existe uniquement parce que une association entre deux classes est porteuse dinformation. Cette information est mise dans une classe dassociation, sous forme dattributs de la classe dassociation. - "Post-it" =commentaires. Exemple : le titre des diagrammes a t mis sous cette forme ci- dessous.
1.3 Illustration - Dans lillustration ci-dessous, un professeur est professeur principal dune des classes dans lesquelles il enseigne. 3 <<description>> "Parmi" est une contrainte : le professeur principal d'une classe est choisi parmi les professeurs enseignant dans cette classe. Professeur Classe <<description>> La classe Professeur hrite de la classe Personne. Du fait de cet hritage, elle aura aussi l'attribut Nom, il n'est pas ncessaire de le rcrire. est professeur principal de Professeur principal est compose de 1 * <<description>> Ceci est le rle de la classe Professeur dans la relation "enseigne" Personne Nom: undefined Nom: undefined <<description>> La classe Personne a comme attribut un Nom {parmi} Salle enseigne Enseignant 1..* * 1 1 <<description>> Ceci est le rle de la classe Professeur dans la relation "est professeur princiopal de" <<description>> Les "1" et "*" indiquent les cardinalits : pour la relation "enseigne", un professeur enseogne dans zro plusieurs classes, une classe suit les cours de un plusieurs professeurs. Elve
Vous pouvez consulter cette adresse pour voir d'autres exemples : http://uml.free.fr/cours/i- p14.html 4
Comment lire un diagramme d'activit (UML 1.4) ?
5
Synchronisation (AND join)
Synchronisation (AND split) Swimlanes (rles)
Rassemblement de flches (XOR join)
Choix / Condition (XOR split)
[condition] [else] I J K L Dveloppeur: Big chef: Dbut du processus Fin du processus
Activit
Transition Transition garde
Flux dinformation (messages,produits, docs) A [condition] Message:
Les diagrammes d'activit reprsentent les processus. Un processus est un enchanement d'activits. Une activit peut souvent tre rsume par un verbe. Une activit est reprsente par un rectangle aux coins trs arrondis. Les flches reprsentent des transitions d'une activit une autre. Ces transitions ont lieu lorsque les activits sont finies. Parfois, ces transitions n'ont lieu que si, en plus de la terminaison d'une activit, une certaine condition est remplie ; cette condition est alors mise entre crochets. Les activits peuvent utiliser ou gnrer des informations qui peuvent tre reprsentes par des rectangles. Ces informations peuvent tre concrtes (document, papier), informatiques (ce sera indiqu sur le schma) ou verbales. Elles sont attaches des activits par des flches en pointills. Les disques pointent sur le dbut du processus, les disques encercls signifient la fin du processus. S'il n'y en a pas, le processus est lire de haut en bas.
Comment lire un diagramme d'tat (UML 1.4) ? Un diagramme d'tat montre les tats potentiels d'un objet, et les transitions d'un tat un autre. Une transition est dclenche par un vnement, il peut y avoir une condition de garde, et une action associe la transition. Un tat peut avoir des sous-tats. Un tat a une dure, une transition est instantane. Les diagrammes d'activit concernent des enchanements d'actions ralises par des agents, qui peuvent avoir une influence sur de nombreux lments du systme. Les diagrammes d'tat ne concernent qu'une partie du systme (un objet, un ensemble d'objets), et montre comment les vnements (le plus souvent gnrs lors des activits des diagrammes d'activit) font changer lobjet dtat.
!Obsolte : Le diagramme d'activit est un cas particulier du diagramme d'tat, o les tats seraient des activits. Pour les diagrammes d'activit, les transitions ont lieu automatiquement lorsque l'activit est termine alors que pour les digrammes d'tats, elles doivent tre explicites.