Vous êtes sur la page 1sur 34

Prsent par: - Mr Vonjy Heritiana RATSITOBAINA

- Mr Ulrich FARALAHY WONG


- Mlle Cynthia ANDRIAMANJARISOA

Liste des acronymes
OMG : Object Management Group
OMT : Object Modeling Technique
OOSE : Object Oriented Software Engineering
UML : Unified Modeling Language

INTRODUCTION
Parmi les langages de modlisation existants, Unified Modeling Language (en
franais Langage de Modlisation Objet Unifi) est le plus soutenu par le march. Cependant,
plusieurs versions dUML sont dj{ normalises par lObject Management Group.
Ce langage de modlisation connat une amlioration de la version 1.x la version
2.x. Pour ne pas ngliger les nouveauts apports par UML 2, nous avons dcid de rdiger cet
ouvrage intitul Organisation de lUnified Modeling Language version 2.0 et version
antrieur .
Notre ouvrage sera divis en trois grandes parties. Dabord, la premire partie
nous allons faire une prsentation gnrale. Ensuite, la deuxime partie de louvrage sera
consacre la prsentation des diffrents types de diagrammes dUML 2. Enfin, dans la troisime
partie, nous vous prsenterons un exemple doutil de modlisation avec tude de cas.

Premie re partie : Pre sentation
ge ne rale
Chapitre 1 : Historique dUML
Durant les annes 90, Deux mthodes ont t les plus diffuses en France entre
autre lOMT de James Rumbaugh et BOOCH de Grady Booch. Par ailleurs, OOSE de Ivar Jacobson
sest aussi impose dans le monde objet pour la partie formalisation des besoins.
Pour aller plus loin dans le rapprochement, James Rumbaugh et Grady Booch se
sont retrouvs au sein de la socit Rational Software et ont t ensuite rejoints par Ivar
Jacobson en se donnant comme objectif de fusionner leur mthode et crer UML (Unified
Modeling Language).
Il est important de noter que contrairement ce qui avait t envisag au dpart,
le processus de dveloppement a t sorti du champ couvert par le projet de norme. UML est
donc une norme du langage de modlisation objet qui a t publie, dans sa premire version, en
novembre 1997 par lOMG, instance de normalisation internationale du domaine de lobjet.
En quelques annes, UML sest impose comme standard utiliser en tant que
langage de modlisation objet. Et Aujourdhui, en cette fin de la premire dcennie des annes
2000, nous avons dj{ une dizaine dannes de recul sur lenseignement et la pratique dUML en
entreprise.
Ainsi, les grandes tapes de lexpansion dUML peuvent se rsumer comme suit :
1993-1994 : Les deux mthodes Booch93 et OMT-2 sont leaders sur le march et sont
de plus en plus proches.
Octobre 1994 : James Rumbaugh rejoint Grady Booch chez Rational Software. Ses deux
mthodes ont t unifies.
Octobre 1995 : Mthode Unifie 0.8
Fin 1995 : le fondateur dObjectory, Ivar Jacobson, rejoint { son tour Rational Software
Juin 1996 : sortie de la version 0.9 dUML
Janvier 1997 : Soumission { lOMG de la version UML 1.0
Septembre 1997 : sortie de la version 1.1 dUML
23 novembre 1997 : la version 1.1 dUML est adopte par lOMG
1998-1999 : sortie des versions 1.2 et 1.3 dUML
2000-2001 : sortie des dernires versions suivantes 1.x
2002-2003 : prparation de la version 2 dUML
10 octobre 2004 : sortie de la version 2.1 dUML
2007 : sortie de la version 2.1.1 et de la version 2.1.2 dUML
2008 : sortie de la version 2.2 dUML
2010 : sortie de la version 2.3 dUML
Aot 2011 : sortie de la version 2.4.1 dUML
UML nest donc pas un nouveau langage mais cest une fusion de plusieurs
langages. Afin de bien comprendre la fonctionnalit dUML, il est prfrable de dfinir quelques
mots qui sont utiliss le long de ltude. Nous consacrerons notre deuxime chapitre de cette
premire partie ces quelques dfinitions.

Chapitre 2 : Quelques dfinitions
UML a t pens pour permettre de modliser les activits de l'entreprise, pas pour les
rgir.

Son indpendance (par rapport aux langages d'implmentation, domaine d'application,
processus...) en font un langage universel.

Deuxie me partie :
Les diagrammes dUML 2


Dans cette partie, nous allons prsenter les diffrents types de diagrammes
dUML 2. UML dans sa version 2 propose treize diagrammes qui peuvent tre utiliss dans
la description dun systme. Ces diagrammes sont regroups dans deux grands ensembles : les
diagrammes de comportement et les diagrammes structurels.
Pour ne pas mlanger les problmes, les diagrammes sont ensuite dcoups
suivant les quatre points de vue de modlisation : fonctionnel, statique, dynamique et
implmentation, en insistant pour chacun sur le ou les diagrammes UML principaux.
Chapitre 3 : Les diagrammes de comportement
Les diagrammes comportementaux sont focaliss sur la description de la partie
dynamique et fonctionnelle du systme modliser. Sept diagrammes sont proposs par UML 2
pour assurer cette description.
A. Fonctionnel
Pour ce point de vue fonctionnel, un seul diagramme sera prsent.
1. Le diagramme de cas dutilisation :
Les cas dutilisation constituent un moyen de recueillir et de dcrire les besoins
des acteurs du systme. Ils permettent de dcrire linteraction entre les acteurs et le systme. Sa
reprsentation met en jeu trois concepts : lacteur, le cas dutilisation et linteraction entre
lacteur et le cas dutilisation.
Un acteur :
Cest un utilisateur type qui a toujours le mme comportement vis--vis dun cas
dutilisation. Ainsi les utilisateurs dun systme appartiennent { une ou plusieurs classes
dacteurs selon les rles quils tiennent par rapport au systme.
Il peut aussi tre un systme externe avec lequel le cas dutilisation va interagir.
Un acteur peut se reprsenter symboliquement par un bonhomme et tre
identifi par son nom. Il peut aussi tre formalis par une classe strotype acteur

Figure 1: Reprsentation d'un acteur

Un cas dutilisation :
Un cas dutilisation correspond { un certain nombre dactions que le systme
devra excuter en rponse { un besoin dun acteur.
Linteraction entre lacteur et le cas dutilisation :
Une interaction permet de dcrire les changes entre un acteur et un cas
dutilisation.
Linteraction entre un acteur et un cas dutilisation se reprsente comme une
association. Elle peut comporter des multiplicits comme toute association entre classes.

Figure 2 : Prsentation de cas d'utilisation

Afin doptimiser la formalisation des besoins en ayant recours notamment { la
rutilisation de cas dutilisation, trois relations peuvent tre dcrites entre cas dutilisation :
une relation dinclusion ( include ),
une relation dextension ( extend ),
une relation de gnralisation.

Une relation dinclusion dun cas dutilisation A par rapport { un cas dutilisation
B signifie quune instance de A contient le comportement dcrit dans B.
Une relation dextension dun cas dutilisation A par un cas dutilisation B signifie
quune instance de A peut tre tendue par le comportement dcrit dans B. Deux
caractristiques sont noter :
le caractre optionnel de lextension dans le droulement du cas dutilisation standard
(A) ;
la mention explicite du point dextension dans le cas dutilisation standard.
Une relation de gnralisation de cas dutilisation peut tre dfinie
conformment au principe de la spcialisation-gnralisation dj prsente pour les classes.
B. Du point de vue dynamique
1. Le diagramme de squence
??????????????????
2. Le diagramme dtat-transition
?????????????????????
3. Le diagramme dactivit
Le diagramme dactivit prsente un certain nombre de points communs avec le
diagramme dtat-transition puisquil concerne le comportement interne des oprations ou des
cas dutilisation. Cependant le comportement vis ici sapplique aux flots de contrle et aux flots
de donnes propres { un ensemble dactivits et non plus relativement { une seule classe. Les
concepts communs ou trs proches entre le diagramme dactivit et le diagramme dtat-
transition sont :
transition,
nud initial (tat initial),
nud final (tat final),
nud de fin flot (tat de sortie),
nud de dcision (choix).
Le formalisme reste identique pour ces nuds de contrle.
Les concepts spcifiques au diagramme dactivit sont :
nud de bifurcation,
nud de jonction,
nud de fusion,
pin dentre et de sortie,
flot dobjet,
partition.
Une action :
Une action correspond { un traitement qui modifie ltat du systme. Cette action peut
tre apprhende soit { un niveau lmentaire proche dune instruction en termes de
programmation soit un niveau plus global correspondant une ou plusieurs oprations.
Formalisme et exemple :
Une action est reprsente par un rectangle dont les coins sont arrondis comme pour
les tats du diagramme dtat-transition. La figure ci-dessus illustre notre dfinition.

Figure 3 : Formalisme et exemple d'une action
Transition et flot de contrle :
Ds quune action est acheve, une transition automatique est dclenche vers laction
suivante. Il ny a donc pas dvnement associ { la transition. Lenchanement des actions
constitue le flot de contrle.
Formalisme et exemple
Le formalisme de reprsentation dune transition est donn { la figure suivante :

Figure 4 : Formalisme de base du diagramme dactivit : actions et transition
Une activit :
Une activit reprsente le comportement dune partie du systme en termes dactions
et de transitions. Une activit est compose de trois types de nuds :
nud dexcution (action, transition),
nud de contrle (nud initial, nud final, flux de sortie, nud de
bifurcation, nud de jonction, nud de fusion-test, nud de test-dcision, pin
dentre et de sortie),
nud dobjet.
Une activit peut recevoir des paramtres en entre et en produire en sortie.

Formalisme et exemple
Nous donnons une premire reprsentation simple la figure suivante :

Figure 5 : Exemple de reprsentation dune activit
Nud de bifurcation (fourche)
Un nud de bifurcation (fourche) permet { partir dun flot unique entrant de crer
plusieurs flots concurrents en sortie de la barre de synchronisation.
Formalisme et exemple :
Le formalisme de reprsentation de nud de bifurcation ainsi quun premier exemple
sont donns la Figure 6. Un second exemple avec nud de bifurcation est donn { la Figure 7.

Figure 6 : Exemple 1 dactivits avec nud de bifurcation

Figure 7 : Exemple 2 de diagramme dactivit
Nud de jonction (synchronisation)
Un nud de jonction (synchronisation) permet, { partir de plusieurs flots concurrents
en entre de la synchronisation, de produire un flot unique sortant. Le nud de jonction est le
symtrique du nud de bifurcation.
Formalisme et exemple :
Le formalisme de reprsentation dun nud de jonction est illustr la figure suivante :

Figure 8 : Exemple dactivits avec nud de jonction

Nud de test-dcision
Un nud de test-dcision permet de faire un choix entre plusieurs flots sortants en
fonction des conditions de garde de chaque flot. Un nud de test-dcision na quun seul flot en
entre. On peut aussi utiliser seulement deux flots de sortie : le premier correspondant la
condition vrifie et lautre traitant le cas sinon.
Formalisme et exemple :
Le formalisme de reprsentation dun nud de test-dcision ainsi quun premier
exemple sont donns la Figure 9. Un second exemple avec nud de test-dcision est donn la
Figure 10.

Figure 9 : Formalisme et exemple 1 dactivits avec nud de test-dcision

Figure 10 : Exemple 2 de diagramme dactivits avec un nud de test-dcision
Nud de fusion-test
Un nud de fusion-test permet davoir plusieurs flots entrants possibles et un seul flot
sortant. Le flot sortant est donc excut ds quun des flots entrants est activ.
Formalisme et exemple :
Le formalisme de reprsentation dun nud de fusion-test ainsi quun exemple sont
donns la figure ci-dessous.

Figure 11 : Formalisme et exemple de diagramme dactivits avec un nud de fusion-test
Pin dentre et de sortie
Un pin dentre ou de sortie reprsente un paramtre que lon peut spcifier en entre
ou en sortie dune action. Un nom de donne et un type de donne peuvent tre associs au pin.
Un paramtre peut tre de type objet.
Formalisme et exemple :
Chaque paramtre se reprsente dans un petit rectangle. Le nom du paramtre ainsi
que son type sont aussi { indiquer. Le formalisme de reprsentation de pin dentre ou de sortie
ainsi quun exemple sont donns { la figure suivante.

Figure 12 : Formalisme et exemple dactivit avec pin dentre et de sortie
Flot de donnes et nud dobjet
Un nud dobjet permet de reprsenter le flot de donnes vhicul entre les actions.
Les objets peuvent se reprsenter de deux manires diffrentes : soit en utilisant le pin dobjet
soit en reprsentant explicitement un objet.
Formalisme et exemple :
Le formalisme de reprsentation de flot de donnes et nud dobjet est donn
directement au travers dun exemple (Figure 13).

Figure 13 : Exemple de flot de donnes et de nud dobjets
Partition
UML permet aussi dorganiser la prsentation du diagramme dactivit en couloir
dactivits. Chaque couloir correspond { un domaine de responsabilit dun certain nombre
dactions.
Les flots dobjets sont aussi reprsents dans le diagramme. Lordre relatif des couloirs
de responsabilit nest pas significatif.
Reprsentation du diagramme dactivit :
Un exemple gnral de diagramme dactivit est donn { la figure suivante :

Figure 14 : Exemple de diagramme dactivit avec couloir dactivit
Reprsentation dactions de communication
Dans un diagramme dactivit, comme dansun diagramme de temps, des interactions de
communication lies { certains types dvnement peuvent se reprsenter.
Les types dvnement concerns sont :
signal,
coulement du temps.
Formalisme et exemple :
Le formalisme de reprsentation ainsi quun exemple dactions de communication sont
donns la figure suivante :

Figure 15 : Formalisme et exemple de diagramme dactivit


4. Le diagramme dinteraction
Le diagramme global dinteraction permet de reprsenter une vue gnrale des
interactions dcrites dans le diagramme de squence et des flots de contrle dcrits dans le
diagramme dactivit.
Autrement dit, le diagramme global dinteraction est un diagramme dactivit dans
lequel on reprsente des fragments dinteraction ou des utilisations dinteractions. Ainsi, il est
possible de reprsenter :
des choix de fragments dinteractions (fusion) ;
des droulements parallles de fragments dinteractions (dbranchement et jonction)
;
des boucles de fragments dinteraction.
Les lignes de vie concernes par le diagramme global dinteraction peuvent tre cites
dans len-tte du diagramme mais ne sont pas reprsenter graphiquement.
Le diagramme global dinteraction utilise les concepts du diagramme dactivit auquel
on ajoute deux complments :
Les fragments dinteraction du diagramme de squence Il sagit comme le montre la
figure ci-dessous de la notion de fragment dinteraction vue dans le diagramme de squence
mais qui ne doit pas tre dtaill ce niveau.

Figure 16 : Exemple de fragment dinteraction
Les utilisations de fragments dinteraction Il est aussi possible de faire appel des
fragments dinteraction { laide de loprateur ref comme la montre la figure ci-dessous.

Figure 17 : Exemple de fragment dinteraction avec loprateur ref
1. Le diagramme de communication
2. Le diagramme de temps
Le diagramme de temps combine les diagrammes de squence et d'tat pour proposer
un point de vue sur l'volution de l'tat d'un objet au fil du temps, et sur les messages qui
modifient cet tat.
Il permet de reprsenter les tats et les interactions dobjets dans un contexte o le
temps a une forte influence sur le comportement du systme grer.
Le diagramme de temps utilise trois concepts de base :
Ligne de vie Elle reprsente lobjet que lon veut dcrire. Elle se dessine de manire
horizontale. Plusieurs lignes de vie peuvent figurer dans un diagramme de temps.
tat ou ligne de temps conditionne Les diffrents tats que peut prendre lobjet
dtude sont lists en colonne permettant ainsi de suivre le comportement de lobjet ligne par
ligne (une ligne pour un tat).
tats linaires Il sagit du mme concept que le prcdent, mais la reprsentation de
la succession des tats est faite de manire linaire { laide dun graphisme particulier

Chapitre 4 : Les diagrammes structurels
A. Du point de vue statique
1. Le diagramme de classe
Le diagramme de classe constitue lun des pivots essentiels de la modlisation
avec UML. En effet, ce diagramme permet de donner la reprsentation statique du systme
dvelopper.
2. Le diagramme dobjet


3. Le diagramme de structure composite
Le diagramme de structure composite permet de dcrire des collaborations dinstances
(de classes, de composants) constituant des fonctions particulires du systme dvelopper.
Collaboration
Une collaboration reprsente un assemblage de rles dlments qui interagissent en
vue de raliser une fonction donne. Il existe deux manires de reprsenter une collaboration :
reprsentation par une collaboration de rles
reprsentation par une structure composite : le diagramme de structure composite
Reprsentation et exemples
Reprsentation par une collaboration de rles :
Dans ce cas, une collaboration est formalise par une ellipse en pointill dans laquelle
on fait figurer les rles des lments qui interagissent en vue de raliser la fonction souhaite
(Figure 18). Dans cet exemple, la fonction Persistance objets mtier rsulte dune collaboration
entre deux rles dlments :
mapping : classeMtier
stockage : tableBDD

Figure 18 : Exemple de reprsentation dune structure composite laide dune collaboration de
rles
Reprsentation par un diagramme de structure composite :
Cette nouvelle reprsentation (Figure 19) permet de montrer plus explicitement les
lments de la collaboration :
la collaboration reprsente par une ellipse en pointill
les lments participant { la collaboration (classe, composant) reprsents
lextrieur de la collaboration
les rles considrs dans chaque participation reprsents sur les liens entre les
lments participants et la collaboration

Figure 19 : Exemple de reprsentation de collaboration dinstances par un diagramme de structure
composite
Dans cet exemple, la fonction Persistance objets mtier rsulte dune collaboration
entre la classe ClasseMtier considre suivant le rle mapping et la classe TableBDD
considre suivant le rle stockage.
Cette reprsentation permet aussi de prciser les seuls attributs des classes
participantes qui sont considrs suivant les rles pris en compte.
B. Du point de vue implmentation
1. Le diagramme de composant
Le diagramme de composant permet de reprsenter les composants logiciels dun
systme ainsi que les liens existant entre ces composants.
Les composants logiciels peuvent tre de deux origines : soit des composants mtiers
propres une entreprise soit des composants disponibles sur le march comme par exemple les
composants EJB, CORBA, .NET, WSDL.
Composant
Chaque composant est assimil un lment excutable du systme. Il est caractris
par :
un nom ;
une spcification externe sous forme soit dune ou plusieurs interfaces requises (une
interface requise est une interface ncessaire au bon fonctionnement du composant) soit
dune ou plusieurs interfaces fournies (une interface fournie est une interface propose
par le composant aux autres composants).
un port de connexion.
Le port dun composant reprsente le point de connexion entre le composant et une
interface. Lidentification dun port permet dassurer une certaine indpendance entre le
composant et son environnement extrieur.
Formalisme gnral :
Un composant est reprsent sur la figure ci-dessous par un classeur avec le mot-cl
composant ou bien par un classeur comportant une icne reprsentant un module.

Figure 20 : Formalisme gnral dun composant
Les deux types de reprsentation et exemples
Deux types de reprsentation sont disponibles pour modliser les composants : une
reprsentation bote noire et une reprsentation bote blanche . Pour chaque
reprsentation, plusieurs modlisations des composants sont proposes.
Reprsentation bote noire
Cest une vue externe du composant qui prsente ses interfaces fournies et requises sans entrer
dans le dtail de limplmentation du composant. Une bote noire peut se reprsenter de
diffrentes manires.
Connecteur dassemblage :
Une interface fournie se reprsente { laide dun trait et dun petit cercle et une interface requise
{ laide dun trait et dun demi-cercle. Ce sont les connecteurs dassemblage.
Un exemple de modlisation avec les connecteurs dassemblage est donn { la figure suivante, le
composant Commande possde deux interfaces fournies et deux interfaces requises.

Figure 21 : Reprsentation dun connecteur dassemblage
Connecteur dinterfaces :
Une autre reprsentation peut tre aussi utilise en ayant recours aux dpendances
dinterfaces utilise et ralise :
pour une interface fournie, cest une relation de ralisation partant du composant et
allant vers linterface
pour une interface requise, cest une dpendance avec le mot-cl utilise partant du
composant et allant vers linterface.
Un exemple de modlisation avec connecteurs dinterfaces est donn { la figure
suivante. Le composant Commande possde une interface fournie GestionCommande et une
interface requise Produit .

Figure 22 : Reprsentation dun composant avec connecteur dinterfaces

Compartiment :
Une dernire manire de modliser un composant avec une reprsentation bote noire
est de dcrire sous forme textuelle les interfaces fournies et requises { lintrieur dun second
compartiment. Un exemple de modlisation avec les compartiments est donn la figure
suivante :

Figure 23 : Reprsentation dun composant avec compartiments
Reprsentation bote blanche
Cest une vue interne du composant qui dcrit son implmentation { laide de
classificateurs (classes, autres composants) qui le composent. Plusieurs modlisations sont
possibles pour la reprsentation bote blanche.
Compartiment :
Une manire de modliser un composant avec une reprsentation bote blanche est de dcrire
sous forme textuelle les interfaces fournies et requises { lintrieur dun compartiment, les
classificateurs (classes, autres composants) dans un autre compartiment, les artefacts (lment
logiciel : jar, war, ear, dll) qui reprsentent physiquement le composant dans un dernier
compartiment.
Un exemple de modlisation avec les compartiments est donn la figure suivante :

Figure 24 : Reprsentation bote blanche avec compartiments
Dpendance :
Une autre reprsentation interne du composant peut tre aussi utilise en ayant
recours aux dpendances. Ainsi, les classificateurs qui composent le composant sont relis
celui-ci par une relation de dpendance. Les relations entre les classificateurs (association,
composition, agrgation) sont aussi modlises. Nanmoins, si elles sont trop complexes, elles
peuvent tre reprsentes sur un diagramme de classe reli au composant par une note.
Un exemple de modlisation bote blanche avec les dpendances est donn la suivante :

Figure 25 : Reprsentation bote blanche avec dpendances
Ports et connecteurs :
Le port est reprsent par un petit carr sur le composant. Les connecteurs permettent de relier
les ports aux classificateurs. Ils sont reprsents par une association navigable et indiquent que
toute information arrive au port est transmise au classificateur.
Un exemple de reprsentation avec port et connecteur du composant Commande est donn la
figure suivante :

Figure 26 : Reprsentation bote blanche avec connecteurs
Dans lexemple de la figure prcdente, le composant Commande est constitu de
deux classes (classificateur) relies par une agrgation : DetailCommande et LigneCommande.
Linterface fournie GestionCommande est accessible de lextrieur via un port et
permet daccder via les connecteurs aux oprations des deux classes DetailCommande et
LigneCommande (ajouterLigneCommande, calculTotal-Commande, calculPrixLigne).
Linterface requise Personne est ncessaire pour laffichage du dtail de la commande
et est accessible via un port du composant Commande.
Linterface requise Produit est ncessaire pour le calcul du prix de la ligne de
commande et est accessible via un port du composant Commande.
2. Le diagramme de dploiement
Le diagramme de dploiement permet de reprsenter larchitecture physique supportant
lexploitation du systme. Cette architecture comprend des nuds correspondant aux supports
physiques (serveurs, routeurs) ainsi que la rpartition des artefacts logiciels (bibliothques,
excutables) sur ces nuds. Cest un vritable rseau constitu de nuds et de connexions
entre ces nuds qui modlise cette architecture.
2.1 Nud
Un nud correspond { une ressource matrielle de traitement sur laquelle des artefacts seront
mis en uvre pour lexploitation du systme. Les nuds peuvent tre interconnects pour
former un rseau dlments physiques.
Formalisme et exemple :
Un nud ou une instance de nud se reprsente par un cube ou paralllpipde donne par la
figure suivante :

Figure 27 : Reprsentation de nuds
Complments sur la description dun nud
Il est possible de reprsenter des nuds spcialiss. UML propose en standard les deux
types de nuds suivants :
Unit de traitement Ce nud est une unit physique disposant de capacit de
traitement sur laquelle des artefacts peuvent tre dploys. Une unit de traitement est
un nud spcialis caractris par le mot-cl device.
Environnement dexcution Ce nud reprsente un environnement dexcution
particulier sur lequel certains artefacts peuvent tre excuts. Un environnement
dexcution est un nud spcialis caractris par le motcl executionEnvironment .
2.2 Artefact
Un artefact est la spcification dun lment physique qui est utilis ou produit par le processus
de dveloppement du logiciel ou par le dploiement du systme. Cest donc un lment concret
comme par exemple : un fichier, un excutable ou une table dune base de donnes.
Un artefact peut tre reli { dautres artefacts par notamment des liens de dpendance.
Formalisme et exemple :
Un artefact se reprsente par un rectangle (Figure 28) caractris par le mot-cl
artifact et/ou une icne particulire dans le coin droit du rectangle.

Figure 28 : Reprsentation dun artifact
Deux complments de description sont proposs par UML pour la reprsentation des artefacts.
2.3 Spcification de dploiement
Une spcification de dploiement peut tre associe chaque artefact. Elle permet de
prciser les conditions de dploiement de lartefact sur le nud sur lequel il va tre implant.
Formalisme et exemple :
Une spcification de dploiement se reprsente par un rectangle avec le mot-cl
deployment spec . Un exemple dun artefact avec une spcification de dploiement est donn {
la figure suivante :

Figure 29 : Exemple dun artefact avec spcification de dploiement
2.4 Liens entre un artefact et les autres lments du diagramme
Il existe deux manires de reprsenter le lien entre un artefact et son nud
dappartenance :
Reprsentation inclusive Dans cette reprsentation, un artefact est reprsent { lintrieur du
nud auquel il se situe physiquement. Un exemple est donn { la figure suivante :

Figure 2.46 Exemple de reprsentation inclusive dartefact
Reprsentation avec un lien de dpendance typ deploy Dans ce cas lartefact est
reprsent { lextrieur du nud auquel il appartient avec un lien de dpendance entre lartefact
et le nud typ avec le mot-cl deploy . Un exemple est donn la figure suivante :

Figure 30 : Exemple de reprsentation dartefact avec lien de dpendance
Un artefact peut reprsenter un ou plusieurs lments dun modle. Le qualificatif manifest
permet dindiquer ce type de dpendance.
2.5 Reprsentation et exemples
Le diagramme de dploiement reprsente les nuds de larchitecture physique ainsi
que laffectation des artefacts sur les nuds conformment aux rgles de dploiement dfinies.
Un premier exemple est donn la figure suivante :

Figure 31 : Exemple de reprsentation dun diagramme de dploiement
Un second exemple relatif { une implmentation dune architecture J2EE avec quatre nuds est
donn la Figure 32.
Dans lexemple de la Figure 32, plusieurs composants sont dploys.
Un serveur web o se trouvent les lments statiques du site dans une archive : images, feuilles
de style, pages html (static.zip).
Un serveur dapplication front sur le lequel est dploye larchive front.ear compose de
lapplication web front.war et dautres composants ncessaires au fonctionnement de cette
archive web comme clientejb.jar (classes permettant lappel aux EJB) et commun.jar
(classes communes aux deux serveurs dapplication).
Un serveur dapplication mtier sur lequel sont dploys les composants :
ejb.jar . Ils sont packags dans larchive metier.ear . Deux autres archives sont ncessaires
au fonctionnement des EJB : dao.jar (classes qui permettent laccs { la base de donnes) et
commun.jar (classes communes aux deux serveurs dapplication).
Un serveur BDD (base de donnes) sur lequel sont stockes des procdures stockes PL/SQL :
scripts.sql .

Figure 32 : Exemple de diagramme de dploiement comportant quatre nuds
3. Le diagramme de paquetage
Nous proposons au lecteur une prsentation dtaille dUML 2 en privilgiant
notamment dans les exemples et les tudes de cas le contexte dutilisation des systmes
dinformation.