8/18/2019 diagramme de classe.pptx
1/130
M.E.D.A.L.
Module d’Enseignement à Distancepour l’Architecture Logicielle
Alain VAILLYDiapositive n° 1 Université de NANTES
MIAGE 3ème année
Diagramme de classes
8/18/2019 diagramme de classe.pptx
2/130
Alain VAILLYDiapositive n° 2 Université de NANTES
L’usage de ce document, sous quelque forme que ce soit (électronique,papier…), à titre personnel ou devant des étudiants, est autorisé et libre de
droits, à la condition expresse qu’il soit conservé dans l’état (et notammentqu’il comporte la page de garde et cet avertissement).Tout autre usage, notamment commercial, toute diffusion via un serveur
informatique, une liste de diffusion… est soumis à l’accord PRÉALABLEde son auteur.
Ce document constitue un TOUT. Toute coupe, toute modification nonautorisée par son auteur sera assimilée à une atteinte aux droits de l’auteuret poursuivie comme telle devant les tribunaux.
AVERTISSEMENT
8/18/2019 diagramme de classe.pptx
3/130
8/18/2019 diagramme de classe.pptx
4/130
Alain VAILLYDiapositive n° 4 Université de NANTES
M.E.D.A.L.
Cours magistral
- Processus
- Conclusion
- Outils
1) Introduction
2) Approche pragmatique des classes
3) Diagramme de classes
4) Utilisation du diagramme de classes
5) Conclusion
PLAN
- Analyse des besoins
- Analyse
- Conception
- Introduction
8/18/2019 diagramme de classe.pptx
5/130
Alain VAILLYDiapositive n° 5
1) Introduction
Université de NANTES
M.E.D.A.L.
L’activité d’analyse construit la structure conceptuelle dusystème en terme de classes. La fin de l’activité précédente,celle d’analyse des besoins, se termine fréquemment par un
modèle du domaine ( Domain Model). Ce dernier est bâti à partir de classes.
Nous commençons donc ce chapitre par l’étude de ce type dediagramme ; après avoir regardé comment l’on passe d’unschéma E-A-P à un ensemble de classes, nous passons en
revue les diff érentes notions utilisables et terminons par unediscussion autour de l’usage que l’on peut (et que l’on doit)faire de ce type de schémas.
Objets mé tiers
8/18/2019 diagramme de classe.pptx
6/130
Alain VAILLYDiapositive n° 6
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Une classe est définie par un ensemble de caractéristiques(attributs et opérations) optionnellement typés.
Les caractéristiques de la classe sont partagées par toutes lesinstances de la classe.
Nom de la
classe
Attributs de la
classeOpé rations de la
classe
Il y en a d’autres.
8/18/2019 diagramme de classe.pptx
7/130
Alain VAILLYDiapositive n° 7
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Le passage d’un schéma E-A-P (entités-associations-propriétés) de type Merise se fait, pour l’essentiel,
simplement mais au prix de quelques « difficultés » :
- Il n’y a pas d’identifiant dans un diagramme de classes ;- Les cardinalités sont positionnées à l’envers par rapport au
schéma d’origine ;- Un schéma Merise ne contient que des informations ; la
partie opérations du diagramme de classes est donc nonconcernée par cette traduction.
8/18/2019 diagramme de classe.pptx
8/130
Alain VAILLYDiapositive n° 8
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Le passage se fait sans perte d’information…sauf celle relative
au fait que le numéro sert d’identifiant.
Ent_1Personne
Num ro
Nom
Pr nom usuel
Adresse
Code postal
Ville
T l phone
Date naissance
Lieu naissance
On peut y
remé dier.
8/18/2019 diagramme de classe.pptx
9/130
Alain VAILLYDiapositive n° 9
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Un diagramme de classes est un réseau de classes, dans lequelles nœuds correspondent aux classes et les arcs aux relations
existant entre ces classes.
Il y a (principalement) trois types de relations : association,spécialisation et dépendance.
- L’association est une abstraction d’un ensemble de liens
entre objets ;-
La dépendance définit une causalité générale entre classes ;- La spécialisation correspond à l’héritage.
Mais encore ?
8/18/2019 diagramme de classe.pptx
10/130
Alain VAILLYDiapositive n° 10
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Ces relations sont
modélisées de la façonsuivante (dans l’ordre
d’apparition) :
- association
« simple »- association orientée- agrégation-
composition- spécialisation- dépendance- réalisation
8/18/2019 diagramme de classe.pptx
11/130
Alain VAILLYDiapositive n° 11
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Lors de la traduction, les associations perdent… du « poids ».
0,nPersonne
Num ro_INSEE
Nom
Pr nom
0,nVoiture
Immatriculation
Marque
Conduit
8/18/2019 diagramme de classe.pptx
12/130
Alain VAILLYDiapositive n° 12
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
sauf dans le cas d’associations n-aires (avec n > 2) :
Ceci a é t é ajout é « à la main », car non disponibledans la palette graphique de l’outil utilisé .
8/18/2019 diagramme de classe.pptx
13/130
Alain VAILLYDiapositive n° 13
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
ou des associations porteuses d’information(s) :
On a là ce que l’on appelleune classe-association.
0,nPersonne
Num ro_INSEE
Nom
Pr nom
0,nVoiture
Immatriculation
Marque
Conduit
Date
8/18/2019 diagramme de classe.pptx
14/130
Alain VAILLYDiapositive n° 14
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Les cardinalités sont inversées (comme dans toutes lesnotations d’origine anglo-saxone).
1,nPersonne
0,nVoitureConduit
8/18/2019 diagramme de classe.pptx
15/130
Alain VAILLYDiapositive n° 15
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
Le vocabulaire pour noter les cardinalités est (un peu) plusriche que celui employé dans Merise :
1
0..1
N
M..N
*
0..*1..*
un et un seul
zéro ou un (de zéro à un)N (entier naturel)
de M à N (entiers naturels)de zéro à plusieursde zéro à plusieursde un à plusieurs
8/18/2019 diagramme de classe.pptx
16/130
Alain VAILLYDiapositive n° 16
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
L’inversion des cardinalités rend leur interprétationparticulièrement difficile dans le cas des associations n-aires.
1
Cela concerne quelle classe ?
8/18/2019 diagramme de classe.pptx
17/130
Alain VAILLYDiapositive n° 17
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
De fait, UML privilégie les associations binaires, quitte à transformer les classes-associations en classes :
8/18/2019 diagramme de classe.pptx
18/130
0,n
0,n
Permis
Num ro permis
Liell
0,nT! pePermis
Type permis
0,n
apprenti
0,n
0,n
0,1
est " illeul
0,n
est parrain
0,n
tuteur
Personne
Num ro personneNom personne
Pr nom personne
0,n
Voiture
N places assises
Tracteur
Puissance
Char#e utile
1,1V hicule
Immatriculation
Marque
Est d$un
Conduit une
Est propri taire de
Poss de un
N points
Est responsale de
X XT
Alain VAILLYDiapositive n° 18
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
19/130
0..*
Alain VAILLYDiapositive n° 19
2) Approche pragmatique des classes
Université de NANTES
M.E.D.A.L.
0..1
8/18/2019 diagramme de classe.pptx
20/130
Alain VAILLYDiapositive n° 20
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Une classe se compose d’un ensemble d’attributs, d’un
ensemble d’opérations. Elle a un nom qui définit ce qu’elle estet non ce qu’elle fait. Il est possible de lui ajouter un ensemble
d’exceptions et un ensemble de responsabilités.
Un stéréotype(une sorte de
comportement
standard) peut lui
être accolé.
Nom classe
Attributs
Opérations
Exceptions
Responsabilités
8/18/2019 diagramme de classe.pptx
21/130
Alain VAILLYDiapositive n° 21
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Les attributs sont notés comme ceci :
Visibilité Nom_attribut [ ‘[‘ Multiplicité ’]’ ’:’ Type_attribut [ ‘=‘ Valeur_initiale ] { ‘{‘ Propriété ‘}’} ]
Visibilité ::= ‘+’ | ‘-’ | ‘#’Multiplicité ::= (Intervalle | Nombre) [ ‘,’ Multiplicité]Intervalle ::= Limite_inférieure ‘..’ Limite_supérieureNombre ::= Entier_positif | ‘*’ (illimité)
Entier_positif :entier naturel
Type_attribut :spécification du type de l’attributValeur_initiale :expression qui définit la valeur initialed’un objet nouvellement crééPropriété :une propriété et sa valeur
syntaxe officielle
8/18/2019 diagramme de classe.pptx
22/130
Alain VAILLYDiapositive n° 22
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Un attribut ou une opération sera plus ou moins visible selon lavaleur donnée à la propriété Visibilité. UML définit trois niveaux
de visibilité :
-un attribut public est visible de tous les « clients » de la classe;
- un attribut privé ne sera visible que de la classe ;- un attribut protégé ne sera visible que de la classe et de ses
sous-classes.
Certains outils ajoutent un quatrième niveau, celui du package.Un attribut ayant ce niveau de visibilité sera visible de toutes les
classes du package (paquetage en français).
+ (valeur par d é faut)
-
# c’est quoi un paquetage ?
8/18/2019 diagramme de classe.pptx
23/130
Alain VAILLYDiapositive n° 23
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Les paquetages permettent de structurer les modèles et lediagramme de classes en particulier. Chaque paquetage contient
un ou plusieurs diagrammes de classes. Il contient
éventuellement d’autres types de diagrammes.
Le découpage en paquetages correspond à une structurationverticale des applications.
8/18/2019 diagramme de classe.pptx
24/130
Alain VAILLYDiapositive n° 24
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Les participations entre paquetages sont modélisées grâce auxrelations de dépendance.
La gestion des contrats nécessite, implique, fait appel à lagestion des auteurs signant les contrats.
d é pend
8/18/2019 diagramme de classe.pptx
25/130
Alain VAILLYDiapositive n° 25
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
On peut associer à cette relation de dépendance entrepaquetages deux stéréotypes :
- « importe » : les classes (et les autres éléments) du paquetagede destination sont ajoutées à l’espace de nommage défini par
le paquetage source.
Les classes visibles du paquetage de droite sont accessibles aux
classes de gauche.
8/18/2019 diagramme de classe.pptx
26/130
Alain VAILLYDiapositive n° 26
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
On peut associer à cette relation de dépendance entrepaquetages deux stéréotypes :
- « accède » : les classes (et les autres éléments) du paquetagede destination peuvent être réf érencées par les classes du
paquetage source.
Les classes visibles du paquetage de droite sont réf érençablespar les classes de gauche. La dépendance « accède » n’est pas
transitive.
8/18/2019 diagramme de classe.pptx
27/130
Alain VAILLYDiapositive n° 27
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Par d é faut, tout est public.
privé e
syntaxe StarUML
8/18/2019 diagramme de classe.pptx
28/130
Alain VAILLYDiapositive n° 28
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Ces liaisons entre paquetages ne doivent pas être circulaires :
NB : ce schéma a pourtant été accepté par StarUML...
8/18/2019 diagramme de classe.pptx
29/130
Alain VAILLYDiapositive n° 29
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Il faut également éviter des dépendances circulaires transitivescomme celle ci-dessous :
8/18/2019 diagramme de classe.pptx
30/130
Alain VAILLYDiapositive n° 30
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Revenons à la propriété de visibilité. Il est possible de définir lavisibilité d’une classe ou d’une association, comme le montre
l’exemple ci-après :
Nous reviendrons sur cet exemple.
Par d é faut, tout est public.
privé e
syntaxe StarUML
M E D A L
8/18/2019 diagramme de classe.pptx
31/130
Alain VAILLYDiapositive n° 31
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Par défaut, la portée lexicale d’un attribut ou d’une opération estcelle de l’instance d’une classe.
Il est possible d’étendre
cette portée en définissantdes attributs et des
opérations de classe. Ceciautorise toutes les
instances de la classe à
partager ces attributs etopérations. Ces attributset opérations de classe
seront soulignés.
attribut de classe
M E D A L
8/18/2019 diagramme de classe.pptx
32/130
Alain VAILLYDiapositive n° 32
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Le type des attributs peut être une classe, un type primitif(Entier, Chaîne...) ou une expression complexe dont la syntaxe
n’est pas précisée par UML (Tableau[x] de Points...).
La propriété associée aux attributs exprime les possibilités dechangements liés à ceux-ci, par le biais des valeurs suivantes :
- gelé: attribut non modifiable ;- variable: propriété par défaut d’un attribut modifiable ;-
ajoutUniquement: seul l’ajout d’une valeur est possible (nesert que pour un attribut dont la multiplicité est supérieure à 1).
M E D A L
8/18/2019 diagramme de classe.pptx
33/130
Alain VAILLYDiapositive n° 33
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
{gelé}
syntaxe StarUML
M E D A L
8/18/2019 diagramme de classe.pptx
34/130
Alain VAILLYDiapositive n° 34
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Il est possible, en UML, de définir des propriétés calculables.Ce qui était complètement interdit dans un schéma entités-associations-propriétés (E-A-P) de type Merise est autorisé
dans un diagramme de classes UML.
Il est conseillé de donner, dans une note, la formule de calcul.
M E D A L
8/18/2019 diagramme de classe.pptx
35/130
Alain VAILLYDiapositive n° 35
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Ces propriétés calculables seront remplacées, lors de laconception, par des opérations. Il est possible (ie. conseillé) de
le faire tout de suite si l’on peut.
M E D A L
8/18/2019 diagramme de classe.pptx
36/130
Alain VAILLYDiapositive n° 36
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Les opérations sont notées comme ceci :
Visibilité Nom_opération ’(‘ [Arguments] ’)’ [ ’:’ Type_retourné { ‘{‘ Propriété ‘}’} ]
Visibilité ::= ‘+’ | ‘-’ | ‘#’Arguments ::= Direction Nom_argument ‘:’ Type_argument
[‘=‘ Valeur_par_défaut] [‘,’ Arguments]Direction ::= in | out | inout
Nom_argument :nom de l’argument
Type_argument: spécification du type de l’argumentValeur_par_défaut :valeur donnée par défaut à l’argumentType_retourné :précise le type retourné par l’opérationPropriété :une propriété et sa valeur
syntaxe officielle
M E D A L
8/18/2019 diagramme de classe.pptx
37/130
Alain VAILLYDiapositive n° 37
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Parmi les propriétés qu’il est possible d’affecter à uneopération, on peut citer :
abstraite : l’opération est abstraite, c’est-à-dire qu’elle n’a
pas de corps. Elle n’est pas implémentée dans la classe.
estFeuille : l’opération ne peut pas être redéfinie dans unesous-classe.
estRacine : l’opération est définie pour la première fois.
M E D A L
8/18/2019 diagramme de classe.pptx
38/130
Alain VAILLYDiapositive n° 38
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Il est possible de stéréotyper les opérations, ce qui permet deles ranger en fonction de leur effet :
M E D A L
8/18/2019 diagramme de classe.pptx
39/130
Alain VAILLYDiapositive n° 39
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
abstraites
syntaxe StarUML
M E D A L
8/18/2019 diagramme de classe.pptx
40/130
Alain VAILLYDiapositive n° 40
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Il est aussi possible de stéréotyper les attributs, ce qui peutpermettre de « régler » le problème, évoqué précédemment, dela perte de l’information relative à la qualité d’identifiant d’un
attribut.
Personne
N um ro
Nom
Pr nom
Adresse
Code postal
Ville
T l phone
Date naissance
Lieu naissance
M E D A L
8/18/2019 diagramme de classe.pptx
41/130
Alain VAILLYDiapositive n° 41
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Il y a plusieurs forme de classes :
- Une classe abstraite est une classe qui ne peut avoir
d’instances :
À quoi ça sert ?Nom en italique
M E D A L
8/18/2019 diagramme de classe.pptx
42/130
Alain VAILLYDiapositive n° 42
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Les classes abstraites sont souvent utilisées pour structurer ungraphe de spécialisation / généralisation.
Elles servent
à mieux factoriser
attributs et
opé rations.
relation de
spé cialisation
M E D A L
8/18/2019 diagramme de classe.pptx
43/130
Alain VAILLYDiapositive n° 43
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Une classe abstraite peut posséder des attributs, desopérations. Ses opérations ne sont pas forcément abstraites.Elles peuvent donc avoir une implémentation (un corps, une
méthode).
Une classe abstraite peut être impliquée dans des associationsavec d’autres classes, abstraites ou non. Elle peut être privée
ou protégée (comme elle peut être publique).
Une classe abstraite ne peut pas être une classe interface (carelle a des attributs et elle est peut être impliquée dans desassociations). Une classe abstraite ne peut pas être réalisée.
M E D A L
8/18/2019 diagramme de classe.pptx
44/130
Alain VAILLYDiapositive n° 44
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
- Une métaclasse est une classe dont les instances sont des
classes et non pas des objets.
Elle contiendra des attributs et des opérations quiconcernent la classe plutôt que les instances de la classe.
relation de
d é pendance
M E D A L
8/18/2019 diagramme de classe.pptx
45/130
Alain VAILLYDiapositive n° 45
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
- Un interface est un moyen, pour une classe, de rendre
visible les opérations qu’elle propose, sans pour autant enrévéler l’implantation. Un interface correspond donc au
comportement visible de la classe. Il n’y a pas d’attribut dans
un interface. Il ne peut pas non plus être impliqué dans desassociations.
syntaxe StarUML
(pas terrible !)
M E D A L
8/18/2019 diagramme de classe.pptx
46/130
Alain VAILLYDiapositive n° 46
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
La classe qui réalise l’interface propose une implémentation-une méthode- de tout ou partie des opérations de cet
interface.
La classe X réaliseune partie del’interface A et tout
l’interface B. Celui-
ci est égalementréalisé par la classe
Y (de façondiff érente de la
classe X).
relation de
r é alisation
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
47/130
Alain VAILLYDiapositive n° 47
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
Ce « service » proposé est décrit dans la partie opérationsde la classe « réalisatrice ». Il pourra être mis en oeuvre parune ou plusieurs réalisations et utilisé par une ou plusieurs
classes :
syntaxe StarUML
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
48/130
Alain VAILLYDiapositive n° 48
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
syntaxe StarUML
Les classes Banque et Assurance sont des interfaces (elles
offrent au « public » des opérations). Les classes Entrepriseet Client utilisent certaines de ces opérations. La classe
Banque propose en plus une implémentation de certaines
des opérations de Assurance.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
49/130
Alain VAILLYDiapositive n° 49
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
- Une classe active est une classe qui met en oeuvre un ou
plusieurs flots de contrôle. Elle a son propre comportement(celui-ci sera représenté par un ou plusieurs diagrammes
d’activités).
Une classe active est une classe à part entière.
active
syntaxe StarUML
passive
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
50/130
Alain VAILLYDiapositive n° 50
3) Diagramme de classes
Université de NANTES
. . . . .
En général, un compartiment est ajouté à la classe, pour mettreen évidence les événements émis ou signaux traités. On peut
aussi stéréotyper les opérations correspondantes.
é vé nementé mis par la
classe
syntaxe StarUML
signal reçuet trait é par
la classe
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
51/130
Alain VAILLYDiapositive n° 51
3) Diagramme de classes
Université de NANTES
Les classes peuvent être reliées entre elles par des associations.Celles-ci représentent une relation existant entre ces classes,relation pouvant s’exprimer par un verbe, à la voix active ou
passive.
Un client passe une commande ; celle-ci comprend des articles.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
52/130
Alain VAILLYDiapositive n° 52
3) Diagramme de classes
Université de NANTES
Ces associations sont binaires (recommandé par UML), enboucle ou bien présentant une arité supérieure.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
53/130
Alain VAILLYDiapositive n° 53
3) Diagramme de classes
Université de NANTES
Les associations peuvent être nommées :
Ces noms n’étant pas toujours très parlants, il est possible d’enrenforcer l’expressivité en ajoutant le sens de lecture des
noms.
sens de lecture
syntaxe StarUML
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
54/130
Alain VAILLYDiapositive n° 54
3) Diagramme de classes
Université de NANTES
Il est également possible de donner des noms aux rôles jouéspar les classes dans l’association.
Ces noms peuvent être « cumulés », une même associationayant un nom et deux rôles (pour une association binaire).
pas recommand é
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
55/130
Alain VAILLYDiapositive n° 55
3) Diagramme de classes
Université de NANTES
Outre le nom, un rôle peut être affublé de propriétés :
- ordonné : les objets de la classe qui sont impliqués dansl’association sont rangés d’une certaine façon. Le ou les
critères de tri ne sont pas précisés.
- modification : cette propriété peut prendre trois valeurs,variable (l’instance de la classe peut être modifiée), gelé (l’instance n’est pas modifiable) ou ajoutUniquement (il
est possible d’ajouter des instances mais pas d’en retirer).
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
56/130
Alain VAILLYDiapositive n° 56
3) Diagramme de classes
Université de NANTES
Ces associations peuvent être porteuses d’informations, celles-ci étant relatives (ie. ayant du sens par rapport) à l’ensemble
des classes participant à cette association.
Classeassociation
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
57/130
Alain VAILLYDiapositive n° 57
3) Diagramme de classes
Université de NANTES
Bien qu’ayant l’apparence (?) d’une association, il s’agit bien
d’une classe, avec la possibilité d’avoir des attributs, desopérations...
Une classe association n’est pas obligatoirement nommée. Ellepeut, par contre, avoir un nom. Seules les classes associations
qui ne participent pas à d’autres associations et qui ont desattributs sont appelées associations attribuées. Elles n’ont
alors pas de nom.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
58/130
Alain VAILLYDiapositive n° 58
3) Diagramme de classes
Université de NANTES
association
attribué e
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
59/130
Alain VAILLYDiapositive n° 59
3) Diagramme de classes
Université de NANTES
Une association n-aire ou une association binaire porteuse
d’informations (attributs) peuvent toujours être transforméesen un ensemble d’associations binaires.
faux
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
60/130
Alain VAILLYDiapositive n° 60
3) Diagramme de classes
Université de NANTES
Ce n’est pas la même chose !
Contrairement au schéma E-A-P,cette transformation est gratuite.Il n’y a pas d’attribut à ajouter.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
61/130
Alain VAILLYDiapositive n° 61
3) Diagramme de classes
Université de NANTES
Il est possible de « placer » plusieurs associations
diff érentes entre deux classes, à la condition expressequ’elles expriment des concepts structurels diff érents.
Il n’y aura pas multiples associations si ces lois
expriment simplement des messages transitant d’une
classe à l’autre.
faux
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
62/130
Alain VAILLYDiapositive n° 62
3) Diagramme de classes
Université de NANTES
Une association entre des classes correspond à unestructure statique. C’est également le support de la
collaboration entre les objets des classes.
Autrement dit, une association correspond à une sortede tuyau par lequel les messages vont passer.
Par une seule association, plusieurs messages passeront.
asso
message 1
message 1message 2
message 2
message 3 message 3asso
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
63/130
Alain VAILLYDiapositive n° 63
3) Diagramme de classes
Université de NANTES
Cette notion de tuyau est renforcée par celle denavigabilité. Les associations peuvent être vues comme
des canaux de navigation entre les objets. Ces canaux
permettent de se déplacer dans le modèle.
Par défaut, les associations sont navigables dans lesdeux directions. Il est possible de restreindre cette
navigabilité à une seule direction :
sens unique
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
64/130
Alain VAILLYDiapositive n° 64
3) Diagramme de classes
Université de NANTES
Toutes les instances de A ont un « accès » aux instances de B ;toutes les instances de B ont un « accès » aux instances de A.
Toutes les instances de A ont un « accès » aux instances de B ;aucune instance de B n’a « accès » aux instances de A.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
65/130
Alain VAILLYDiapositive n° 65
3) Diagramme de classes
Université de NANTES
La mise en place d’une association « à sens unique » aura desconséquences sur la définition des diff érents diagrammes (de
séquences, de collaborations). Les envois de messages nepourront pas « emprunter les sens interdits ».
La mise en place d’une association à sens unique aura aussi desconséquences sur l’implémentation, une classe pouvant ou pas
être vue d’une autre en fonction de la navigation.
B ne voit pas A.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
66/130
Alain VAILLYDiapositive n° 66
3) Diagramme de classes
Université de NANTES
Chaque association comporte, en ses extrémités, un couple (leplus souvent) de cardinalités. Celles-ci, nous n’avons dé jà dit,
sont inversées par rapport à des schémas de type E-A-P.
Chaque instance de A est liée à une et une seule instance de B ;chaque instance de B est liée à une ou plusieurs instances de A.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
67/130
Alain VAILLYDiapositive n° 67
3) Diagramme de classes
Université de NANTES
Comme dans le cas des attributs, il est possible de faire figurer
dans un diagramme de classes une association redondante.
L’association travaille_pour est
calculée, c’est-à-dire que c’est lesystème informatique qui, à partirdes liaisons participe et finance,
calcule les liaisons travaille_pour .
f n a n c e >
/ < t r a
v a i l l e
_ p o u
r
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
68/130
Alain VAILLYDiapositive n° 68
3) Diagramme de classes
Université de NANTES
Plusieurs contraintes ensemblistes peuvent être placées entredeux associations :
- {ou-exclusif } : une instance appartient à un ensemble ou à unautre mais pas aux deux ;
- {sous-ensemble} : une instance qui appartient à un ensembleappartient obligatoirement à l’autre ;
- ... il y en a d’autres.
Ces contraintes sont (souvent) exprimées en OCL (ObjectConstraint Language).
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
69/130
Alain VAILLYDiapositive n° 69
3) Diagramme de classes
Université de NANTES
{sous-ensemble}
{ou-exclusif}
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
70/130
Alain VAILLYDiapositive n° 70
3) Diagramme de classes
Université de NANTES
ATTENTION au placement de ces contraintes. Certaines
positions ont des significations diff érentes :
Cas A : exclusion entre les instances de B
participant à l’association « du haut » et cellesparticipant à l’association « du bas ».
{ou-exclusif}
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
71/130
Alain VAILLYDiapositive n° 71
3) Diagramme de classes
Université de NANTES
Cas B : exclusion entre les couples d’instances de
A et de B participant à l’association « du haut » etceux qui participent à l’association « du bas ».
{ou-exclusif}
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
72/130
Alain VAILLYDiapositive n° 72
3) Diagramme de classes
Université de NANTES
Cas C : exclusion entre les instances de A
participant à l’association « du haut » et ceux quiparticipent à l’association « du bas ».
{ou-exclusif}
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
73/130
Alain VAILLYDiapositive n° 73
3) Diagramme de classes
Université de NANTES
Il est une autre façon de signaler qu’un attribut peut servird’identifiant au travers de la notion de qualification.
Une association qualifiée, selon P.A. MULLER, est même plus
adaptée à modéliser un identifiant qu’un attribut.
L’attribut qualificatif fait partie de la classe B !
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
74/130
Alain VAILLYDiapositive n° 74
3) Diagramme de classes
Université de NANTES
La qualification (aussi appelée restriction) d’une associationconsiste à sélectionner un sous-ensemble d’objets parmi ceux qui
participent à cette association. Elle est opérée à l’aide d’unensemble d’attributs utilisé conjointement avec un objet de la
classe source. La restriction réduit (...) le nombre d’instances quiparticipent à une association.
(identifiant d’une partie des instances de la classe)
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
75/130
Alain VAILLYDiapositive n° 75
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
76/130
Alain VAILLYDiapositive n° 76
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
77/130
Alain VAILLYDiapositive n° 77
3) Diagramme de classes
Université de NANTES
L’instanciation d’une association qualifiée définit le nom desobjets source et destination et la valeur du qualificatif. Chaque
instance de la classe A, accompagnée de la valeur du qualificatif,identifie un sous-ensemble des instances de la classe B qui
participent à l’association.ensemble desinstances de B qui
participent à l’association
ensemble des instances de B qui
participent à l’association et qui ont
une valeur de clé donné e
ensemble des
instances de B
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
78/130
Alain VAILLYDiapositive n° 78
3) Diagramme de classes
Université de NANTES
L’agrégation est une relation dans laquelle une des classes joue
un rôle prépondérant. Elle est transitive, non symétrique etréflexive.
La disparition des parents n’entra î ne pas obligatoirement celledes enfants.
0..2
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
79/130
Alain VAILLYDiapositive n° 79
3) Diagramme de classes
Université de NANTES
2..*Une promotion
comprend plusieurs
groupes ; un groupe est
constitué de plusieursétudiants.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
80/130
Alain VAILLYDiapositive n° 80
3) Diagramme de classes
Université de NANTES
La composition est une relation mettant en oeuvre un couplage
encore plus fort que l’agrégation. Elle est transitive, nonsymétrique et non réflexive.
Les composants font partie du composite. Ils ne sont pas
partagés. Les cardinalités du côté du composite sontobligatoirement 1. La disparition du composition entra î ne
nécessairement celle des composants.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
81/130
Alain VAILLYDiapositive n° 81
3) Diagramme de classes
Université de NANTES
Un bâtimentcomprend plusieurs
étages. Un étage estconstitué de
plusieurs salles.La destruction du bâtiment entra î ne celle des étages et, par
« ricochet », celle des salles.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
82/130
Alain VAILLYDiapositive n° 82
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
83/130
Alain VAILLYDiapositive n° 83
3) Diagramme de classes
Université de NANTES
Il ne peut y avoir qu’une seule décoration de typeagrégation ou composition par association. Les
cardinalités liées à la composition sont obligatoirement de
1 (1..1) du côté du composite.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
84/130
Alain VAILLYDiapositive n° 84
3) Diagramme de classes
Université de NANTES
Les relations de spécialisation / généralisation
permettent de faire de la classification. Les classes sont
structurées de façon à permettre la mise en facteur des
attributs ou des opérations.
Ces relations créent une hiérarchie entre les classes,des plus concrètes aux plus abstraites.
Généralisation et spécialisation sont deux points de vueantagonistes de cette hiérarchisation.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
85/130
Alain VAILLYDiapositive n° 85
3) Diagramme de classes
Université de NANTES
spécialisation
généralisation
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
86/130
Alain VAILLYDiapositive n° 86
3) Diagramme de classes
Université de NANTES
La mise en place de cette hiérarchie n’est pas une opérationsimple. Une bonne classification est stable et extensible. Le
critère de classification doit être permanent.
Il n’y a pas une mais des classifications, en fonction des
usages. À un usage donné correspondra une classification.
Les classifications doivent conduire à des niveaux
d’abstraction équilibrés.
M.E.D.A.L.Un moniteur deviendra
j f
8/18/2019 diagramme de classe.pptx
87/130
Alain VAILLYDiapositive n° 87
3) Diagramme de classes
Université de NANTES
un jour professeur.
Une chenille
deviendra un jour
chrysalide ; une
chrysalide deviendra
un jour imago.
La gé né ralisationn’est pas adapt é e
pour repr é senter lamutabilit é .
faux
faux
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
88/130
Alain VAILLYDiapositive n° 88
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
89/130
Alain VAILLYDiapositive n° 89
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
U h ill ’ t
8/18/2019 diagramme de classe.pptx
90/130
Alain VAILLYDiapositive n° 90
3) Diagramme de classes
Université de NANTES
Il est possible de placer des
contraintes sur des relations
de type spécialisation /généralisation :
- {disjoint} : les objets de la
« branche » de gauche sont
distincts de ceux de la
branche de droite.
{is!oint}
Une chenille n’est
pas une chrysalide.
Une chrysalide n’est
pas une chenille.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
91/130
Alain VAILLYDiapositive n° 91
3) Diagramme de classes
Université de NANTES
Il est possible de placer des
contraintes sur des relations de type
spécialisation / généralisation :
- {complet} : tous les objets de la sur-
classe sont impliqués dans la relationde généralisation / spécialisation.
{complet}
Il n’y a pas de statut
qui ne soit ni moniteur,
ni professeur.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
92/130
Alain VAILLYDiapositive n° 92
3) Diagramme de classes
Université de NANTES
Il est possible de placer des
contraintes sur des
relations de type
spécialisation /
généralisation :
- {incomplet} : certains
objets de la sur-classe ne
sont pas impliqués dans larelation de généralisation /
spécialisation.
{incomplet}
Il y a d’autre(s)
stade(s) que chenille
et chrysalide.
8/18/2019 diagramme de classe.pptx
93/130
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
94/130
Alain VAILLYDiapositive n° 94
3) Diagramme de classes
Université de NANTES
Un moniteur peut aussi
ouvrir un compte,
opé ration qu’il reçoit enhé ritage de la classe
Personne.
Un professeur peut
ouvrir un compte,
opé ration qu’il reçoiten hé ritage de laclasse Personne.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
95/130
Alain VAILLYDiapositive n° 95
3) Diagramme de classes
Université de NANTES
Une opération peut, elle aussi, être redéfinie dans diff érentessous-classes (de façon diff érente). Il y a alors surcharge.
Un é tudiant travaille en prenantdes notes durant les cours.
Un professeur travaille
en lisant ses notes
durant les cours.
Une personne travaille.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
96/130
Alain VAILLYDiapositive n° 96 Université de NANTES
source P.A. MULLER
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
97/130
Alain VAILLYDiapositive n° 97
3) Diagramme de classes
Université de NANTES
Il est bien entendu
possible de
combiner les deux
types de relations
précédentes :
Un composé contient un ou plusieurs composants. Un
composé est lui-même uncomposant (il entre donc dans
la composition d’un autre
composé ).
Un composant est contenudans un seul composé . Il
peut ne pas l’être (c’est lecomposé racine).
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
98/130
Alain VAILLYDiapositive n° 98
3) Diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
99/130
Alain VAILLYDiapositive n° 99
4) Utilisation du diagramme de classes
Université de NANTES
Si, durant la phase d’analyse des besoins, les cas d’utilisation
étaient au coeur de l’activité de modélisation, durant la phased’analyse c’est le diagramme de classes qui est l’objet de toutes
les attentions.
Il n’y a pas un seul diagramme mais plusieurs, patiemment
constitués, au fur et à mesure que l’existant, les problèmesposés et la solution sont étudiés.
Chacun des diagrammes produits (diagramme de séquences,diagramme de collaboration... ) sera cohérent avec le
diagramme de classe et contribuera à l’enrichir.
important !
M.E.D.A.L.
dC : diagramme de classes
8/18/2019 diagramme de classe.pptx
100/130
Alain VAILLYDiapositive n° 100
4) Utilisation du diagramme de classes
Université de NANTES
dC1
dET1
dS1
dET : diagramme
états-transitions dS : diagramme deséquences
dCol : diagramme de
collaborations
dCol1
M.E.D.A.L.
dC : diagramme de classes
8/18/2019 diagramme de classe.pptx
101/130
dC2
dS2
Alain VAILLYDiapositive n° 101
4) Utilisation du diagramme de classes
Université de NANTES
dC1
dET1
dS1
dET : diagramme
états-transitions
dCol : diagramme de
collaborations
dS : diagramme de
séquences
dCol2
dCol1
M.E.D.A.L.
dC : diagramme de classes
8/18/2019 diagramme de classe.pptx
102/130
dS4dC3
dCol3
dS3
dET2
dC2
dCol2
dS2
Alain VAILLYDiapositive n° 102
4) Utilisation du diagramme de classes
Université de NANTES
dC1
dCol1
dET1
dS1
dET : diagramme
états-transitions
dCol : diagramme de
collaborations
dS : diagramme de
séquences
M.E.D.A.L.
objets
é i
8/18/2019 diagramme de classe.pptx
103/130
Alain VAILLYDiapositive n° 103
4) Utilisation du diagramme de classes
Université de NANTES
Le point de départ de cette série de diagrammesde classes est le Domain Model, le modèle métier.
Celui-ci est créé en fin d’analyse des besoins etsert essentiellement à définir les concepts
manipulés. Il s’agit, peu ou prou, d’un schéma de
type E-A-P avec presque exclusivement desattributs.
mé tiers
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
104/130
Alain VAILLYDiapositive n° 104
4) Utilisation du diagramme de classes
Université de NANTES
Ce premier diagramme sera ensuite retouché, pour prendre encompte :
- le typage des attributs,
- les diff érentes opérations,
- des classes plus techniques résultant de la mise en oeuvrede principes de modélisation,
- un effort de rationalisation des concepts.
NB : tout cela se situe, rappelons-le, au niveau de l’analyse. Iln’est pas question ici d’incorporer au diagramme des classes
comme les utilitaires.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
105/130
Alain VAILLYDiapositive n° 105
4) Utilisation du diagramme de classes
Université de NANTES
Nous préconisons l’application de quelques principes simples :1) tout ce qui concerne un concept et qui appara î t dans
un diagramme de collaborations ou de séquences fait
partie de la classe correspondante du diagramme de
classes.
⇒) toutes les classes citées dans le diagramme decollaborations sont décrites dans le diagramme de classes.
⇒) toutes les classes citées dans le diagramme de séquencessont décrites dans le diagramme de classes.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
106/130
Alain VAILLYDiapositive n° 106
4) Utilisation du diagramme de classes
Université de NANTES
Nous préconisons l’application de quelques principes simples :1)
2) À chaque fois qu’il faut gérer une instance d’une classe
A (qu’il s’agisse d’un ajout, d’un test d’existence,
d’une suppression), ne sachant pas si l’environnement
de développement qui sera mis en place autorisera la
notion de métaclasse, nous préconisons la création
d’une classe spécifique à une seule instance, appelée
EnsDeA.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
107/130
Alain VAILLYDiapositive n° 107
4) Utilisation du diagramme de classes
Université de NANTES
"ns#e$ermis "ns#e$ersonnes
"ns#e%onuites "ns#e&oitures
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
108/130
Alain VAILLYDiapositive n° 108
4) Utilisation du diagramme de classes
Université de NANTES
Cette classe EnsDeXX a un unique objet (rôle), celui de gérerl’ensemble des occurrences de XX. Elle est dotée d’un attribut
(virtuel) listeDeXX , d’opérations standard de création, desuppression... Elle est liée à XX par une relation d’agrégation.
Cette classe EnsDeXX, comme toutes ses « soeurs », fait
partie du diagramme de classes.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
109/130
Alain VAILLYDiapositive n° 109
4) Utilisation du diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
110/130
Alain VAILLYDiapositive n° 110
4) Utilisation du diagramme de classes
Université de NANTES
Nous préconisons l’application de quelques principes simples :1)
2)
3) En application (partielle) des principes préconisés par
le modèle MVC (Modèle - Vue - Contrôleur), et
souhaitant mettre en place un contrôle centralisé, nous
associons à chaque requête XXX faite au système une
classe spéciale (que nous nommons F.GestionDeXXX)
qui va mettre en oeuvre les traitements nécessaires à la
satisfaction de la requête XXX.
MVC, quezacko ??
M.E.D.A.L.
V
8/18/2019 diagramme de classe.pptx
111/130
Alain VAILLYDiapositive n° 111
4) Utilisation du diagramme de classes
Université de NANTES
Le modèle MVC a été mis au point en 1979, par T.REENSKAUG, chez XEROX, lorsqu’il travaillait sur le
langage objet Smalltalk.
Ce modèle impose la séparation entre les données (le Modèle),les traitements (le Contrôleur) et la présentation (la Vue).
La partie M représente le comportement de l’application. Elledécrit les données manipulées par cette application et définit
les méthodes d’accès.
C
M
M.E.D.A.L.
V
8/18/2019 diagramme de classe.pptx
112/130
Alain VAILLYDiapositive n° 112
4) Utilisation du diagramme de classes
Université de NANTES
La partie V correspond à l’interface avec laquellel’utilisateur interagit. La vue n’effectue aucun
traitement, elle se contente d’afficher les traitements
effectués par le modèle.
La partie C prend en charge la synchronisation des
événements. Elle n’effectue aucun traitement, nemodifie aucune donnée. Elle analyse la demande et
appelle le modèle adéquat.
C
M
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
113/130
Alain VAILLYDiapositive n° 113
4) Utilisation du diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
114/130
Alain VAILLYDiapositive n° 114
4) Utilisation du diagramme de classes
Université de NANTES
traitement permettant de satisfaire la requête A(voir le chapitre concernant le diagramme de séquences)
A concerne les XX
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
115/130
Alain VAILLYDiapositive n° 115
4) Utilisation du diagramme de classes
Université de NANTES
Cette classe F.GestionDeXX ,
comme toutes ses « soeurs »,
fait partie du diagramme de
classes.
Cette fenêtre de contrôle est une classe.Elle est très souvent (la plupart dutemps) active, c’est-à-dire qu’ellea un comportement que l’on peut
décrire (un diagramme d’activités
lui est donc souvent associé).
classe active, selonla notation
StarUML
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
116/130
Alain VAILLYDiapositive n° 116
4) Utilisation du diagramme de classes
Université de NANTES
Ces classes « spéciales » (ie. les ensembles et lescontrôleurs) peuvent être regroupées dans un
paquetage dédié. Elles sont aussi factorisables.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
117/130
Alain VAILLYDiapositive n° 117
4) Utilisation du diagramme de classes
Université de NANTES
Ces classes « spéciales » (ie. les ensembles et lescontrôleurs) peuvent être regroupées dans un
paquetage dédié. Elles sont aussi factorisables.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
118/130
Alain VAILLYDiapositive n° 118
4) Utilisation du diagramme de classes
Université de NANTES
Ens% &tatistiques
' statistiques()
Ens% Adh rents
' untitled()
' nou*el_adh rent()
' untitled()
Ens% +ilms
' recherche_"ilm()
' liste_"ilms()
Ens% enres
Ens% -outiques
' e.iste_outiq()
/nstanceEnsemle d$instances
' aouter()
' e.iste()
instances
Ens% EmpruntsEmprunt
( "rom M tier)instances
Ens% Cassettes
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
119/130
Alain VAILLYDiapositive n° 119
4) Utilisation du diagramme de classes
Université de NANTES
Le typage des attributs est un
travail minutieux, long...
mais simple à faire. Sans
doute une des dernièresretouches à apporter audiagramme de classes.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
120/130
Alain VAILLYDiapositive n° 120
4) Utilisation du diagramme de classes
Université de NANTES
Les opérations proviennent pour l’essentiel des cas d’utilisation (ça,c’est l’amorce) et des schémas suivants (diagrammes de
séquences et diagrammes de collaborations).
Tout message reçu déclenche l’exécution d’une opérationappartenant au receveur du message.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
121/130
Alain VAILLYDiapositive n° 121
4) Utilisation du diagramme de classes
Université de NANTES
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
122/130
Alain VAILLYDiapositive n° 122 Université de NANTES
Les messages passant d’une classe à l’autre empruntent les tuyaux (les
associations) existant entre elles.
M.E.D.A.L.
Ces opérations seront, elles aussi, typées etl èt é i é
8/18/2019 diagramme de classe.pptx
123/130
Alain VAILLYDiapositive n° 123 Université de NANTES
leurs paramètres précisés.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
124/130
Alain VAILLYDiapositive n° 124
4) Utilisation du diagramme de classes
Université de NANTES
Une des dernières retouches apportées au diagramme declasses vise à préparer la réutilisation de concepts dans
une future application.
Il s’agit là de rationaliser les notations, de tenter unegénéralisation, éventuellement d’ajouter une ou deux
opérations... bref de préparer l’émergence decomposants logiciels bien conçus.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
125/130
Alain VAILLYDiapositive n° 125
4) Utilisation du diagramme de classes
Université de NANTES
- uniformiser les notations,- regrouper les classes proches,- introduire une hiérarchie de classes,
-offrir des services complets, tant au niveau des constructeursqu’à celui des observateurs,
- ...
... ne pas hésiter non plus à décrire formellement lescontraintes, avec OCL
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
126/130
Alain VAILLYDiapositive n° 126
5) Conclusion
Université de NANTES
Le diagramme de classes est le fondement du niveau
logique auquel appartient cette phase d’analyse. Il
s’agit de construire la structure conceptuelle du systèmeen termes de classes.
Chaque scénario est développé pour faire appara î tre cettestructure. Pour cela, on va spécialiser les objets en
objets d’interface, reliés aux acteurs, objets de contrôlequi pilotent une activité et objets métier, qui détiennentles informations. Cette spécialisation se dénote via les
stéréotypes.
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
127/130
Alain VAILLYDiapositive n° 127
5) Conclusion
Université de NANTES
Il n’y a pas un diagramme de classes mais plusieurs, chacun
étant une évolution du précédent et une ébauche du suivant.
Ce diagramme de classes est cohérent avec les autres
diagrammes (de séquences, de collaborations...). Il est enpermanence mis à jour lors du déroulement de la phased’analyse, diagramme après diagramme.
Cette exigence rend quasiment obligatoire le recours à un outillogiciel d’aide à la spécification... même si celui-ci peut, de
temps en temps, présenter quelques lacunes.
Bibliographie (sommaire)
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
128/130
Alain VAILLYDiapositive n° 128
g p ( )
Université de NANTES
Pour compléter laformation... ;-)))
la réf érence :-)P. ANDRE, A. VAILLY,« Spécifications des logiciels ;Deux exemples de pratiques
récentes : Z et UML »,Editions Ellipses, juillet 2001,
ISBN 2-7298-0774-8
P-A. MULLER, N. GAERTNER,
« Modélisation objet avec UML »,Editions EYROLLES, 2003,
ISBN 2-212-11397-8
M.E.D.A.L.
Webographie (sommaire)
8/18/2019 diagramme de classe.pptx
129/130
Alain VAILLYDiapositive n° 129 Université de NANTES
g p
S’il n’y avait qu’un seul site Internet à consulter régulièrement…
'uic()ime et un+compresseur ), non compress+/
sont reuis pour visionner cette imae. http://conception.developpez.com/
M.E.D.A.L.
8/18/2019 diagramme de classe.pptx
130/130
Fin