Vous êtes sur la page 1sur 34

Le langage UML

Lydie du Bousquet
Lydie.du-bousquet@imag.fr
En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda

Des reprsentations pour discuter,


organiser, construire, documenter

Des modles en informatique




Comme point de dpart






Pour abstraire, pour comprendre


Comme support la discussion
Pour organiser, planifier

Pour concevoir, dtailler

Pour finir




Pour tester
Pour documenter
Pour maintenir

UML = Unified Modeling Language






Un langage, une notation


Pour lanalyse et la conception orientes objets
Unifie



Pour couvrir le maximum de domaines


Pour couvrir le maximum de notions

But: que les diffrents analystes aient





Un langage de discussion commun


des outils communs

Avant UML


Des terminologies diffrentes







De nombreux autres langages (notations)




Classes, objets, types


Relation, connexion dinstance, utilise, association
Hritage, gnralisation, sous-type, spcialisation
Agrgation, composition, contient, tout/partie
OMT, Merise, Booch, +50 mthodes

Des outils non compatibles




Rational Rose, Objecteering, TogetherJ, ArgoUML,

UML = standard


Standard international



Utilis de facto dans lindustrie







Pour contenter le plus grand nombre


Assez large (beaucoup de notions)
De plus en plus

Associs plusieurs mthodes


Plusieurs outils


Vers une plus grande compatibilit

UML : un langage, des vues




Besoins diffrents



aspects statiques ou dynamiques


analyse, spcification, conception,

Notions de vues


Pour sparer les proccupations

UML: un langage, des vues

Les briques de base




lments constituants des modles




Relations


Classes, interfaces, composants, cas


dutilisations
Associations, gnralisations, dpendances,

Diagrammes


De classe, de cas dutilisation, de squence,

Rgles de mises en forme





Les briques sassemblent selon des rgles


Rgles smantiques pour



Les noms : manire de nommer les lments, diagrammes


Le contexte : environnement qui donne une signification prcise
un nom
La visibilit : faon dont les noms peuvent tres vus et utiliss
par dautres
Lintgrit : manire dont les objets tablissent des relations
correctes et cohrentes
Lexcution : consquences de lexcution dun modle
dynamique

Certains modles peuvent tre




Partiels
des lments sont cachs
Incomplets
des lments manquent
Incohrents
lintgrit nest pas garantie

Exemple de rgles


Compte
numro
solde
dcouvertMax
ConsulterSolde
Crditer
Dbiter

Si une classe est concrte, toutes les oprations


doivent avoir un code associ
Une classe est dessine par un rectangle compos de
3 compartiments spars par des lignes horizontales
Les attributs et oprations peuvent ne pas apparatre
dans une prsentation de classe
Le nom dune classe doit commencer par une
majuscule

Notion de mta-modle
M3

source
Classe

dest

Mta-Mta-Modle

Association

est un
M2

Classe

Attribut

Mta-Modle

est un
M1
Modle

Compte
Numro : entier

est un
M0

Numro = 1234

Les 13 diagrammes dUML 2.0
















de cas dutilisation
de classes
dobjets
de squences
de collaborations
dtats
dactivits
de composants
de dploiement
de modules (package diagram)
de structures composites
global dinteraction
de temps (timing diagram)

Capturer la structure avec


un diagramme de classes
un diagramme dobjets

Un diagramme de Classe


Montre les classes et leurs relations








Attributs et oprations des classes


Hritage, agrgation, association

Fait abstraction des aspects dynamiques et


temporels
Peut tre instanci en un diagramme dobjets
Est utilis


Pour lanalyse et la conception globale

Association entre classes






Exprime une connexion smantique entre classes


Dfinit un ensemble de lien
Pour le diagrammes de classe ou dobjets
Personne

Laurent : Personne

travaille

Entreprise

travaille
ABCcomp : Entreprise

Julien : Personne

travaille

Documentation dune
association


Sens de lecture principal dune association


Htel

Hberge >

Personne

Rles pour spcifier la fonction dune classe


pour une association
Htel

client

Personne
directeur

Documentation dune
association


Cardinalit : prcise le nombre


dinstances
Maison
Entreprise

habite

Personne
*

0..1
< travaille

Une personne travaille pour au plus une entreprise


Plusieurs personnes travaillent pour une entreprise donne

Documentation dune
association


Cardinalit : prcise le nombre


dinstances






n : exactement n (entier naturel) (3 ou


12 )
n .. m : de n m : 0..1, 3..n, 1..31
* : quivalent 0..n et 0..*
n .. * : n ou plus

Dpendance


Pour exprimer une relation dutilisation


unidirectionnelle
Une modification de llment dont on dpend peut
ncessiter une mise jour de llment dpendant
FentreGraphique

EvnementSouris

Association navigabilit
restreinte


Pour exprimer quune instance dune classe


ne connat pas les instances de lautre
Par dfaut, une association est navigable
dans les 2 sens
Electeur

vote
*

0..1

Candidat

Association n-aire
ne pas utiliser



Pour relier plusieurs classes


Difficile comprendre
Professeur
1

Salle

1..n
tudiant

Utiliser une classe pour remplacer le symbole dassociation

Classe dassociation


Pour raliser la navigation entre les instances


dautres classes
Professeur

tudiant

Salle
Cours
jour
heurDbut
dure

Classe dassociation


Pour raliser la navigation entre les instances


dautres classes
Professeur

Salle

Cours
jour
heurDbut
dure

tudiant

Classe dassociation (2)


rcepteur

Facteur

Personne

Courrier

Lettre

Colis

Qualification


Pour slectionner un sous-ensemble


dobjet (instances)

Banque

numCompte

0..1

Client

Hritage



Pour rutiliser et grer la complexit


spcialisation
Classification des objets
Oeuvre
titre
auteur

Livre

Roman

Opra

BD

Film

gnralisation

Agrgation





Association non symtrique


Relation de subordination
Ensemble / lment
Ensemble et lment peuvent vivre lun sans lautre
Email
*

1..n
Destinataire

*
0..1
Titre

1
0..1
texte

*
attach
*
fichier

Composition



Agrgation forte
Les composants et lagrgat sont lis :
si lagrgat est dtruit, les composants aussi
Livre
1

1..n
Page

1
1
Couverture

Les pages sont physisquement contenues dans le livre

Composition et agrgation



Vues subjectives
A utiliser pour ajouter une smantique
aux modles, lorsque cest pertinent

Association drive






Association redondantes
Que lon peut dduire dune autre/dautres
association(s)
Pour indiquer les chemins de navigation calculs
Pour la comprhension de la navigation
Entreprise

*
Sous-traitant

client
*

client *

SSII

0..1

0..1

employeur

travaille
*
/travaille
Association drive

Prestataire

Contrainte sur une association




Expression pour prciser le rle ou la porte


dun lment de modlisation
Peut-tre exprim en langage naturel ou en
OCL

Compositeur

1..n

crire

1..n
{ordonn}

Universit
Oeuvre

0..1
1..n
tudiant

*
---{ou}---

Personne

1..n
enseignant

Exercice

Vous aimerez peut-être aussi