Вы находитесь на странице: 1из 50

Les briques d'UML Les diagrammes

@ Une modlisation statique @ Une modlisation dynamique


Il en existe 9 types :

q Le diagramme de classes q Le diagramme d'objets q q q q q


Le diagramme de Use cases Le diagramme de squences Le diagramme de collaboration Le diagramme d'tats-transitions Le diagramme d'activits

q Le diagramme de composants q Le diagramme de dploiement


O. BOUSSAID

Page : 63

Le Modle Objet
Cela consiste dfinir les objets qui vont modliser les besoins qui ont t exprim en termes de fonctionnalits. Le passage de cet aspect fonctionnel un aspect objet n'est certes pas vident.
La description des objets est structurelle. Par ailleurs, on dterminera les liens entre les diffrents objets. Les Objets et leurs liens reprsentent ainsi le

modle statique
Les objets dtermins serviront lors des phases analyse, conception et plus tard l'implmentation.

O. BOUSSAID

Page : 64

LE MODELE DYNAMIQUE
Il vient juste aprs l'analyse statique du modle. Cette dernire dcrit la structure des lments du modle ainsi que leurs relations.

Quant , elle a pour but de dcrire les tats des objets au cours du fonctionnement du systmes: modifications des attributs ; excutions des mthodes ; ractions des sollicitations externes au systme;

l'analyse dynamique

O. BOUSSAID

Page : 65

Les briques d'UML Les diagrammes


F Le diagramme de classes
Il reprsente un ensemble de classes, d'interfaces, de collaborations et leurs relations.

F Le diagramme d'objets
Il reprsente un ensemble d'objets et leurs relations.

F Le diagramme de Use cases


Il reprsente un ensemble d'acteurs et de cas d'utilisation et leurs relations.

F Le diagramme de squences
C 'est un diagramme d'interaction. Il reprsente un ensemble d'objets et leurs relations, avec les messages qu'ils changent. (aspect chronologique des messages).

O. BOUSSAID

Page : 66

Les briques d'UML


F Le diagramme de collaboration
C 'est un diagramme d'interaction, il reprsente un ensemble d'objets et leurs relations avec les messages qu'ils changent. (aspect structurel des objets).

F Le diagramme d'tats-transitions
Ceux sont des automates tats finis, composs d'tats, de transitions, d'vnements et d'activits
(Vue dynamique d'un systme)

F Le diagramme d'activits
C 'est un diagramme d'tats-transitions dcrivant une suite d'activits.

F Le diagramme de composants
Il reprsente l'organisation et les dpendances des composants. Un composant est soit une (ou plusieurs) classe (s), interface(s) ou collaboration(s).

F Le diagramme de dploiements
Il reprsente la configuration des nuds de processus en phase d'excution.
O. BOUSSAID

Page : 67

Diagramme des Classes


Le modle objet : diagramme de classes (attributs et mthodes )
Nom de la classe attribut : type = valeur initiale opration(liste darguments) : rsultat renvoy

Diagramme d'une classe La dtermination des classes lors de la phase d'analyse n'est pas vidente. Elle suit une mthode plutt intuitive, base sur l'exprience de l'analyste qui a (ou n'a pas) l'habitude de reconnatre plus ou moins facilement les classes, les objets, les associations, les attributs et les mthodes des classes. L'analyste pourra se demander alors quels sont les objets de gestion dans le problme tudi et se rfrer galement aux rgles de gestion pour identifier les objets rels ainsi que leurs liens et qu'il va falloir modliser sous formes de classes et d'associations. Le parallle avec le modle E/A est intressant faire lors de la phase d'analyse.

O. BOUSSAID

Page : 68

Diagramme de squences

Les dirents types de messages :

" Message simple " message minut " message synchrone " message asynchrone " message drobant

O. BOUSSAID

Page : 69

Diagramme de squences

Les dirents types de messages :

" Message simple Message dont on ne spcie aucune caractris2que d'envoi ou de rcep2on

par2culire

" message minut (Bmeout)

