SlideShare uma empresa Scribd logo
1 de 22
DIAGRAMME DE CLASSES
&
DIAGRAMME D’OBJETS
MCOO–Chapitre
Mme Sfaxi Lilia
Mme Zoubeir Najet
L2ARS/SIL – 2011/2012

3
Diagramme de Classes
 Le diagramme le plus important de la
modélisation orientée objet : le seul
obligatoire
 Décrit la structure interne du système
 Fournit une représentation abstraite des
objets du système qui interagissent
ensemble pour réaliser le cas
d’utilisation
 Vue statique : pas de facteur temporel
 Modélisation des classes du système et
leurs relations
Indépendant du langage de programmation2
Classes
 Description formelle d’un ensemble d’objets
ayant une sémantique et des caractéristiques
communes
 Un objet est une instance de classe
 Représentée par un rectangle divisé en 3
compartiments obligatoires et 2 optionnels
 Nom de la classe
 Attributs
 Méthodes
 Responsabilités (op) : ensemble des tâches
devant être assurées par la classe mais pour
lesquelles on ne dispose pas d’assez
d’informations

3
Caractéristiques d’une
Classe
 Visibilité
 Public ou + :tout élément qui peut voir la classe
courante peut également voir l’élément indiqué
 Protected ou # : seul un élément situé dans la
classe courante ou un de ses descendants peut
voir l’élément indiqué.
 Private ou – : seul un élément situé dans la classe
courante peut voir l’élément.
 Package ou ~ ou rien : seul un élément déclaré
