Académique Documents
Professionnel Documents
Culture Documents
UML
1
Plan
Introduction
Modéliser avec UML
Diagrammes de cas d’utilisation
Diagrammes de classes
Notion de paquetage
Diagrammes d’objets
Diagrammes de séquence
Diagrammes de collaboration
Diagrammes d’états/transition
Autres diagrammes
UML
2
Diagrammes de classe
UML
3
Vue statique
Vues statiques du système :
diagrammes de cas d'utilisation (Fonctionnel)
diagrammes de classes
diagrammes d'objets
diagrammes de composants
diagrammes de déploiement
UML
4
Class diagrams
Expriment la structure statique du système en terme de
classes et de relations entre ces classes
Une classe est un type abstrait caractérisé par des
propriétés (attributs et méthodes) communes à un
ensemble d'objets et permettant de créer des objets ayant
ces propriétés
Ne pas représenter les attributs ou les méthodes d'une
classe sur un diagramme, n'indique pas que cette classe
n'en contient pas.
Il s'agit juste d'un filtre visuel, destiné à donner un certain
niveau d'abstraction à son modèle
De même, ne pas spécifier les niveaux d’accès des
membres d'une classe ne veut pas dire qu'on ne représente
que les membres publics
UML
5
Convention graphique d’une classe
Nom_de_classe
Attributs
Nom_de_classe
Méthodes
UML
6
Syntaxe
Attribut :
nom : type = val_initiale
Méthode :
nom (arg : type = val_defaut, …) : type_retour
Niveaux d’accès :
Public +
Protected #
Private -
UML
7
Exemples / niveaux d’abstraction
voiture
UML
8
Exemples / niveaux d’abstraction
voiture
immatriculation
couleur
marque
puissance attributs
poids
date
propriétaire
demarrer
arreter
conduire méthodes
voiture
vendre
UML
9
Exemples / niveaux d’abstraction
voiture voiture
immatriculation + immatriculation : string
couleur + couleur : string
marque + marque : string
puissance # puissance : int attributs
poids # poids : int types
date - date : Date
propriétaire - propriétaire : string
demarrer + demarrer()
arreter - contact() : bool
voiture conduire + conduire(a : string = « marseille », b : string) méthodes
vendre + vendre(prix : float) prototype
Niveaux d’accès
Classe non documentée Classe documentée Classe détaillée
UML
10
Sémantique
Un diagramme de classes est une collection d'éléments de
modélisation statiques (classes, paquetages...), qui montre la structure
d'un modèle
Un diagramme de classes fait abstraction des aspects dynamiques et
temporels
Pour un modèle complexe, plusieurs diagrammes de classes
complémentaires doivent être construits
On peut par exemple se focaliser sur :
les classes qui participent à un cas d'utilisation (cf. collaboration)
les classes associées dans la réalisation d'un scénario précis
les classes qui composent un paquetage
la structure hiérarchique d'un ensemble de classes
UML
11
Association
Une association exprime une connexion sémantique
entre deux classes
L'association est instanciable dans un diagramme
d'objets ou de collaboration, sous forme de liens entre
objets issus de classes associées
UML
12
Association classique
Personne Entreprise
travaille
UML
13
Association en forme verbale
active
Précise le sens de lecture
Personne Hôtel
< héberge
UML
14
Rôles
Personne Entreprise
employé employeur
Personne Hôtel
client
personnel
UML
15
Cardinalités
Nombre d’éléments participant à la relation
x : exactement "x" (entier naturel > 0)
exemples : "1", "7"
x..y : de "x" à "y" (entiers naturels ou variables
avec y > x)
exemples : "0..1", "3..n", "1..31"
* : plusieurs (équivalent à "0..n" et "0..*")
x..* : "x" ou plus
exemples : "0..*", "5..*"
UML
16
Cardinalités
Homme Femme
0..1 mariéA 0..1
Personne Maison
* 1
parent
2
enfant 0..*
UML
17
Relation de dépendance
relation d'utilisation unidirectionnelle
une modification de l'élément dont on dépend, peut
nécessiter une mise à jour de l'élément dépendant
Fenetre EvenementSouris
UML
18
Association à navigabilité
restreinte
Par défaut, une association est navigable dans les
deux sens
La réduction de la portée de l'association peut être
exprimée dans un modèle pour indiquer que les
instances d'une classe ne "connaissent" pas les
instances d'une autre
Electeur Candidat
* 0..1
vote
UML
19
Association n-aire
association reliant plus de deux classes
Travaux Copropriété
Entreprise
UML
20
Classe d’association
classe réalisant la navigation entre les instances
d'autres classes
Salle Salle
<<association ternaire>>
Professeur Etudiant Professeur Etudiant
Cours
jour
heure
Cours duree
jour
heure
duree
UML
21
Association qualifiée
Une association qualifiée met en relation deux classes
sur la base d’un attribut spécifique appelé « clé »
* 1..n
Banque numCompte Personne
UML
22
Contraintes sur les associations
Les contraintes sont des expressions qui précisent le
rôle ou la portée d'un élément de modélisation (elles
permettent d'étendre ou préciser sa sémantique)
Sur une association, elles peuvent restreindre le
nombre d'instances visées ("expressions de
navigation")
Les contraintes peuvent s'exprimer en langage
naturel. Graphiquement, il s'agit d'un texte encadré
d'accolades
UML
23
Principales contraintes
Contrainte {ordonnée} : une relation d’ordre
décrit les objets
UML
24
Exemples
Peintre Tableau
1 peint 1..n
{ordonnée}
Personne Armée
militaire
{sous-ensemble}
général
Personne BTS
enseignant
{ou-exclusif}
étudiant
25
Agrégation
L'agrégation est une association non
symétrique, qui exprime un couplage fort et une
relation de subordination
Représente une relation de type "ensemble /
élément"
A un même moment, une instance d'élément
agrégé peut être liée à plusieurs instances d'autres
classes : l'élément agrégé peut être partagé
Une instance « ensemble » peut exister sans
élément (et inversement) : Cycles de vies
indépendants
UML
26
Agrégation
Une agrégation peut notamment (mais pas
nécessairement) exprimer :
qu'une classe (un "élément") fait partie d'une autre
("l‘ensemble"),
qu'un changement d'état d'une classe, entraîne un
changement d'état d'une autre,
qu'une action sur une classe, entraîne une action sur
une autre
UML
27
Exemple
Pièce Mur
UML
28
Composition
Cas particulier d’agrégation : contenance
physique
Représente une relation de type "composé /
composant"
Les cycles de vies des composants et du composé
sont liés : si le composé est détruit (ou copié), ses
composants le sont aussi
A un même moment, une instance de composant
ne peut être liée qu'à un seul composé
UML
29
Exemple
Voiture
UML
30
Héritage : convention graphique
Super_classe
Sous_classe
UML
31
Spécialisation
Oeuvre
Titre
Auteur
Reference
Roman BD
UML
32
Spécialisation
Oeuvre
Titre
Auteur
Reference
Roman BD
UML
33
Généralisation
Vehicule
marque
modele
VitesseMax
UML
34
Notion de paquetage
UML
35
Packages
Les paquetages sont des éléments d'organisation des
modèles
Ils regroupent des éléments de modélisation, selon des
critères purement logiques
Ils permettent d'encapsuler des éléments de modélisation
Ils permettent de structurer un système en catégories (vue
logique) et sous-systèmes (vue des composants)
Ils servent de "briques" de base dans la construction d'une
architecture
Ils représentent le bon niveau de granularité pour la
réutilisation
Les paquetages sont aussi des espaces de noms
UML
36
Relation entre paquetage
Dépendance :
Au moins un élément du paquetage source utilise les
services d’au moins un des éléments du paquetage
destination
Héritage :
Au moins un élément du paquetage source spécialise
(est dérivée d’) au moins un des éléments du paquetage
destination
UML
37
Convention graphique
P1 P2
P4
P3
P5 P6
UML
38
Exemple
Voitures
Voiture Motorisation
Piston Carbu
Porte Boite Moteur
Roue Phare
UML
39
Diagrammes d’objets
UML
40
Object diagram
Représentent un ensemble d’objets et leurs liens
Sont des vues statiques des instances des
éléments qui apparaissent dans les diagrammes
de classes
Présentent la vue de conception d’un système,
exactement comme les diagrammes de classes,
mais à partir de cas réel ou de prototypes
Est une instance d’un diagramme de classes
Les diagrammes de classes peuvent aussi contenir
des objets
UML
41
:Voiture Instance anonyme de la classe voiture
golf:Voiture
Couleur = "bleu M " Spécification des attributs
Puissance = 7ch
:Voiture
Collection d’instance (tableau)
UML
42
Objets composites
:Velo
:Roue 2 :Derailleur 1
:Pedalier 1 :Pedale 1
UML
43
Diagrammes d’objets
:Voiture
UML
44
Diagrammes d’objets
:Personne :Ordinateur :VideoProjecteur
professeur
eleve
:Personne
UML
45
Diagrammes d’objets
:Personne :Ordinateur :VideoProjecteur
professeur Proprietaire=« ORT »
eleve
Objet à état précis
:Personne
UML
46
Diagrammes d’objets
:Bus :Moteur
:Destination
UML
47
Faites le TD 2
Fin
49