Bloque l'expditeur pendant un temps donn (qui peut tre spci dans une contrainte), en a?endant la prise en compte du message par le rcepteur. L'expditeur est libr si la prise en compte n'a pas eu lieu pendant le dlai spci

" message synchrone

Bloque l'expditeur jusqu' prise en compte du message par le des2nataire. Le ot de contrle passe de l'me?eur au rcepteur (l'me?eur devient passif et le rcepteur ac2f) la prise en compte du message

" message asynchrone


N'interrompt pas l'excu2on de l'expditeur. Le message envoy peut tre pris en compte par le rcepteur tout moment ou ignor ( jamais trait) N'interrompt pas l'excu2on de l'expditeur et ne dclenche une opra2on chez le rcepteur que s'il s'est pralablement mis en a?ente de ce message.

" message drobant

O. BOUSSAID

Page : 70

Diagramme de squences
On peut reprsenter explicitement les priodes d'ac2vit d'un objet par
une bande rectangulaire superpose la ligne de vie de l'objet.

On peut aussi reprsenter des messages rcursifs, en ddoublant la bande

d'ac2va2on de l'objet concern. Pour reprsenter de manire graphique une excu2on condi2onnelle d'un message, on peut documenter un diagramme de squence avec du pseudo- code et reprsenter des bandes d'ac2va2on condi2onnelles.

O. BOUSSAID

Page : 71

Diagramme de squences Commentaires :


v v v v v v

Ne confondez pas la priode d'ac2va2on d'un objet avec sa cra2on ou sa destruc2on. Un objet peut tre ac2f plusieurs fois au cours de son existence. Le pseudo-code peut aussi tre u2lis pour indiquer des itra2ons (avec incrmenta2on d'un paramtre d'un message par exemple). Le retour des messages asynchrones devrait toujours tre matrialis, lorsqu'il existe. Notez qu'il est fortement recommand de synchroniser vos messages. Bien choisir la reprsenta2on des branchements condi2onnels. Evitez une nota2on lourde. Prfrez aussi l'u2lisa2on de contraintes celle de pseudo- code, (voir l'exemple).

O. BOUSSAID

Page : 72

Diagramme de squences

Exemple :

O. BOUSSAID

Page : 73

Synchronisation des messages

UML permet de spcifier de manire trs prcise l'ordre et les conditions d'envoi des messages sur un diagramme dynamique.

Pour chaque message, il est possible d'indiquer :

q Les clauses qui conditionnent son envoi, q Son rang (son numro d'ordre par rapport aux autres messages), q Sa rcurrence, q Ses arguments

La syntaxe d'un message est la suivante :

[pr "/"]["["cond"] "][sq]["*"["||"]["["iter"]"]] ":" ] [r ":="] msg "("[par] ")"

O. BOUSSAID

Page : 74