dans le même paquetage peut voir l’élément.

 Nom de la classe
 [ <Nom_du_paquetage_1>:: ...
::<Nom_du_paquetage_N> ] <Nom_de_la_classe> [ 4
{
Stéréotypes d’une classe
 Le stéréotype est le rôle principal
d’une classe
 On définit principalement 4
stéréotypes:
Entité
Contrôleur
Interface
Acteur

5
Attributs
 Données encapsulées dans les objets de
cette classe
 Définis par un nom, un type de données, et
une visibilité
 A la forme: <visibilité> [/] <nom_attribut> : <type>
['['<multiplicité>']' [{<contrainte>}] ] [ =
<valeur_par_déf.> ]

 Exemple : + couleur : int [3] {list}
 Attribut de classe
 Attribut propre à la classe, pas à l’instance(static
en java)

6
Méthodes
 Décrit une fonctionnalité de la classe
 Doit contenir un nom, un type de retour et
des paramètres
 A la forme :
 <visibilité> <nom_méthode> ([<paramètre_1>, ...
, <paramètre_N>]) : [<type_renvoyé>]
[{<propriétés>}]

 Un paramètre a la forme :
 [<direction>] <nom_paramètre>:<type>
['['<multiplicité>']'] [=<valeur_par_défaut>]

 Exemple

7
Méthodes abstraites
 Ne possède pas d’implémentation
 Doit être surchargée
 Si on appelle une méthode abstraite qui
n’est pas surchargée, on déclenche une
erreur
 Utilisée si on désire bâtir un squelette
d’objet qui a plusieurs descendants devant
tous avoir un comportement analogue
 Exemple
 Dans la classe mère : void print( String
message ); //sans implémentation
 Pour les descendants : void print( String

8
Interfaces
 Type particulier de classes
 Classe où toutes les méthodes sont
abstraites
Stéréotype « interface »

 Permet de regrouper un ensemble de
propriétés et d’opérations assurant un
service cohérent
 Doit être réalisée (implémentée) par au
moins une classe et peut l’être par
plusieurs
Stéréotype « realize»

 Une classe peut dépendre d’une

9
Relation d’Association
 Relation entre deux classes ou plus décrivant
les connexions structurelles entre leurs
instances
 Relie des classes au même niveau hiérarchique
 4 décorations permettent de spécifier le lien
entre objets :
Nom : nature des relations entre les objets
Direction : direction d’application du nom
Rôle : rôle spécifique de chacune des
classes dans l’association
Cardinalité : nombre d’éléments affectés
 Exemple
10
Relations d’Agrégation et
de Composition
 Agrégation
 Définit une relation hiérarchique entre les entités
 Définit la relation : « se compose de » et
modélise la notion de « possession » ou de «
tout et partie »

 Composition
 Définit une contenance structurelle entre les
instances
 La destruction de l’objet composite implique la
destruction de ses composants
 Une instance du composant appartient au plus à
une instance du composite
11
Agrégation

Composition
Relation de Dépendance
 La dépendance établit une relation d’utilisation
entre 2 entités d’un même diagramme.
 La plupart du temps il s’agit d’une dépendance
d’utilisation :
Argument d’une méthode par exemple
On parle alors de “relation d’utilisation”
 Cela permet d’identifier implications possibles
des modifications à apporter dans une entité
Changement du comportement d’une des
classes par exemple

Dépendance

12
Relation de
Généralisation
 Modélise la relation d’héritage
 La généralisation correspond à la notion “est une
sorte de”
 Modélisation des relations parents / enfants

 Les entités issues d’une généralisation sont
utilisables partout ou leur classe mère peut
l'être (mais pas l’inverse)
 Généralisation (classe, classe) ou
(classe, interface)
 Cette relation est modélisée par une flèche
pointant sur la classe mère
13
Classe-Association
 Une association peut avoir des
propriétés, qui ne sont disponibles
dans aucune des classes qu’elle
lie
On définit alors une classe- Entreprise
Personne
employé
employeur
association
Poste
salaire: float
14
Association n-aire
 Association qui lie plus que 2
classes
 Peu utilisée
Gestion des multiplicités délicate
Etudiant

Enseignant

Module
15
Les Notes (Commentaires)
 Lors des phases de modélisation
et de spécification, il est
nécessaire de documenter ses
modèles :
Contraintes matérielles
Contraintes de performance
Choix techniques réalisés
Références à d’autres docs
Explications techniques, etc.
16
Exemple : Banque

17
Activité 1
Hôtel
 Un hôtel
d’au moins deux
chambres. Chaque chambre dispose d’une
salle d’eau qui peut être une douche ou une
salle de bain. L’hôtel héberge

par un des employés. L’hôtel a les
caractéristiques sui- vantes : une adresse, le
nombre de pièces, la catégorie. Une chambre
est caractérisée par le nombre et le type de
lits, le prix et le numéro. On peut calculer le
chiffre d’affaires, le loyer en fonction des
18
occupants.
Diagramme d’Objets
 Représente des objets (i.e. instances de
classes) et leurs liens (i.e. instances de
relations) pour donner une vue figée de l’état
d’un système à un instant donné
 Peut être utilisé pour
 illustrer le modèle de classes en montrant un
exemple qui explique le modèle
 préciser certains aspects du système en mettant
en évidence des détails imperceptibles dans le
diagramme de classes
 exprimer une exception en modélisant des cas
particuliers ou des connaissances non
généralisables qui ne sont pas modélisés dans 20
un
Graphiquement
 Un objet est représenté comme une
classe, mais le compartiment des méthodes
n’est pas indiqué
 Le nom de l’objet est composé du nom de
l’instance, suivi de celui de la classe, et est
souligné
 Les attributs reçoivent des valeurs
 Si certaines valeurs ne sont pas
renseignées, l’objet est partiellement défini

 La relation de généralisation n’est jamais
représentée

21
Exemples

22
Activité 2:
Bibliothèque

me guerre mondiale », « Les
Aventures de Robin Hood », et deux
exemplaires de « Harry Potter».


me guerre mondiale » et un
exemplaire de « Harry Potter ».
 Représenter le diagramme de classes

23

Mais conteúdo relacionado

Mais procurados

gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
Mansouri Khalifa
 

Mais procurados (20)

Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Chp4 - UML
Chp4 - UMLChp4 - UML
Chp4 - UML
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
Merise 60 affaires classées
Merise 60 affaires classées  Merise 60 affaires classées
Merise 60 affaires classées
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
UML Diagrammes Dynamiques
UML Diagrammes DynamiquesUML Diagrammes Dynamiques
UML Diagrammes Dynamiques
 
Uml
UmlUml
Uml
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Modelisation conception SI
Modelisation conception SIModelisation conception SI
Modelisation conception SI
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 

Destaque

Cypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-python
CERTyou Formation
 

Destaque (20)

Mobile-Chp4 côté serveur
Mobile-Chp4 côté serveurMobile-Chp4 côté serveur
Mobile-Chp4 côté serveur
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOS
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
 
Chp1 - Introduction aux ERP
Chp1 - Introduction aux ERPChp1 - Introduction aux ERP
Chp1 - Introduction aux ERP
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Chp2 - Solutions ERP
Chp2 - Solutions ERPChp2 - Solutions ERP
Chp2 - Solutions ERP
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données
 
Diagrammes de classes
Diagrammes de classesDiagrammes de classes
Diagrammes de classes
 
Publicité Montréal Conception Site Web -
Publicité Montréal Conception Site Web -Publicité Montréal Conception Site Web -
Publicité Montréal Conception Site Web -
 
Animation Forum / Anne Pajard
Animation Forum / Anne PajardAnimation Forum / Anne Pajard
Animation Forum / Anne Pajard
 
Module 2 introduction à asp.net web forms
Module 2   introduction à asp.net web formsModule 2   introduction à asp.net web forms
Module 2 introduction à asp.net web forms
 
Cypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-python
 
OpenStack Havana, tour d'horizon
OpenStack Havana, tour d'horizonOpenStack Havana, tour d'horizon
OpenStack Havana, tour d'horizon
 
La sabiduría
La sabiduríaLa sabiduría
La sabiduría
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 

Semelhante a Chp3 - Diagramme de Classes

Diagramme de classe
Diagramme de classeDiagramme de classe
Diagramme de classe
Ilhem Daoudi
 
Modélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classeModélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classe
amat samiâ boualil
 

Semelhante a Chp3 - Diagramme de Classes (20)

Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
Diagramme de classe
Diagramme de classeDiagramme de classe
Diagramme de classe
 
diagramme de classe-1.pptx diagramme de classe-1.pptx
diagramme de classe-1.pptx diagramme de classe-1.pptxdiagramme de classe-1.pptx diagramme de classe-1.pptx
diagramme de classe-1.pptx diagramme de classe-1.pptx
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 
Modélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classeModélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classe
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Diagramme de-composants152
Diagramme de-composants152Diagramme de-composants152
Diagramme de-composants152
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
coursUML4.pdf
coursUML4.pdfcoursUML4.pdf
coursUML4.pdf
 
Diagramme d'Objet
Diagramme d'ObjetDiagramme d'Objet
Diagramme d'Objet
 
Architecture Logiciel_GRASP11111111.pptx
Architecture Logiciel_GRASP11111111.pptxArchitecture Logiciel_GRASP11111111.pptx
Architecture Logiciel_GRASP11111111.pptx
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
Uml
UmlUml
Uml
 
0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf
 
Generateur de code java (GenJAVA)
Generateur de code java (GenJAVA)Generateur de code java (GenJAVA)
Generateur de code java (GenJAVA)
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 

Mais de Lilia Sfaxi

Mais de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
 
Lab3-Android
Lab3-AndroidLab3-Android
Lab3-Android
 
Lab 5-Android
Lab 5-AndroidLab 5-Android
Lab 5-Android
 
Lab4 - android
Lab4 - androidLab4 - android
Lab4 - android
 

Chp3 - Diagramme de Classes

  • 1. DIAGRAMME DE CLASSES & DIAGRAMME D’OBJETS MCOO–Chapitre Mme Sfaxi Lilia Mme Zoubeir Najet L2ARS/SIL – 2011/2012 3
  • 2. Diagramme de Classes  Le diagramme le plus important de la modélisation orientée objet : le seul obligatoire  Décrit la structure interne du système  Fournit une représentation abstraite des objets du système qui interagissent ensemble pour réaliser le cas d’utilisation  Vue statique : pas de facteur temporel  Modélisation des classes du système et leurs relations Indépendant du langage de programmation2
  • 3. Classes  Description formelle d’un ensemble d’objets ayant une sémantique et des caractéristiques communes  Un objet est une instance de classe  Représentée par un rectangle divisé en 3 compartiments obligatoires et 2 optionnels  Nom de la classe  Attributs  Méthodes  Responsabilités (op) : ensemble des tâches devant être assurées par la classe mais pour lesquelles on ne dispose pas d’assez d’informations 3
  • 4. Caractéristiques d’une Classe  Visibilité  Public ou + :tout élément qui peut voir la classe courante peut également voir l’élément indiqué  Protected ou # : seul un élément situé dans la classe courante ou un de ses descendants peut voir l’élément indiqué.  Private ou – : seul un élément situé dans la classe courante peut voir l’élément.  Package ou ~ ou rien : seul un élément déclaré dans le même paquetage peut voir l’élément.  Nom de la classe  [ <Nom_du_paquetage_1>:: ... ::<Nom_du_paquetage_N> ] <Nom_de_la_classe> [ 4 {
  • 5. Stéréotypes d’une classe  Le stéréotype est le rôle principal d’une classe  On définit principalement 4 stéréotypes: Entité Contrôleur Interface Acteur 5
  • 6. Attributs  Données encapsulées dans les objets de cette classe  Définis par un nom, un type de données, et une visibilité  A la forme: <visibilité> [/] <nom_attribut> : <type> ['['<multiplicité>']' [{<contrainte>}] ] [ = <valeur_par_déf.> ]  Exemple : + couleur : int [3] {list}  Attribut de classe  Attribut propre à la classe, pas à l’instance(static en java) 6
  • 7. Méthodes  Décrit une fonctionnalité de la classe  Doit contenir un nom, un type de retour et des paramètres  A la forme :  <visibilité> <nom_méthode> ([<paramètre_1>, ... , <paramètre_N>]) : [<type_renvoyé>] [{<propriétés>}]  Un paramètre a la forme :  [<direction>] <nom_paramètre>:<type> ['['<multiplicité>']'] [=<valeur_par_défaut>]  Exemple 7
  • 8. Méthodes abstraites  Ne possède pas d’implémentation  Doit être surchargée  Si on appelle une méthode abstraite qui n’est pas surchargée, on déclenche une erreur  Utilisée si on désire bâtir un squelette d’objet qui a plusieurs descendants devant tous avoir un comportement analogue  Exemple  Dans la classe mère : void print( String message ); //sans implémentation  Pour les descendants : void print( String 8
  • 9. Interfaces  Type particulier de classes  Classe où toutes les méthodes sont abstraites Stéréotype « interface »  Permet de regrouper un ensemble de propriétés et d’opérations assurant un service cohérent  Doit être réalisée (implémentée) par au moins une classe et peut l’être par plusieurs Stéréotype « realize»  Une classe peut dépendre d’une 9
  • 10. Relation d’Association  Relation entre deux classes ou plus décrivant les connexions structurelles entre leurs instances  Relie des classes au même niveau hiérarchique  4 décorations permettent de spécifier le lien entre objets : Nom : nature des relations entre les objets Direction : direction d’application du nom Rôle : rôle spécifique de chacune des classes dans l’association Cardinalité : nombre d’éléments affectés  Exemple 10
  • 11. Relations d’Agrégation et de Composition  Agrégation  Définit une relation hiérarchique entre les entités  Définit la relation : « se compose de » et modélise la notion de « possession » ou de « tout et partie »  Composition  Définit une contenance structurelle entre les instances  La destruction de l’objet composite implique la destruction de ses composants  Une instance du composant appartient au plus à une instance du composite 11 Agrégation Composition
  • 12. Relation de Dépendance  La dépendance établit une relation d’utilisation entre 2 entités d’un même diagramme.  La plupart du temps il s’agit d’une dépendance d’utilisation : Argument d’une méthode par exemple On parle alors de “relation d’utilisation”  Cela permet d’identifier implications possibles des modifications à apporter dans une entité Changement du comportement d’une des classes par exemple Dépendance 12
  • 13. Relation de Généralisation  Modélise la relation d’héritage  La généralisation correspond à la notion “est une sorte de”  Modélisation des relations parents / enfants  Les entités issues d’une généralisation sont utilisables partout ou leur classe mère peut l'être (mais pas l’inverse)  Généralisation (classe, classe) ou (classe, interface)  Cette relation est modélisée par une flèche pointant sur la classe mère 13
  • 14. Classe-Association  Une association peut avoir des propriétés, qui ne sont disponibles dans aucune des classes qu’elle lie On définit alors une classe- Entreprise Personne employé employeur association Poste salaire: float 14
  • 15. Association n-aire  Association qui lie plus que 2 classes  Peu utilisée Gestion des multiplicités délicate Etudiant Enseignant Module 15
  • 16. Les Notes (Commentaires)  Lors des phases de modélisation et de spécification, il est nécessaire de documenter ses modèles : Contraintes matérielles Contraintes de performance Choix techniques réalisés Références à d’autres docs Explications techniques, etc. 16
  • 18. Activité 1 Hôtel  Un hôtel d’au moins deux chambres. Chaque chambre dispose d’une salle d’eau qui peut être une douche ou une salle de bain. L’hôtel héberge par un des employés. L’hôtel a les caractéristiques sui- vantes : une adresse, le nombre de pièces, la catégorie. Une chambre est caractérisée par le nombre et le type de lits, le prix et le numéro. On peut calculer le chiffre d’affaires, le loyer en fonction des 18 occupants.
  • 19. Diagramme d’Objets  Représente des objets (i.e. instances de classes) et leurs liens (i.e. instances de relations) pour donner une vue figée de l’état d’un système à un instant donné  Peut être utilisé pour  illustrer le modèle de classes en montrant un exemple qui explique le modèle  préciser certains aspects du système en mettant en évidence des détails imperceptibles dans le diagramme de classes  exprimer une exception en modélisant des cas particuliers ou des connaissances non généralisables qui ne sont pas modélisés dans 20 un
  • 20. Graphiquement  Un objet est représenté comme une classe, mais le compartiment des méthodes n’est pas indiqué  Le nom de l’objet est composé du nom de l’instance, suivi de celui de la classe, et est souligné  Les attributs reçoivent des valeurs  Si certaines valeurs ne sont pas renseignées, l’objet est partiellement défini  La relation de généralisation n’est jamais représentée 21
  • 22. Activité 2: Bibliothèque  me guerre mondiale », « Les Aventures de Robin Hood », et deux exemplaires de « Harry Potter».  me guerre mondiale » et un exemplaire de « Harry Potter ».  Représenter le diagramme de classes 23