38
Diagramme de Classes Diagramme de Classes Mohamed Nemiche Mohamed Nemiche [email protected] [email protected]

1 Diagramme de Classes Mohamed Nemiche [email protected]

Embed Size (px)

Citation preview

Page 1: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

1

Diagramme de ClassesDiagramme de Classes

Mohamed NemicheMohamed Nemiche

[email protected]@uv.es

Page 2: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

2

Plan de la SéancePlan de la Séance

ClassesClasses AssociationsAssociations

Multiplicités,Multiplicités, Noms de rôles,Noms de rôles, NavigabilitéNavigabilité Agrégation et CompositionAgrégation et Composition VisibilitéVisibilité GénéralisationGénéralisation ContraintesContraintes

Page 3: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

3

Diagramme de ClasseDiagramme de Classe

Page 4: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

4

Les diagrammes de classesLes diagrammes de classes

Présentation

Le diagramme de classes exprime la structure statique du système en termes de classes et de relations entre ces classes.

Realiser l’abstaction d’un domaine et formaliser l’analyse des concepts a associé au domaine

Page 5: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

5

Les diagrammes de classesLes diagrammes de classes

Une classe est une description abstraite d’un ensemble Une classe est une description abstraite d’un ensemble d’objets ayant une sémantique et des propriétés d’objets ayant une sémantique et des propriétés communes.communes.

La classe

Une classe est représentée en utilisant un rectangle divisé en trois sections.

Page 6: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

6

Les diagrammes de classesLes diagrammes de classes

La notation UML permet de représenter le niveau de La notation UML permet de représenter le niveau de visibilité des attributs de façon graphique en faisant visibilité des attributs de façon graphique en faisant précéder le nom de chaque attribut par un caractère précéder le nom de chaque attribut par un caractère représentant la visibilité:représentant la visibilité: + défini un attribut public+ défini un attribut public # défini un attribut protégé# défini un attribut protégé - défini un attribut privé- défini un attribut privé

Les visibilités des attributs et des méthodes

Page 7: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

7

Propriétés des attributs et des opérations :Propriétés des attributs et des opérations :

Accessibilité aux attributs et opérations d’une classeAccessibilité aux attributs et opérations d’une classe