SynchronisaBon des messages pr : prdcesseurs (liste de numros de squence de messages spars


par une virgule ; voir aussi "sq"). Indique que le message courant ne sera envoy que lorsque tous ses prdcesseurs le seront aussi (permet de synchroniser l'envoi de messages).

cond : garde, expression boolenne.


Permet de condi2onner l'envoi du message, l'aide d'une clause exprime en langage naturel.

sq : numro de squence du message.


Indique le rang du message, c'est--dire son numro d'ordre par rapport aux autres messages. Les messages sont numrots la faon de chapitres dans un document, l'aide de chires spars par des points. Ainsi, il est possible de reprsenter le niveau d'embotement des messages et leur prcdence.

Exemple : l'envoi du message 1.3.5 suit immdiatement celui du message 1.3.4 et ces deux messages font par2e du ot (de la famille de messages) 1.3. Pour reprsenter l'envoi simultan de deux messages, il sut de les indexer par une le?re. Exemple : l'envoi des messages 1.3.a et 1.3.b est simultan.

O. BOUSSAID

Page : 75

SynchronisaBon des messages


iter : rcurrence du message.

Permet de spcier en langage naturel l'envoi

squen2el (ou en parallle, avec "||") de messages. Notez qu'il est aussi possible de spcier qu'un message est rcurrent en ome?ant la clause d'itra2on (en

n'u2lisant que "*" ou "*||").

r : valeur de retour du message.

Permet d'aecter la valeur de retour d'un message, pour

par exemple la retransme?re dans un autre message, en tant que paramtre.

msg : nom du message.


par : paramtres (op2onnels) du message.

O. BOUSSAID

Page : 76

SynchronisaBon des messages

Exemples :

3 : bonjour()
Ce message a pour numro de squence "3".

[heure = midi] 1 : manger() Ce message n'est envoy que s'il est midi. 1.3.6 * : ouvrir() Ce message est envoy de manire squen2elle un certain nombre de fois. 3 / *||[i := 1..5] : fermer() Reprsente l'envoi en parallle de 5 messages. Ces messages ne seront envoys qu'aprs l'envoi du message 3. 1.3,2.1 / [t < 10s] 2.5 : age := demanderAge(nom,prenom) Ce message (numro 2.5) ne sera envoy qu'aprs les messages 1.3 et 2.1, et que si "t < 10s". 1.3 / [disk full] 1.7.a * : deleteTempFiles() 1.3 / [disk full] 1.7.b : reduceSwapFile(20%) Ces messages ne seront envoys qu'aprs l'envoi du message 1.3 et si la condi2on "disk full" est ralise. Si cela est le cas, les messages 1.7.a et 1.7.b seront envoys simultanment. Plusieurs messages 1.7.a peuvent tre envoys.

O. BOUSSAID

Page : 77

Exemple de diagramme de squences

:Dupont 1:AjouterSpcimen()

c:Collec2on

e:Espce

2:CrerForme()

3:SaisisrPhoto() 4:ChercherPhoto () 5:[e]{Nom, Famille}:=Infos?()

6:Maj{Nom, Famille}() 7:SaisirInfo() 8:Ajouter Spcimen()

9:CrerSpcimen()

s:Specimen

10:Lier()

O. BOUSSAID

Page : 78

Diagramme d 'acBvit
iden2er les ac2vits (en s'appuyant sur les use cases) iden2er les transi2ons entre ac2vits Dcrire le comportement d'une classe en rponse des calculs internes Similaire aux diagrammes d'tat, mais pour les vnements internes (et non extrieus)

menu [highscore] view Highscore [start] Start turn=0 [exit]

Roll Dice turn++ [true] Turn<10 [false] Update highscore


O. BOUSSAID

Page : 79

Diagramme d'acBvit

menu [highscore] [start] [exit]

view Highscore

Start turn=0

Roll Dice turn++ [true] Turn<10 [false] Update highscore

O. BOUSSAID

Page : 80

Diagramme d'acBvit
Phase analyse des besoins ou analyse ? Plus business process que orient objet Ordonne et dtaille les Use-cases Trs u2le pour les tests...

menu

Acher Score
[Score] [start] [exit]

Joueur Jouer

Acher Score

dbut turn=0

Lanc D turn++ [false]

[true]
score<10

Maj Score

O. BOUSSAID

Page : 81

Diagramme de collaboraBon
Iden2er les OBJETS les rela2ons entre OBJETS (graphe d'objets) les messages et l 'ordre d'appel des messages entre les objets

d1 : D 2: r1=roll( ) 1: jeu( ) jeu : ds 3: r2=roll( )

Momo : Joueur

d2 : D

Visualise les objets Visualise les relaBons entre objets Visualise l 'ordonnancement des appels de messages sur les objets

O. BOUSSAID

Page : 82

Diagramme de collaboraBon
Dcrivent les changes de messages entre classes et dnissent les associa2ons
sman2quement quivalents aux diagrammes de sequences, mais

Diagrammes de squences illustrent l'ordre des vnements Classes : objets par2cipant l'interac2on Liens : instances d'associa2ons Messages : envoys le long des liens Scnarios : cas par2culier

Diagrammes de collabora2on reprsentent les interconnec2ons entre objets et sont visuellement dirents

Objets

:GesBon Monnaie

2: InsererMonnaie(prix)


1.3: AcherMonnaie(prix) 2.1: DonnerBoisson() :Distributeur :Ecran

Usager

1: ChoixBoisson(Coca) 2.2: DonnerBoisson()


1.1: true := AvoirDisponibilit()

1.2: prix := avoirPrix()

Liens
Page : 83

Messages
O. BOUSSAID

:Coca

Diagramme de collaboraBon
Tous les chemins possibles dans les diagrammes d'ac2vits sont sujet tre reprsents par des diagrammes de collabora2on ! A?en2on la sur-analyse ! Ne reprsenter que les scnarios les plus per2nents !

menu

[score]

[start]

[exit]

Acher score

Dbut turn=0 d1 : D 2: r1=roll( )

Lancer D turn++ [true] Score<10 [false]

1: jeu( ) jeu : Ds

3: r2=roll( )

Momo : Joueur

d2 : D

Me]re jour score

O. BOUSSAID

Page : 84

La notion d 'tat
Un tat d'un objet est dfini la fois par la valeurs de ses attributs et de ses liens avec les autres objets. Il reprsente ainsi un intervalle de temps. L'objet est dans un tat initial et peut alors changer d'tat. Exemple

:
Etudiant
InscritEn

Nom Prnom ge Statut

Pratiquer

* Diplme

0..*

Sport

Ici l'objet Etudiant peut passer d'un tat Etudiant un tat de diplm un tat de sportif, C'est l'attribut Statut qui va changer de valeur.

Reprsentation d 'un tat :

tudiant Diplm Sportif

O. BOUSSAID

Page : 85

vnements et messages
Un
est produit par un fait et vhicule une information qui va solliciter un ou plusieurs objets. Soit ils rpondront en activant une mthode ; soit ils ne ragiront pas du tout. Cela dpend de l'tat dans lequel se trouve(nt) l'(les) objet(s). Un vnement peut tre interne ou externe au systme. Lorsqu'un objet provoque un vnement en direction d'un autre objet, ce dernier peut rpondre en dclenchant une de ses mthodes.

vnement

interaction entre ces deux objets. L'vnement est qualifi alors de message entre ces deux objets.
C'est une

O. BOUSSAID

Page : 86

Transition
Une transition est le passage d'un objet d'un tat un autre d un vnement.
Rinscription autre diplme

tudiant
Changer statut Suivre paralllement

Fin d'tudes

Diplm

Changer carrire

Sportif

O. BOUSSAID

Page : 87

Diagramme d 'tats
C'est un graphe compos de nuds reprsentant les tats d'un objet d'une classe et les arcs sont les transitions portant des vnements. Un diagramme d'tats est propre une classe d'objets. Un tat d'un objet peut correspondre des sous tats . Cela dpend du niveau de granularit qu'on dsire. Exemple : l'tat Sportif peut tre reprsent par trois sous tats : Athlte Haut Niveau ; Slection en E.N. et Comptition. Les sous tats sont reprsents comme des tats. Dans un diagramme d'tats on peut dvelopper l'tat d'un objet par un sous diagramme d'tats avec des points d'entre et des points de sortie. De telle sorte, on peut passer d'un tat un sous tat et inversement.

Convocation Athlte Haut Niveau Slectionn en quipe nationale


Disputer Suivre paralllement

Comptiteur
Changer carrire

Sous diagramme d'tats.

O. BOUSSAID

Page : 88

Rappel de cours diagrammes d'tats

Contenu d'un diagramme de comportement Description des squences possibles d'tats et d'actions par lesquelles un lment peut passer tout au long de sa vie. De telles squences rsultent de sa raction des vnements tels que des signaux ou des invocations d'oprations.

O. BOUSSAID

Page : 89

Deux contextes d'emploi d'un diagramme dynamique

q Dcrire le comportement concret de la vie d'un objet


(scnario) . q Fixer le comportement attendu d'un objet tout au long de sa vie, (spcification)

O. BOUSSAID

Page : 90

Dfinitions

Un tat est une condition dans la vie d'un objet (ou d'une interaction)
pendant laquelle :

v il satisfait quelques conditions,


v il excute quelques actions ou v il attend quelques vnements.

Un vnement est une occurrence remarquable qui a la capacit de


dclencher une transition d'un tat vers un autre tat. On constate que tat et vnement s'entre-dfinissent mutuellement : un tat est atteint depuis un vnement (transition),

un vnement est ce qui dclenche un changement d'tat.


Mais ce qui permet de les distinguer est un critre de temporalit : un vnement est instantan (un point sur une ligne de vie) alors qu'un tat possde une dure (un segment sur la mme ligne de vie) :

O. BOUSSAID

Page : 91

Etat : Evnement

En relation avec son objet, un tat peut tre considr de 3 manires diffrentes :

vvue externe : un tat est une rponse de l'objet qui est sollicit par un

vnement. Par exemple, quand survient l'vnement fin de sjour, l'objet vacances d't rpond en entrant dans l'tat retour en avion.

vvue interne : un tat est un intervalle entre 2 vnements. Par exemple, l'tat

rentrer en avion est une caractristique interne de l'objet vacances d't impose par son extrieur par les vnements fin de sjour et atterrissage.

vvue normative : un tat est une condition portant sur les valeurs lies un

groupe d'attributs de l'objet. Par exemple, tat rentrer en avion : attribut distance de valeur > 800 km ET attribut budget de valeur > 300 . Autre exemple : l'tat Liquide de l'lment Eau peut tre dfini par la double condition sur son attribut temprature : 0<T<100C.

O. BOUSSAID

Page : 92

Evnements

UML dispose de 5 types d'vnements (non ncessairement exclusifs) :

i.

Changement de valeur d'une condition boolenne : une expression


passant de la valeur Faux la valeur Vrai, quel que soit le moment o elle survient peut constituer un vnement. Exemple : Temps = pluie dont la valeur est Faux, en passant la valeur Vrai constitue un vnement la suite duquel on rentre dans l'tat mouill. Notation par mot cl : when (expression).

ii. iii. iv.

Rception d'un signal explicite envoy par un autre objet. Exemples : la


rception d'un SOS par le bateau de sauvetage, ou un message d'erreur.

Demande d'opration faite par un autre objet. Exemple : Fermer la fentre. Epuisement d'un dlai temporel. Exemple : la fin du sursis excution est
un vnement pour le condamn mort. Notation par mot cl : after (expression).

v.

Survenance d'une date peut tre un vnement (on l'appellera Timer) :


