Title: Langage de mod
1Langage de modélisation objet unifié
2Plan
- Introduction
- Modéliser avec UML
- Diagrammes de cas dutilisation
- Diagrammes de classes
- Notion de paquetage
- Diagrammes dobjets
- Diagrammes de séquence
- Diagrammes de collaboration
- Diagrammes détats/transition
- Autres diagrammes
3Diagrammes de classe
4Vue 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
- Vues dynamiques du système
- diagrammes de séquence
- diagrammes de collaboration
- diagrammes d'états-transitions
- diagrammes d'activités
5Class 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 daccès des
membres d'une classe ne veut pas dire qu'on ne
représente que les membres publics
6Convention graphique dune classe
Nom_de_classe
Attributs
Nom_de_classe
Méthodes
7Syntaxe
- Attribut
- nom type val_initiale
- Méthode
- nom (arg type val_defaut, ) type_retour
- Niveaux daccès
- Public
- Protected
- Private -
8Exemples / niveaux dabstraction
voiture
Classe non documentée
9Exemples / niveaux dabstraction
voiture
immatriculation couleur marque puissance poids dat
e propriétaire
attributs
demarrer arreter conduire vendre
méthodes
voiture
Classe non documentée
Classe documentée
10Exemples / niveaux dabstraction
voiture
voiture
immatriculation couleur marque puissance poids dat
e propriétaire
immatriculation string couleur string
marque string puissance int poids int -
date Date - propriétaire string
attributs
types
demarrer arreter conduire vendre
demarrer() - contact() bool conduire(a
string marseille , b string) vendre(prix
float)
méthodes
voiture
prototype
Niveaux daccès
Classe non documentée
Classe documentée
Classe détaillée
11Sé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
construitsOn 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
12Association
- 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
13Association classique
Personne
Entreprise
travaille
14Association en forme verbale active
- Précise le sens de lecture
Personne
Hôtel
lt héberge
15Rôles
Personne
Entreprise
employé
employeur
Personne
Hôtel
client
personnel
16Cardinalités
- Nombre déléments participant à la relation
- x exactement "x" (entier naturel gt 0)
- exemples "1", "7"
- x..y de "x" à "y" (entiers naturels ou
variables avec y gt x) - exemples "0..1", "3..n", "1..31"
- plusieurs (équivalent à "0..n" et "0..")
- x.. "x" ou plus
- exemples "0..", "5.."
17Cardinalités
Homme
Femme
0..1
0..1
mariéA
Maison
Personne
1
parent
2
0..
enfant
18Relation 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
19Association à 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
20Association n-aire
- association reliant plus de deux classes
Travaux
Copropriété
Entreprise
21Classe dassociation
- classe réalisant la navigation entre les
instances d'autres classes
Salle
Salle
Professeur
Etudiant
Professeur
ltltassociation ternairegtgt Cours
Etudiant
jour heure duree
Cours
jour heure duree
22Association qualifiée
- Une association qualifiée met en relation deux
classes sur la base dun attribut spécifique
appelé clé
Banque
Personne
1..n
numCompte
23Contraintes 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
24Principales contraintes
- Contrainte ordonnée une relation dordre
décrit les objets - Contrainte sous-ensemble une collection est
incluse dans une autre collection - Contrainte ou-exclusif pour un objet donné,
une seule association est valide
25Exemples
Peintre
Tableau
1
1..n
peint
ordonnée
Armée
Personne
militaire
sous-ensemble
général
BTS
Personne
enseignant
ou-exclusif
étudiant
26Agré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
27Agrégation
- Une agrégation peut notamment (mais pas
nécessairement) exprimer - qu'une classe (un "élément") fait partie d'une
autre ("lensemble"), - 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
28Exemple
Pièce
Mur
29Composition
- Cas particulier dagré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é
30Exemple
Voiture
Carrosserie
Moteur
Piston
31Héritage convention graphique
Super_classe
Sous_classe
32Spécialisation
Oeuvre
Titre Auteur Reference
Livre
Film
Opera
NbPages
Duree
Orchestre
Roman
BD
33Spécialisation
Oeuvre
Titre Auteur Reference
Livre
Film
Opera
NbPages
Duree
Orchestre
Roman
BD
34Généralisation
Vehicule
marque modele VitesseMax
Voiture
Bateau
Avion
Plaque cylindree
tirantEau voiles
altitudeMax portee
35Notion de paquetage
36Packages
- 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
37Relation entre paquetage
- Dépendance
- Au moins un élément du paquetage source utilise
les services dau 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
38Convention graphique
P1
P2
P4
P3
P5
P6
39Exemple
Voitures
Voiture
Motorisation
Piston
Carbu
Porte
Boite
Moteur
Roue
Phare
40Diagrammes dobjets
41Object diagram
- Représentent un ensemble dobjets 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 dun système,
exactement comme les diagrammes de classes, mais
à partir de cas réel ou de prototypes - Est une instance dun diagramme de classes
- Les diagrammes de classes peuvent aussi contenir
des objets
42Voiture
Instance anonyme de la classe voiture
golfVoiture
Instance nommée de la classe voiture
golf
Instance nommée dune classe anonyme
golfVoiture
Couleur "bleu M " Puissance 7ch
Spécification des attributs
golfVehiculeVoitureBerline
Spécification du chemin complet
Voiture
Collection dinstance (tableau)
43Objets composites
Velo
Roue
2
Derailleur
1
Pedale
1
Pedalier
1
44Diagrammes dobjets
Personne
Maison
Ville
Voiture
45Diagrammes dobjets
Personne
Ordinateur
VideoProjecteur
professeur
eleve
Personne
46Diagrammes dobjets
Personne
Ordinateur
VideoProjecteur
Proprietaire ORT
professeur
eleve
Objet à état précis
Personne
47Diagrammes dobjets
Bus
Moteur
Destination