Beruflich Dokumente
Kultur Dokumente
ZAKRANI Abdelali
ENSAM – CASABLANCA
Année universitaire 2015-2016
Concept d’Objet
Un objet représente une entité du monde réel (ou du monde virtuel
pour les objets immatériels) qui se caractérise par un ensemble de
propriétés (attributs), des états significatifs et un comportement.
L’état d’un objet correspond aux valeurs de tous ses attributs à un
instant donné.
Les propriétés sont définies dans la classe d’appartenance de
l’objet.
Le comportement d’un objet est caractérisé par l’ensemble des
opérations qu’il peut exécuter en réaction aux messages provenant
des autres objets. Les opérations sont définies dans la classe
d’appartenance de l’objet.
1
03/11/2015
Encapsulation
L’encapsulation consiste à regrouper dans une même classe
de la description de la structure des attributs et de la description des
opérations.
2
03/11/2015
Concept de Classe
Une classe est l’abstraction d’un ensemble d’objets qui possèdent
une structure identique (liste des attributs) et un même
comportement (liste des opérations).
Un objet est une instance d’une et une seule classe. Une classe
abstraite est une classe qui n’a pas d’instance. Les concepts de
classe et d’objet sont interdépendants.
3
03/11/2015
Classes
Une classe se représente à l’aide d’un rectangle comportant
plusieurs compartiments
Description complète
4
03/11/2015
Classes
Attribut:
Attribut est une propriété élémentaire d’une classe. Pour chaque
objet d’une classe, l’attribut prend une valeur.
Nom de la classe
Formalisme d’attributs de classe
Nom et caractéristique attribut1
Nom et caractéristique attribut2
…
Voiture Etudiant
Num_immatriculation: texte CNE: entier
Classes
Caractéristiques d’attribut:
Visibilité/Nom attribut : type [= valeur initiale {propriétés}]
– Visibilité : {+ (public), # (protégé), - (privé), ~ (package)}
– Nom d’attribut : nom unique dans sa classe.
– Type : type primitif (entier, chaîne de caractères…)– Valeur
initiale : valeur facultative donnée à l’initialisation d’un objet de la
classe.
– {propriétés} : valeurs marquées facultatives (ex. : «interdit» pour
mise à jour interdite).
Attribut dérivé: est un attribut dont la valeur peut être calculer à
partir d’autres attributs de la classe. Il se note «/nom de l’attribut
dérivé ».
5
03/11/2015
Classes
Opération
Une opération est une fonction applicable aux objets d’une classe.
Une opération permet de décrire le comportement d’un objet. Une
méthode est l’implémentation d’une opération.
Nom de la classe
Formalisme d’opérations de classe
Nom et caractéristique attribut1
…
Nom et caractéristique opération1
Nom et caractéristique opération2
…
Voiture Employé
marque: texte nom: texte
rouler(vitesse) consulter()
Exemples d’opérations de classe
ZAKRANI / MOO par UML / 14-15 11
Classes
Caractéristique d’opération
Visibilité Nom d’opération (paramètres) [:[type résultat]
{propriétés}]
– Visibilité : {+ (public), # (protégé), - (privé), ~ (package)}
– Nom d’opération : utiliser un verbe représentant l’action à
réaliser.
– Paramètres : liste de paramètres (chaque paramètre peut être
décrit, en plus de son nom, par son type et sa valeur par défaut).
L’absence de paramètre est indiquée par ( ).
– Type résultat : type de (s) valeur(s) retourné(s) dépendant des
types disponibles dans le langage d’implémentation. Par défaut,
une opération ne retourne pas de valeur, ceci est indiqué par
exemple par le mot réservé « void » dans le langage C++ ou Java.
– {propriétés} : valeurs facultatives applicables (ex. : {query} pour
un comportement sans influence sur l’état du système).
6
03/11/2015
Classes
Exemple de représentation d’une classe
Voiture
Nom de la classe
marque: texte
puissance: entier
Attributs
cylindrée: entier
année: entier
/ancienneté: entier
démarrer() Attribut dérivé
Opérations rouler() Ancienneté=
freiner() diff(année courante, année)
arrêter()
Classes
Formalisme de représentation d’un objet
Nom de l’objet (1)
Nom de l’objet
souligné Valeur attribut 1
Valeur attribut 2 Valeurs des attributs
Valeur attribut N
7
03/11/2015
Classes
Visibilité des attributs et opérations
Les droits associés à chaque niveau de confidentialité sont :
Public (+) – Attribut ou opération visible par tous.
Protégé (#) – Attribut ou opération visible seulement à l’intérieur
de la classe et pour toutes les sous-classes de la classe.
Privé (-) – Attribut ou opération seulement visible à l’intérieur de
la classe.
Paquetage (~) – Attribut ou opération ou classe seulement
visible à l’intérieur du paquetage où se trouve la classe.
Classes
Visibilité des attributs et opérations
8
03/11/2015
Classes
Exemples de représentation des symboles de
visibilité
Voiture
- marque: texte
- puissance: entier
- cylindrée: entier
- année: entier
+ démarrer()
- rouler()
+ freiner()
# arrêter()
Lien et association
Un lien est une connexion physique ou conceptuelle
entre instances de classes donc entre objets
Une association décrit un groupe de liens ayant une
même structure et une même sémantique
Un lien est une instance d’une association. Chaque
association peut être identifiée par son nom.
Une association entre classes représente les liens
qui existent entre les instances de ces classes
9
03/11/2015
Lien et association
Formalisme
Exemple
Personne Voiture
Posséder
Rôle de l’association
Exemples
Personne Entreprise
Travailler dans
nom nom entreprise
prénom employé employeur adresse
Etudiant Université
Etudier à
CNE nom université
nom adresse
10
03/11/2015
Multiplicité
La multiplicité indique un domaine de valeurs pour préciser le
nombre d’instance d’une classe vis-à-vis d’une autre classe pour
une association donnée
A * 0..1 B
A 2..10 1..* B
A 1,3 2..4 B
Multiplicité
Exemples de multiplicité
Voiture 1 4 Roue
11
03/11/2015
Contraintes
Les contraintes sont des propriétés proposées dans
l’UML pour préciser la sémantique d’une association
Exemples de contraintes: subset, xor
Classe-association
Classe d’association = Elément ayant à la fois les
propriétés d’une classe et d’une association
12
03/11/2015
Association n-aire
Association n-aire = Une association parmi 3 classes
ou plus. Chaque instance de l’association est un n-tuple
de valeurs des classes respectives
Agrégation
Une agrégation est une forme particulière d'association.
Elle représente la relation d'inclusion d'un élément dans
un ensemble.
On représente l'agrégation par l'ajout d'un losange vide
du côté de l'agrégat.
Une agrégation dénote une relation d'un ensemble à
ses parties. L'ensemble est l'agrégat et la partie l'agrégé
Classe A Classe B
Agrégat Agrégé
ZAKRANI / MOO par UML / 14-15 28
13
03/11/2015
Agrégation
Exemples d’agrégation Document
Pièce Equipe
1..*
1..*
1..* 1 Paragraphe
1..* 1..*
1..*
Mur Joueur 1..*
Phrase
Composition
Une composition est une agrégation plus forte impliquant
que :
un élément ne peut appartenir qu’à un seul agrégat
composite (agrégation non partagée) ;
la destruction de l’agrégat composite entraîne la
destruction de tous ses éléments (le composite est
responsable du cycle de vie des parties).
Classe A Classe B
Agrégat Agrégé
ZAKRANI / MOO par UML / 14-15 30
14
03/11/2015
Composition
Exemples de composition
Répertoire Commande
1 1
1 1..*
0..*
En-tête Ligne
Fichier commandes
Généralisation et héritage
La généralisation décrit une relation entre une classe
générale (classe de base ou classe parent) et une classe
spécialisée (sous-classe). La classe spécialisée est
intégralement cohérente avec la classe de base
Classe A Spécialisation Généralisation
(héritage)
Sous-classe A1 Sous-classe A2
15
03/11/2015
Généralisation et héritage
L’héritage est la propriété qui fait bénéficier à une sous
classe de la structure et du comportement de sa
surclasse. Employé
nom
Exemple de prénom
date naissance
relation de
calcuerAge()
spécialisation
Généralisation et héritage
Héritage multiple
Amphibie
16
03/11/2015
Généralisation et héritage
Classe abstraite
Une classe abstraite est une classe qui n’a pas
d’instance directe mais dont les classes descendantes ont
des instances. Dans une relation d’héritage, la super-classe
est par définition une classe abstraite
17