Exemple le 31/12/2006, minuit est un vnement. Notation par mot cl : when (expression).

O. BOUSSAID

Page : 93

Exemple 1
Un dispositif de contrle d'accs par carte magntique un photocopieur est quip d'un cran de visualisation qui peut afficher les messages suivants :

"INSEREZ VOTRE CARTE" lorsque le dispositif est inutilis. "PATIENTER" pendant que le dispositif lit le code d'une carte introduite. "CARTE INVALIDE" lorsque le code n'est pas reconnu (illisible) ; la carte est alors automatiquement jecte. "COMPOSEZ VOTRE CODE" lorsque celui-ci a pu tre lu. "CODE REFUSE" si le code compos n'est pas identique au code lu ; la carte est alors automatiquement jecte. "UTILISATION EN COURS" lorsque le code compos est correct.

L'utilisateur peut tout moment actionner un bouton qui provoque l'jection de la carte. Aprs toute jection de carte, le dispositif affiche "INSERER CARTE".

O. BOUSSAID

Page : 94

Diagramme Etats / Transistions

Appui sur bouton eject / Ejecter la carte

/ Ejecter la carte Insrez votre carte

Appui sur le bouton eject / Ejecter la carte

Insrer la carte( carte ) / Lecture du code When( Code non reconnu ) Carte / Ejecter la carte Patientez invalide