Trois niveaux de protection :Trois niveaux de protection : Public (+) : accès à partir de toute entité interne ou externe àPublic (+) : accès à partir de toute entité interne ou externe à la classela classe Protégé (#) : accès à partir de la classe ou des sous-classesProtégé (#) : accès à partir de la classe ou des sous-classes Privé (-) : accès à partir des opérations de la classePrivé (-) : accès à partir des opérations de la classe

Page 8: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

8

Attributs dérivésAttributs dérivés

Au niveau de l’analyse des besoins, des propriétés redondantes Au niveau de l’analyse des besoins, des propriétés redondantes peuvent être proposées…peuvent être proposées…

Un attribut dérivé permet d’indiquer clairement qu’un attribut Un attribut dérivé permet d’indiquer clairement qu’un attribut découle d’autres propriétés allouéesdécoule d’autres propriétés allouées

Les attributs dérivés (noté : /nom attribut) ont des valeurs calculées Les attributs dérivés (noté : /nom attribut) ont des valeurs calculées à partir de celles d’autres propriétés :à partir de celles d’autres propriétés :

Page 9: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

9

AssociationAssociation

Une association est une relation entre deux classes ou plus.Une association est une relation entre deux classes ou plus.

Page 10: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

10

Classe associationClasse association

Une association peut être réifiée par une classe appelée classe Une association peut être réifiée par une classe appelée classe associative ou classe associationassociative ou classe association

Par exemple, lorsque l’association possède des attributs ou des Par exemple, lorsque l’association possède des attributs ou des opérations : ----Rattachement de la classe à l’associationopérations : ----Rattachement de la classe à l’association

Page 11: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

11

Classe associationClasse association

Page 12: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

12

Association n-aireAssociation n-aire

Une association ternaire entre salle, étudiant et enseignant est réifiée Une association ternaire entre salle, étudiant et enseignant est réifiée comme une classe comme une classe cours ayant deux attributs : début et fincours ayant deux attributs : début et fin

Page 13: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

13

Nommage des associationsNommage des associations

- Nom de l’association en italique au milieu de la ligne- Nom de l’association en italique au milieu de la ligne

- On note en général les association par une forme verbale, soit active, - On note en général les association par une forme verbale, soit active, soit passivesoit passive

Page 14: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

14

Nommage des rôlesNommage des rôles

- Toute association binaire possède 2 rôles- Toute association binaire possède 2 rôles

- un rôle définit la manière dont une classe intervient dans- un rôle définit la manière dont une classe intervient dans

une relationune relation

Page 15: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

15

Nommage des rôlesNommage des rôles

- Intérêt des rôles dans le cas où plusieurs associations lient- Intérêt des rôles dans le cas où plusieurs associations lient

deux classes : distinction des concepts attachés aux associationsdeux classes : distinction des concepts attachés aux associations

La présence d’un grand nombre d’associations entre deux classes est La présence d’un grand nombre d’associations entre deux classes est suspecte :suspecte :

Page 16: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

16

Association réflexiveAssociation réflexive

Nommage des rôles indispensable à la clarté du diagrammeNommage des rôles indispensable à la clarté du diagramme

Page 17: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

17

Multiplicité des associationsMultiplicité des associations

La multiplicité est une information portée par le rôle, qui quantifie le La multiplicité est une information portée par le rôle, qui quantifie le nombre de fois où un objet participe à une instance de relationnombre de fois où un objet participe à une instance de relation

Page 18: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

18

Exemple de Multiplicité des associationsExemple de Multiplicité des associations

Page 19: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

19

Multiplicité des associationsMultiplicité des associations

Exemple :Exemple :

1 : Chaque personne travaille pour une et une seule société (toute les 1 : Chaque personne travaille pour une et une seule société (toute les personnes ont un emploi)personnes ont un emploi)

0 .. * : Une société emploie de zéro à plusieurs personnes0 .. * : Une société emploie de zéro à plusieurs personnes

Page 20: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

20

Les diagrammes de classesLes diagrammes de classes

Navigabilité La navigabilité indique s’il est possible de traverser une La navigabilité indique s’il est possible de traverser une

association. association. Par défaut, une association est navigable dans les deux sens.Par défaut, une association est navigable dans les deux sens.

Page 21: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

21

Les diagrammes de classesLes diagrammes de classes

L’agrégation

L’agrégation est une forme particulière d’association.L’agrégation est une forme particulière d’association. Une agrégation est une association Une agrégation est une association non symétrique :non symétrique :

l’une des extrémités joue un rôle prédominant par rapport à l’autre l’une des extrémités joue un rôle prédominant par rapport à l’autre Elle représente la relation d’inclusion d’un élément dans un ensembleElle représente la relation d’inclusion d’un élément dans un ensemble L’agrégation se représente toujours avec un petit losange du côté de L’agrégation se représente toujours avec un petit losange du côté de

l’agrégat (ensemble). l’agrégat (ensemble).

Page 22: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

22

Association particulière : AgrégationAssociation particulière : Agrégation

Page 23: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

23

Les diagrammes de classesLes diagrammes de classes

La composition

La composition est une agrégation forteLa composition est une agrégation forte Les cycles de vie entre le composé et les composants Les cycles de vie entre le composé et les composants

sont liéssont liés

Livre Page< fait partie de 1,1

comprend de 1,N >

Page 24: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

24

CompositionComposition

Page 25: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

25

Les diagrammes de classesLes diagrammes de classes

L’héritage décrit une relation entre une L’héritage décrit une relation entre une classe générale et une classe spécialisée.classe générale et une classe spécialisée.

La classe spécialisée comporte des La classe spécialisée comporte des informations supplémentaires . informations supplémentaires .

Le symbole utilisé pour la relation Le symbole utilisé pour la relation d’héritage est une flèche avec un trait plein d’héritage est une flèche avec un trait plein dont la pointe est un triangle fermé dont la pointe est un triangle fermé désignant le cas le plus général .désignant le cas le plus général .

Relations entre classesGénéralisation et Héritage

Page 26: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

26

AssociationAssociationgénéralisation: contraintegénéralisation: contrainte

Une généralisation Une généralisation incomplèteincomplète indique qu’il existe d’autres indique qu’il existe d’autres sous-classes qui peuvent être introduites dans la sous-classes qui peuvent être introduites dans la généralisation.généralisation.

Une généralisation Une généralisation complètecomplète indique que l’ensemble des indique que l’ensemble des sous-classes a été répertorié.sous-classes a été répertorié.

COURS

MATHS

FRANÇAIS

GÉOGRAPHIE

COURS

MATHS

{incomplète}

... GÉOGRAPHIE

Page 27: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

27

AssociationAssociation généralisation: contrainte généralisation: contrainte

Par défaut, la généralisation est dite Par défaut, la généralisation est dite complètecomplète etet disjointedisjointe, i.e. une instance est au plus instance d’une , i.e. une instance est au plus instance d’une seule des sous-classes.seule des sous-classes.

UNITÉ ADMINISTRATIVE

MUNICIPALITÉ MRC

VILLAGE VILLE

{disjoint}

...

Page 28: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

28

AssociationAssociation généralisation : contrainte généralisation : contrainte

La contrainte La contrainte overlappingoverlapping indique qu’une instance de la indique qu’une instance de la super-classe est l'instance de deux ou plusieurs sous-super-classe est l'instance de deux ou plusieurs sous-classes.classes. Le bâtiment « 245 rue St-Jean » a un commerce au 1Le bâtiment « 245 rue St-Jean » a un commerce au 1erer

étage et un appartement au 2étage et un appartement au 2ièmeième étage. étage.

BÂTIMENT

RÉSIDENTIEL COMMERCIAL

{overlapping}

Page 29: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

29

Les diagrammes de classesLes diagrammes de classes

Des contraintes prédéfinies :Des contraintes prédéfinies : Les contraintes Les contraintes ensemblistes ensemblistes : {Sous-ensemble}: {Sous-ensemble} Les contraintes Les contraintes d’ordonnancement d’ordonnancement : {Ordonné}: {Ordonné} Les contraintes Les contraintes d’exclusion d’exclusion : {Ou - exclusif}: {Ou - exclusif}

Des contraintes spécifiques au moyen du langage Des contraintes spécifiques au moyen du langage OCL (Object Constraint Language)OCL (Object Constraint Language)

Contraintes sur associations

Page 30: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

30

Les diagrammes de classesLes diagrammes de classes

Ce type de contrainte permet de modéliser le cas où pour une Ce type de contrainte permet de modéliser le cas où pour une instance donnée, l’ensemble des instances avec lesquelles elle instance donnée, l’ensemble des instances avec lesquelles elle est en relation doit être ordonnéest en relation doit être ordonné

Cette contrainte est spécifiée par le mot clé {ordonné}Cette contrainte est spécifiée par le mot clé {ordonné}

Contraintes sur associationsLes contraintes d’ordonnancement

Page 31: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

31

Les diagrammes de classesLes diagrammes de classes

Ce type de contrainte permet de modéliser le cas où Ce type de contrainte permet de modéliser le cas où pour une instance donnée d’une classe, une seule pour une instance donnée d’une classe, une seule association, parmi plusieurs possibles, peut être association, parmi plusieurs possibles, peut être valide à un instant donné valide à un instant donné

Contraintes sur associationsLes contraintes d’exclusion

Page 32: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

32

La contrainte {sous-ensemble} indique qu’une La contrainte {sous-ensemble} indique qu’une collection est incluse dans une autre collectioncollection est incluse dans une autre collection

Les diagrammes de classesLes diagrammes de classes

Contraintes sur associationsLes contraintes de sous-ensemble

Page 33: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

33

Travaux Dirigés (TD)Travaux Dirigés (TD)

Diagramme de ClassesDiagramme de Classes

Page 34: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

34

Exercice 1Exercice 1

Soient les phrases suivantes :Soient les phrases suivantes : Un répertoire contient des fichiersUn répertoire contient des fichiers Une pièce contient des mursUne pièce contient des murs Les modems et claviers sont des périphériques Les modems et claviers sont des périphériques

d’entrée / sortied’entrée / sortie Une transaction boursière est un achat ou une venteUne transaction boursière est un achat ou une vente Un compte bancaire peut appartenir à une personne Un compte bancaire peut appartenir à une personne

physique ou moralephysique ou morale Elaborez les diagrammes de classes correspondants Elaborez les diagrammes de classes correspondants

en choisissant le type de relation appropriéen choisissant le type de relation approprié

Page 35: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

35

Exercice 2Exercice 2

Elaborez un diagramme de classes correspondant en Elaborez un diagramme de classes correspondant en choisissant le type de relation appropriéchoisissant le type de relation approprié:: Une application doit stocker des informations sur des Une application doit stocker des informations sur des

entreprises, leurs employés et leurs clients.entreprises, leurs employés et leurs clients. Tous les deux sont caractérisés par leur nom et âge.Tous les deux sont caractérisés par leur nom et âge. Les employés ont un salaire brut, les employés qui sont Les employés ont un salaire brut, les employés qui sont

directeurs ont une catégorie, aussi bien qu'un ensemble directeurs ont une catégorie, aussi bien qu'un ensemble des employés subordonnés.des employés subordonnés.

Des clients en outre est nécessaire connaître son Des clients en outre est nécessaire connaître son numéro de téléphone.numéro de téléphone.

L'application doit afficher les données des employés et L'application doit afficher les données des employés et des clients.des clients.

Page 36: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

36

Exercice 3: BibliothèqueExercice 3: Bibliothèque

Une bibliothèque a des copies de livre. Ces derniers Une bibliothèque a des copies de livre. Ces derniers sont caractérisés par leur nom, type (roman, théâtre, sont caractérisés par leur nom, type (roman, théâtre, poésie, essai), éditorial, année et auteur.poésie, essai), éditorial, année et auteur. les auteurs se caractérisent à leur nom, nationalité et date de les auteurs se caractérisent à leur nom, nationalité et date de

naissance.naissance. chaque copie a un identificateur, et peut être dans la bibliothèque, chaque copie a un identificateur, et peut être dans la bibliothèque,

prêtée, avec tard ou dans la réparation.prêtée, avec tard ou dans la réparation. les lecteurs peut avoir un maximum de 3 livres en emprunt.les lecteurs peut avoir un maximum de 3 livres en emprunt. chaque livre de z donne un maximum de 30 jours, pour jour du chaque livre de z donne un maximum de 30 jours, pour jour du

retard, une sanction de deux jours sans possibilité de prendre un retard, une sanction de deux jours sans possibilité de prendre un nouveau livre.nouveau livre.

Elaborez un diagramme de classes correspondant et ajoutez les Elaborez un diagramme de classes correspondant et ajoutez les méthodes nécessaires pour réaliser l'emprunt et du retour des méthodes nécessaires pour réaliser l'emprunt et du retour des livres.livres.

Page 37: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

37

Exercice 4Exercice 4

Une académie souhaite gérer les cours dispensés dans plusieurs collèges. Pour cela, on Une académie souhaite gérer les cours dispensés dans plusieurs collèges. Pour cela, on dispose des renseignements suivants :dispose des renseignements suivants :

Chaque collège possède d’un site InternetChaque collège possède d’un site Internet Chaque collège est structuré en départements, qui regroupent chacun des enseignants Chaque collège est structuré en départements, qui regroupent chacun des enseignants

spécifiques. Parmi ces enseignants, l’un d’eux est responsable du département.spécifiques. Parmi ces enseignants, l’un d’eux est responsable du département. Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son

indice.indice. Chaque enseignant ne dispense qu’une seule matière.Chaque enseignant ne dispense qu’une seule matière. Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune

d’elle.d’elle. Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son année Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son année

d’entrée au collège.d’entrée au collège. Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la

même salle de cours (chacune ayant un nombre de places déterminé).même salle de cours (chacune ayant un nombre de places déterminé). On désire pouvoir calculer la moyenne par matière ainsi que par départementOn désire pouvoir calculer la moyenne par matière ainsi que par département On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières

dans lesquelles il n’a pas été notédans lesquelles il n’a pas été noté Enfin, on doit pouvoir imprimer la fiche signalétique (, prénom, tél, mail) d’un enseignant ou Enfin, on doit pouvoir imprimer la fiche signalétique (, prénom, tél, mail) d’un enseignant ou

d’un élève.d’un élève. Elaborez un diagramme de classes correspondant. Pour simplifier l’exercice, on limitera le Elaborez un diagramme de classes correspondant. Pour simplifier l’exercice, on limitera le

diagramme à une seule année d’étudediagramme à une seule année d’étude

Page 38: 1 Diagramme de Classes Mohamed Nemiche nemiche@uv.es

38

Exercice 5Exercice 5

On souhaite gérer les réservations de vols effectués dans une agence. On souhaite gérer les réservations de vols effectués dans une agence. D’après les interviews réalisées avec les membres de l’agence, on sait D’après les interviews réalisées avec les membres de l’agence, on sait que :que : Les compagnies aériennes proposent différents volsLes compagnies aériennes proposent différents vols Un vol est ouvert à la réservation et refermé sur ordre de la compagnieUn vol est ouvert à la réservation et refermé sur ordre de la compagnie Un client peut réserver un ou plusieurs vols, pour des passagers différentsUn client peut réserver un ou plusieurs vols, pour des passagers différents Une réservation concerne un seul vol et un seul passagerUne réservation concerne un seul vol et un seul passager Une réservation peut être confirmée ou annuléeUne réservation peut être confirmée ou annulée Un vol a un aéroport de départ et un aéroport d’arrivéeUn vol a un aéroport de départ et un aéroport d’arrivée Un vol a un jour et une heure de départ, et un jour et une heure d’arrivéeUn vol a un jour et une heure de départ, et un jour et une heure d’arrivée Un vol peut comporter des escales dans un ou plusieurs aéroport(s)Un vol peut comporter des escales dans un ou plusieurs aéroport(s) Une escale a une heure de départ et une heure d’arrivéeUne escale a une heure de départ et une heure d’arrivée Chaque aéroport dessert une ou plusieurs villesChaque aéroport dessert une ou plusieurs villes

A partir des éléments qui vous sont fournis ci-dessus, élaborez le A partir des éléments qui vous sont fournis ci-dessus, élaborez le diagramme de classes (en y ajoutant tout attribut que vous jugez pertinent diagramme de classes (en y ajoutant tout attribut que vous jugez pertinent et qui n’a pas été décrit ci-dessus).et qui n’a pas été décrit ci-dessus).