Modélisation Des SI: Diagramme de Classes
Modélisation Des SI: Diagramme de Classes
Modélisation Des SI: Diagramme de Classes
DIAGRAMME DE CLASSES
Modéliser :
structurer ces informations
regrouper en classes, relations entre classes
respecter la non-redondance
Remarques :
une classe est un ensemble d’objets de même nature
un objet est une instance d’une classe
Classes, attributs et opérations
5
Pour une classe :
on peut ne pas représenter ses propriétés ou ses méthodes sur un
diagramme (Différents niveaux de détail possibles),
Spécifier les niveaux de protection des membres d'une classe
ne veut pas dire qu'on ne représente que les membres publics.
Nom de Classe
Opération ()
….
Remarques :
Opération = méthode = fonction-membre, …
Attribut = propriété = donnée-membre, …
Classes, attributs et opérations
7
La syntaxe de description des attributs est :
La mutabilité :
Gelé : attribut non modifiable (const de C++)
RECTANGLE RECTANGLE
OU
Longueur Longueur
Largeur Surface = Largeur
/Surface
longueur * largeur
Opérations Surface ()
Remarque générale :
Une opération : un service qu’une instance de la classe peut réaliser.
Une méthode est l’implémentation d’une opération.
Dans le cadre de ce cours : opération = méthode
Classes, attributs et opérations
10
Exemple :
}
TELEVISION
CANAL
Visibilité : +, -, #
Arguments :
Direction NomArgument : TypeArgument
[= ValeurDefaut]
Association
Diagramme de classes C1 C2
Lien
:C1 :C2 :C1 :C2
Exemples :
Associations
17
Arités des associations :
Exemple : on désire représenter le fait suivant : un Professeur enseigne
dans une salle des étudiants.
PROFESSEUR
Enseigner
SALLE ETUDIANT
Associations
18
Arités des associations :
représentent des liens statiques/conceptuels entre objets et à longue durée
de vie (n’est pas un lien instantané ni passager).
Relient une ou plusieurs classes : arité 1 ou plus
Par rapport au modèle Entité / Association :
Entité 1 Entité 2
Card1 Card2
Diag. Entité / P11, Ass P21,
Association P12 P22
… …
Card2 Card1
Diag. De CEntité1 CEntité2
classes
Associations
19
Exemple général
Exemple concret
Associations
20
Exemple ternaire
1 1..1 (exactement 1)
* 0..* (0 ou plusieurs)
n n .. n (exactement n)
1..* 1 ou plusieurs (1 ou plus)
0..1 0 ou 1 (au plus un)
1..100 entre 1 et 100
Associations - Nommage
22
Les associations : Nommage
Une association peut être nommée
[ Nom Association ]
Classe1 Classe2
[ Nom Association ]
Classe1 Classe2
[Rôle1] [Rôle2]
Rôle 1 : le rôle joué par Classe 1 dans l’association
Rôle 2 : le rôle joué par Classe 2 dans l’association
Professeur Etudiant
Enseigne Est Enseigné
Client Parents
HÔTEL PERSONNE PERSONNE
Directeur Enfants
Associations - Navigabilité
24
Association à navigabilité restreinte :
Qu’est-ce que la navigabilité d’une association entre C1 et C2 ?
Capacité d’une instance de C1 (resp. C2) à accéder aux instances de C2 (resp. C1)
Par défaut, une association est navigable dans les deux sens.
Spécification : on doit être en mesure de savoir le client qui a fait la commande et non toutes
les commandes d’un client
Conception :
Commandes Cl i ents
1..*
1
Implémentation : la classe commande doit avoir un champ faisant référence à la classe client
Associations – Propriétés et Contraintes
25
Les associations : Contraintes
Agrégation
classe agrégat, classes agrégée
entre les deux, il existe une relation de type « est composé de »
Agrégat Agrégée
Agrégation Composition
Est Un
SPECIALISATION
Multiple :
La spécialisation a plus qu’une généralisation
VEHICULE
Premier Deuxième
critère critère
Motorisation Milieu
{10/06} {chevauchement}
A VOILE A MOTEUR TERRSETRE MARIN
LES DEUX
Les interfaces
35
Schématiquement :
Une Classe
Une interface
Classes abstraites
36
Diagrammes de packages
37
modèle du domaine
conception du domaine
modèle du système
inclut toutes les classes,
y compris classes d’architecture et d’interfaces utilisateur
Résumé
40
notions :
classes : types de données manipulés
attributs :données caractérisant les instances
opérations : fonctions qui s’opèrent sur les instances
associations : relations entre classes
généralisation : hiérarchie de classes avec héritage