When( Code reconnu )

When( code lu <> code compos ) Composez votre code When( code lu = code compos )

Code refus

Utilisation en cours

Appui sur le bouton eject / Ejecter la carte

O. BOUSSAID

Page : 95

Exemple 2

Partie 1 :
Une partie d'checs peut tre dcrite comme suit :

v Au dpart, le tour de jouer est au joueur possdant les pice


blanches,

v Quand le joueur aux pices blanches joue, le tour de jouer v Quand le joueur possdant les pices blanches v S'il y a un pat, la partie est finie par un nul.

devient celui possdant les pices noires. L'inverse est aussi vrai. (respectivement, les pices noires) fait un chec et mat, il gagne la partie,

Imaginons qu'il existe un contrleur qui surveille de la partie d'chec. Dcrivez, d'une point de vue contrleur, le digramme Etat/Transition de la partie d'checs.

O. BOUSSAID

Page : 96

Exemple 2 : Partie 1

O. BOUSSAID

Page : 97

Exemple 2

Partie 2 :
v Supposons maintenant que l'on veuille dcrire la mme partie
d'checs du point de vue du comportement d'un objet Afficheur (interface graphique). jeu. Sur le jeu d'une pice, il doit :

v Son rle est d'afficher sur un cran l'chiquier et les pices du


q effacer celle-ci de sa position initiale, q la rafficher dans sa nouvelle position et, q simuler graphiquement la trajectoire du dplacement.

O. BOUSSAID

Page : 98

Exemple 2 : Partie 2

O. BOUSSAID

Page : 99

Concepts lis aux Diagramme d 'tats

Les attributs
Ceux sont des paramtres ports par des vnements. Ils sont reprsents dans une liste (utilisation des ( ) ) . Une transition peut porter une liste d'attributs.

Les gardiens
Ceux sont des fonctions boolennes qui conditionnent le dclenchement d'une transition. (utilisation des [ ] ).

Les activits
Ceux sont des oprations continues dans le temps et s'excutent Elle est prcde du mot cl do .

Les actions
Ceux sont des oprations qui s'excutent instantanment. Une action peut tre associe un tat ou une transition. Elle peut intervenir :
Soit en entre d'tat (entry/) ; soit en sortie d'tat (exit/) ; soit en rponse un vnement dclenche (vnement1/) ; soit enfin au cours d'une transition (par /).

O. BOUSSAID

Page : 100

Concepts lis aux Diagramme d 'tats (2)

Les attributs Les gardiens Les activits Les actions


ETAT 1
-entry/action en entre d'tat -do :activit pendant l'tat -vnemen1 / action1 -vnemen2 / action1
-

-exit / action en sortie d'tat

Evnement (attributs) [gardiens] / action

Etat 2

O. BOUSSAID

Page : 101

Concepts lis aux Diagramme d 'tats (3)

Remarque
Plusieurs sous diagrammes d'tats peuvent intervenir en mme temps. Ils se droulent en concurrence ou en synchronisation.

Lorsqu'ils sont en concurrence, le premier sous diagramme d'tat bloque les autres et fait quitter l'tat englobant vers un autre tat. Lorsqu'ils sont en synchronisation, la transition de l'tat englobant vers un autre tat ne s'effectue que lorsque tous les sous diagrammes le permettent. Aucun sous diagramme ne peut tre interrompu.

O. BOUSSAID

Page : 102

Concepts lis aux Diagramme d 'tats (4)

Inscrit ANPE
AcceptationInsciption

Petites annonces

Allocation chmage
Proposition ANPE

OU

Proposition Entrevue

En PhaseEmbauche

- Sous diagramme d'tat en concurrence.

Demander Cong ET

Assurer Fonctions

En cong

- Sous diagramme d'tat en synchronisation.


O. BOUSSAID

Page : 103

Les rgles d'UML Les rgles d'UML permettent de construire


des modles smantiquement cohrents.

Lors de la phase d'analyse et de conception, des modles construits peuvent tre partiels ou incomplets, parfois mme incohrents. Les rgles d'UML peuvent aider un dveloppeur les complter ou les corriger.

O. BOUSSAID

Page : 104

Les mcanismes gnraux d'UML

Les mcanismes gnraux d'UML


facilitent l'utilisation du langage.

Il existe 4 sortes de mcanismes gnraux :

q Les spcifications q Les dcorations q Les distinctions communes q Les mcanismes d'extensibilits

O. BOUSSAID

Page : 105

Les mcanismes gnraux d'UML

Les spcifications
Toute reprsentation graphique d'UML vhicule des spcifications syntaxiques et smantiques reprsentant une partie du systme.

Exemple : la classe ETUDIANT modlise un tudiant et en mme temps prcise les attributs et les oprations qui la composent (signatures des mthodes).
ETUDIANT Nom Capital UV Diplme VrifierNom( ) MajUV( ) ChangerDiplme( )

O. BOUSSAID

Page : 106

Les mcanismes gnraux d'UML

Les dcorations
Elles peuvent renforcer la visibilits des lments d'un modle. Exemple : la classe ETUDIANT indique son nom, ses
attributs et ses oprations. Elle montre aussi que les 2 premires oprations sont publiques alors que la dernire est prive.

ETUDIANT
+VrifierNom( ) +MajUV( ) #ChangerDiplme( )

O. BOUSSAID

Page : 107

Les mcanismes gnraux d'UML

Les distinctions communes


En UML, on distingue toujours un lment de son instance.

F La classe et son instance l'objet


Exemple : la classe ETUDIANT a deux objets Dupont et Durant.
ETUDIANT Nom Capital UV Diplme VrifierNom( ) MajUV( ) ChangerDiplme( ) Dupont:ETUDIANT Nom : Dupont Capital UV : capital 1 Diplme :matrise de Sciences Eco. VrifierNom MajUV ChangerDiplme Durant:ETUDIANT Nom : Durant Capital UV : capital 2 Diplme :licence de Socio . VrifierNom MajUV ChangerDiplme

F L'interface et son implmentation


O. BOUSSAID

Page : 108

Les mcanismes gnraux d'UML

Les mcanismes d'extensibilit


Ils permettent d'largir les possibilits du langage sur des problmes trs spcifiques.
Les lments permettant ces ouvertures sont :

F Les strotypes : pour largir le vocabulaire d'UML;


dcrivent de nouvelles briques de base, partir de celles existantes, mais appliques un pb donn.

F Les tiquettes : pour largir les proprits d'une brique


de base d'UML, permettant de renforcer les spcifications.

F Les contraintes : pour largir la smantique d'une


brique de base d'UML, permettant d'introduire de nuvelles rgles ou de modifier celles dj existantes.

O. BOUSSAID

Page : 109

Strotypes
C'est un concept qui permet des regroupements de classes, d'associations, de mthodes, d'attributs, de packages Il permet de crer des familles d'lments associs un mme strotype. D'autre part, il permet de modifier la smantique des lments associs et cre par la mme occasion des concepts propres une application. L'interface est un exemple de strotype. Les strotypes permettent d'apposer une smantique particulire aux lments UML. On peut alors spcialiser le langage UML afin qu'il s'adapte mieux au domaine dans lequel le langage est utilis. On peut citer par exemple l'utilisation de strotype "<<Table>>" sur des classes dans les diagrammes de classe dans le cadre d'une modlisation de base de donnes.

O. BOUSSAID

Page : 110

Contraintes
Elles permettent d'apporter plus de prcisions un lment du modle. Exemple :

Notes

{Ordonne} * Obtenir *

Etudiant

EtreInscritEn

Etudiant *

{Sous ensemble} EtreMajorDe

Diplme *

O. BOUSSAID

Page : 111

Classification des diagrammes (Sourrouille)


Besoins Diagrammes de Diagrammes de cas d'utilisation classes / objets Structure Interactions Diagrammes de squences

Systme
Diagrammes de composants Diagrammes de collaborations

Implantation

Diagrammes d'tats/transition Diagrammes d'activits

Diagrammes de dploiement

Dynamique

Page : 112