SlideShare une entreprise Scribd logo

Diagramme de classe

I
I

Diagramme de classe

1  sur  44
Télécharger pour lire hors ligne
Le diagramme de classe
Université Mohamed Chérif Messadia
‫ــ‬ Souk-Ahras ‫ــ‬
PRÉPARER PAR :
ILHEM DAOUDI
ABDALLAH AMIRAT
le plan :
1 – Introduction.
2 - Objectifs du diagramme de classe.
3 - Définition d’un diagramme de classe.
4 – les classes.
4.1 - Schéma d’une classe.
4.2 - Les attributs.
4.3 - La visibilité.
4.4 - Exemple d'attributs.
5 - Les méthodes.
6 - Les relations entre les classes.
6.1- Une association.
6.2 – Agrégation.
6.3 – Composition.
6.4 – Généralisation.
6.5 - La dépendance.
7 – Stéréotype.
8 – Exemples.
9 - Méta modèle.
9 – Références.
1- Introduction :
Le diagramme des classes est le diagramme le plus
largement répandu dans les spécifications d'UML. Ces
dernier peuvent produire directement du code source
dans les langage informatique (C++, C #, Phyton, Java
…) via ces modèles (foward engennering). Ou bien
l’inverse (reverse engennering).
Diagramme de classe
2 - Objectifs :
Déterminer les attributs qui seront manipulées par le
système Ces attributs sont organisées en classes .
 Donner la structure statique de ces attributs .
Ce diagramme permet de décrire la structure interne de
chacune des classes •
La navigation parmi les classes est rendue possible par
l’existence d’associations qui les unissent .

Recommandé

Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes umlmeriem sari
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe espritAmine Chahed
 
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_mansouriMansouri Khalifa
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 

Contenu connexe

Tendances

diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesHosni Mansour
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaIlef Ben Slima
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationLilia Sfaxi
 
Plateforme d’e learning
Plateforme d’e learningPlateforme d’e learning
Plateforme d’e learningEl Aber Haythem
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
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 classeamat samiâ boualil
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5YounessLaaouane
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 

Tendances (20)

diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humaines
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben Slima
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
Plateforme d’e learning
Plateforme d’e learningPlateforme d’e learning
Plateforme d’e learning
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
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
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 

En vedette

Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelHassen Sic
 
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élisationNassim Amine
 
Design Patterns in Cocoa Touch
Design Patterns in Cocoa TouchDesign Patterns in Cocoa Touch
Design Patterns in Cocoa TouchEliah Nikans
 
Etude de la vaporisation de l'eau
Etude de la vaporisation de l'eauEtude de la vaporisation de l'eau
Etude de la vaporisation de l'eaufred97166
 
Energie géothermique
Energie géothermiqueEnergie géothermique
Energie géothermiqueSarra Achoura
 
Design patterns - Abstract Factory Pattern
Design patterns  - Abstract Factory PatternDesign patterns  - Abstract Factory Pattern
Design patterns - Abstract Factory PatternAnnamalai Chockalingam
 
Cours 01(métallurgie)
Cours 01(métallurgie)Cours 01(métallurgie)
Cours 01(métallurgie)Rami Jenhani
 
Une Approche d'aide pour l'analyse des besoins informationnels dans les pme
Une Approche d'aide pour l'analyse des besoins informationnels dans les pmeUne Approche d'aide pour l'analyse des besoins informationnels dans les pme
Une Approche d'aide pour l'analyse des besoins informationnels dans les pmeespenel
 
Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...
Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...
Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...Caféine.Studio
 
Nigel Girling launches National Centre for Strategic Leadership
Nigel Girling launches National Centre for Strategic LeadershipNigel Girling launches National Centre for Strategic Leadership
Nigel Girling launches National Centre for Strategic LeadershipChartered Management Institute
 
L'analyse du Besoin, c'est HAS-BEEN
L'analyse du Besoin, c'est HAS-BEENL'analyse du Besoin, c'est HAS-BEEN
L'analyse du Besoin, c'est HAS-BEENVincent HOLLEY
 
Making Sense of API Access Control
Making Sense of API Access ControlMaking Sense of API Access Control
Making Sense of API Access ControlCA API Management
 
E-commerce Use case NFE102
E-commerce Use case NFE102E-commerce Use case NFE102
E-commerce Use case NFE102MRamo2s
 
Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...
Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...
Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...PMI-Montréal
 
Conception et developpement d'une application mobile Android e-location
Conception et developpement d'une application mobile Android e-locationConception et developpement d'une application mobile Android e-location
Conception et developpement d'une application mobile Android e-locationALALSYSE
 

En vedette (20)

7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
 
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
 
Factory Pattern
Factory PatternFactory Pattern
Factory Pattern
 
Design Patterns in Cocoa Touch
Design Patterns in Cocoa TouchDesign Patterns in Cocoa Touch
Design Patterns in Cocoa Touch
 
Etude de la vaporisation de l'eau
Etude de la vaporisation de l'eauEtude de la vaporisation de l'eau
Etude de la vaporisation de l'eau
 
Energie géothermique
Energie géothermiqueEnergie géothermique
Energie géothermique
 
Design patterns - Abstract Factory Pattern
Design patterns  - Abstract Factory PatternDesign patterns  - Abstract Factory Pattern
Design patterns - Abstract Factory Pattern
 
Cours 01(métallurgie)
Cours 01(métallurgie)Cours 01(métallurgie)
Cours 01(métallurgie)
 
Use Case examples
Use Case examplesUse Case examples
Use Case examples
 
Resilient manager-gary-hogman-111025
Resilient manager-gary-hogman-111025Resilient manager-gary-hogman-111025
Resilient manager-gary-hogman-111025
 
Une Approche d'aide pour l'analyse des besoins informationnels dans les pme
Une Approche d'aide pour l'analyse des besoins informationnels dans les pmeUne Approche d'aide pour l'analyse des besoins informationnels dans les pme
Une Approche d'aide pour l'analyse des besoins informationnels dans les pme
 
Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...
Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...
Présentation du rapport intermédiaire de la recherche « MOOC Afrique : Analys...
 
Nigel Girling launches National Centre for Strategic Leadership
Nigel Girling launches National Centre for Strategic LeadershipNigel Girling launches National Centre for Strategic Leadership
Nigel Girling launches National Centre for Strategic Leadership
 
L'analyse du Besoin, c'est HAS-BEEN
L'analyse du Besoin, c'est HAS-BEENL'analyse du Besoin, c'est HAS-BEEN
L'analyse du Besoin, c'est HAS-BEEN
 
Making Sense of API Access Control
Making Sense of API Access ControlMaking Sense of API Access Control
Making Sense of API Access Control
 
Cours thermodynamique
Cours thermodynamiqueCours thermodynamique
Cours thermodynamique
 
E-commerce Use case NFE102
E-commerce Use case NFE102E-commerce Use case NFE102
E-commerce Use case NFE102
 
Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...
Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...
Symposium CONF. 102 L’analyse de la valeur : Processus de gestion des attente...
 
Conception et developpement d'une application mobile Android e-location
Conception et developpement d'une application mobile Android e-locationConception et developpement d'une application mobile Android e-location
Conception et developpement d'une application mobile Android e-location
 

Similaire à Diagramme de classe

diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
dokumen.tips_uml-diagramme-de-classes.pptx
dokumen.tips_uml-diagramme-de-classes.pptxdokumen.tips_uml-diagramme-de-classes.pptx
dokumen.tips_uml-diagramme-de-classes.pptxviyipim509
 
BD Chapitre II MEA(MCD).pptx
BD Chapitre II MEA(MCD).pptxBD Chapitre II MEA(MCD).pptx
BD Chapitre II MEA(MCD).pptxAbdoulayeTraore48
 
Chapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfChapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfZakariaTouyeb
 
Le modèle de données - A. Les concepts
Le modèle de données - A. Les conceptsLe modèle de données - A. Les concepts
Le modèle de données - A. Les conceptsADBS
 
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.pdfBerrySeven
 
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.pdfYasushiTsubakik
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciellauraty3204
 
Chap1lla génèricité.pptx
Chap1lla génèricité.pptxChap1lla génèricité.pptx
Chap1lla génèricité.pptxSana REFAI
 

Similaire à Diagramme de classe (20)

diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
dokumen.tips_uml-diagramme-de-classes.pptx
dokumen.tips_uml-diagramme-de-classes.pptxdokumen.tips_uml-diagramme-de-classes.pptx
dokumen.tips_uml-diagramme-de-classes.pptx
 
Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
BD Chapitre II MEA(MCD).pptx
BD Chapitre II MEA(MCD).pptxBD Chapitre II MEA(MCD).pptx
BD Chapitre II MEA(MCD).pptx
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 
Modèle navigationnel (Mnav)
Modèle navigationnel (Mnav)Modèle navigationnel (Mnav)
Modèle navigationnel (Mnav)
 
Umbel description
Umbel descriptionUmbel description
Umbel description
 
Chapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfChapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdf
 
Le modèle de données - A. Les concepts
Le modèle de données - A. Les conceptsLe modèle de données - A. Les concepts
Le modèle de données - A. Les concepts
 
Java
JavaJava
Java
 
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
 
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
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
Cours de JAVA de base
Cours de JAVA  de baseCours de JAVA  de base
Cours de JAVA de base
 
Les Classe en Java
Les Classe en JavaLes Classe en Java
Les Classe en Java
 
Chap1lla génèricité.pptx
Chap1lla génèricité.pptxChap1lla génèricité.pptx
Chap1lla génèricité.pptx
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Generateur de code java (GenJAVA)
Generateur de code java (GenJAVA)Generateur de code java (GenJAVA)
Generateur de code java (GenJAVA)
 
Design patterns
Design patternsDesign patterns
Design patterns
 

Diagramme de classe

  • 1. Le diagramme de classe Université Mohamed Chérif Messadia ‫ــ‬ Souk-Ahras ‫ــ‬ PRÉPARER PAR : ILHEM DAOUDI ABDALLAH AMIRAT
  • 2. le plan : 1 – Introduction. 2 - Objectifs du diagramme de classe. 3 - Définition d’un diagramme de classe. 4 – les classes. 4.1 - Schéma d’une classe. 4.2 - Les attributs. 4.3 - La visibilité. 4.4 - Exemple d'attributs.
  • 3. 5 - Les méthodes. 6 - Les relations entre les classes. 6.1- Une association. 6.2 – Agrégation. 6.3 – Composition. 6.4 – Généralisation. 6.5 - La dépendance. 7 – Stéréotype. 8 – Exemples. 9 - Méta modèle. 9 – Références.
  • 4. 1- Introduction : Le diagramme des classes est le diagramme le plus largement répandu dans les spécifications d'UML. Ces dernier peuvent produire directement du code source dans les langage informatique (C++, C #, Phyton, Java …) via ces modèles (foward engennering). Ou bien l’inverse (reverse engennering).
  • 6. 2 - Objectifs : Déterminer les attributs qui seront manipulées par le système Ces attributs sont organisées en classes .  Donner la structure statique de ces attributs . Ce diagramme permet de décrire la structure interne de chacune des classes • La navigation parmi les classes est rendue possible par l’existence d’associations qui les unissent .
  • 7. 3 - Définition : Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme fait partie de la partie statique d'UML . Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets.  Les éléments de cet ensemble sont les instances de la classe.
  • 8. 4 - Les classes : Une classe est un ensemble de méthodes et des attributs qui sont liées ensemble par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs tâche simples. Les classes peuvent être liées entre elles avec des relations., chacune de ces relations est représentée par un arc spécifique dans le diagramme de classes.
  • 9. 4.1 - Schéma d'une classe : Une classe est représentée par un rectangle séparée en trois parties : la première partie contient le nom de la classe la seconde contient les attributs de la classe la dernière contient les méthodes de la classe La seconde et la dernière représentent le comportement de la classe.
  • 10. 4.2 - les attributs : La syntaxe d'un attribut est la suivante : Visibilité nomAttribut [multiplicité] : typeAttribut Nom de l'attribut Il ne doit pas comporter d'espaces, de signes de ponctuation ou d'accents. Pour remplacer les espaces, plusieurs conventions existent : on peut utiliser le symbole _ ou changer la première lettre du mot en majuscule (exemple : nom de l'objet peut s'écrire nomObjet ou nom_objet).
  • 11. 4.3 - Visibilité : La notion de visibilité indique qui peut avoir accès à l'attribut. Elle ne peut prendre que 4 valeurs possibles : Caractère Rôle Mot clé Description + accès public public Toutes les autres classes ont accès à cet attribut. # accès protégé protected Seules la classe elle-même et les classes filles (héritage) ont accès à cet attribut. ~ accès package package Classe visible uniquement dans le package. - accès privé private Seule la classe elle-même a accès à cet attribut.
  • 12. //attribut public prenom de type string (chaine de caractères) + prenom : string //attribut privé age de type int (entier) - age : int 4.4 - Exemple d'attributs
  • 13. 5 - Les méthodes :  La syntaxe d'une méthode est la suivante : Visibilité nomFonction(directionParamètreN nomParamètreN : typeParamètreN) : type Retour  Visibilité La notion de visibilité est la même que celle des attributs.  Direction du paramètre Indique si le paramètre est rentrant (in), s'il est sortant (out) ou s'il est rentrant et sortant (inout).  Exemples de méthode //méthode publique getAge() retournant un entier + getAge() : int //méthode protégée calculerAge() prenant comme paramètre dateNaissance de type Date et ne retournant rien (void)
  • 14. 6 - Relations entre les classes: Ces relations ne sont pas exclusives au diagramme de classe, elles peuvent également s'appliquer à l'ensemble des diagrammes statiques. 6.1- Une association: est une relation entre deux classes (association binaire) ou plus (association n-aire), qui décrit les connexions structurelles entre leurs instances. Une association indique donc qu'il peut y avoir des liens entre des instances des classes associées. association binaire
  • 15. 6.1.1- multiplicité : comparable aux cardinalités du système Merise, sert à compter le nombre minimum et maximum d'instances de chaque classe dans la relation liant 2 ou plusieurs classes. association n-aire
  • 16. 6.1.2 - Navigation • Bien que les associations soit bi-directionnelles par défaut, il peut être bon de limiter la navigation à un seul sens. • Les objets de Classe2 sont accessibles à partir de ceux de Classe1 et vice-versa • Si la navigation est restreinte, une flèche indique le sens de navigation • Les objets de la Classe 1 sont accessibles à la classe 2 mais la Classe 2 elle peut pas accédez a la Classe 1
  • 17. 6.1.3 - Association réflexive • Une association peut mettre en jeux deux classes distinctes Mais, elle peut aussi apparaître sur une seule et même classe Dans ce cas précis, l’association est dite réflexive.
  • 18. 6.2 - classe d'association : une classe d'association est une classe qui fait partie d'une relation d'association entre deux autres classes. Vous pouvez rattacher une classe d'association à une relation d'association pour fournir des informations supplémentaires sur la relation. Une classe d'association est identique à d'autres classes et peut contenir des opérations, des attributs, ainsi que d'autres associations.
  • 20. 6.2.1 - Contraintes sur association • D’autres types de contraintes existent sur une association : • Des contraintes prédéfinies : – Les contraintes ensemblistes : {Sous-ensemble} – Les contraintes d’ordonnancement : {Ordonné} – Les contraintes d’exclusion : {Ou - exclusif} Des contraintes spécifiques au moyen du langage OCL (Object Constraint Language).
  • 21. 6.2.1.1 - Association ordonnée • Contraintes sur les associations pour exprimer que les objets sont ordonnés (selon la clé, le nom, la date, etc.). • Cette contrainte est spécifiée par le stéréotype {Ordonné} du côté de la classe dont les instances sont ordonnés. • Le modèle ne spécifie pas comment les objets sont ordonnés Pour décrire comment les objets sont ordonnés on utilise un commentaire en employant la notation graphique suivante :
  • 22. 6.2.2 - Association « ou-exclusif » Un contrat d’assurance concerne une entreprise ou une personne mais pas les deux en même temps.
  • 23. 6.2.3 - Association « sous-ensemble » • C’est une contrainte qui indique qu’une collection est incluse dans une autre collection. • La contrainte est placée à proximité d’une relation de dépendance entre deux associations. • La flèche de la relation de dépendance indique le sens de la contrainte. • Exemple :
  • 24. 4.6.2.4 - Association Qualifiée • Utilisée avec une relation de multiplicité *. • Permet de trier la relation en fonction des valeurs d’un attribut.
  • 25. 6.2 - Agrégation les agrégations indiquent une relation de contenant contenu. Elle décrite par une relation "possède". Une relation d'agrégation est représentée par une ligne avec un "diamant" creux. • L’agrégation représente une association de type ensemble/élément. • L’agrégation ne concerne qu’un seul rôle d’une association.
  • 26. 4.6.2 – Agrégation (2) • Exemple 1 • – Une personne est dans une foule. • – Une foule contient plusieurs personnes. • Exemple 2 (Agrégation partagée) • – Une personne fait partie de plusieurs équipes. • – Une équipe contient plusieurs personnes.
  • 27. 6.3 - Composition Si une classe ne peut pas exister par elle-même, mais doit être un membre d'une autre classe, alors elle possède une relation de composition avec la classe contenant.  Une relation de composition est une relation d’agrégation dans laquelle il existe une contrainte de durée de vie entre la classe ‘composant’ et la ou les ‘composé’.  Autrement dit la suppression de la classe ‘composé’ implique la suppression de des classes ‘composant’. La valeur max de multiplicité du côté du conteneur ne doit pas excéder 1 puisque les objets, instances de la classe des composants, doivent tous appartenir au même objet conteneur.
  • 28. Exemple de Composition et Agrégation Agrégation Composition
  • 29. 6.4 - Généralisation une relation de généralisation est l'équivalent d'une relation d'héritage en terme orientés objet (relation "est-un "). Une relation de généralisation est indiquée par une flèche creuse se dirigeant vers la classe "parent ".
  • 30. 6.5 - La dépendance :  Définition : Une dépendance est une relation unidirectionnelle exprimant une dépendance sémantique entre des éléments du modèle. Elle est représentée par un trait discontinu orienté Relation non structurelle existant entre plusieurs éléments.  Représentation UML: une flèche pointillé éventuellement stéréotypée.  Quatre types de relations de dépendances :  Abstraction: relation entre éléments qui représentent un même concept à différents niveaux d’abstraction ou selon des points de vue distincts.  Liaison: dépendance entre une classe paramétrable (cible) et une classe paramétrée (source).  Permission: l’élément source a le droit d’accéder à l’espace de nommage de l’élément cible.  Utilisation: l’élément source requiert la présence d’un élément cible.
  • 31. 7 – Stéréotype • Un stéréotype permet d’étendre les classes déjà existantes en leur donnant une signification sémantique différente. • Si la classe A est un stéréotype de la classe B, alors A se comporte comme B tout en ayant une signification sémantique différente. • Mécanisme proche de la généralisation/spécialisation sauf qu’il permet le changement de sémantique. • Représentation UML:
  • 32. • Quelques stéréotypes prédéfinis : • énumération: classe définissant un ensemble d’identificateurs formant le domaine de valeur d’un type. • utilitaire: classe réduite au concept de module et qui ne peut être instanciée. • acteur: classe modélisant un ensemble de rôles joués par un acteur. • interface: classe contenant uniquement une description des opérations visibles. • exception: classe modélisant un cas particulier de signal : les exceptions. 7 – Stéréotype (2)
  • 33. 8 - Exemple1 : Considérons l'exemple d'un système vétérinaire. Des animaux de compagnie, comme des chiens ou des oiseaux, sont suivis par leurs propriétaires. Le diagramme suivant modélise une solution potentielle. Considérant que les chiens comme les oiseaux sont "un genre" d'animal, nous utilisons un relation de généralisation.
  • 35. 8- Exemple 2 : Une personne physique peut avoir jusqu'à trois sociétés (personnes morales) qui l'emploient.  Chaque personne physique possède un numéro de sécurité sociale qui l'identifie.  Une voiture a un numéro d'immatriculation. Une voiture est la propriété d'une personne (physique ou morale).  Un emprunt dans une banque peut être demandé pour l'achat d'une voiture.
  • 37. 8 - Exemple 3 :  On veut implanter une base de données pour la gestion des rencontres des tournois de tennis d’une saison donnée, On pourra ainsi déterminer facilement le classement des joueurs au niveau mondial. ON dispose des informations suivantes:  Chaque joueur a un nom et un sexe. Deux joueurs peuvent former une équipe de double.  Un joueur, donnée n’appartient normalement qu’a une équipe, au plus.  Un tournoi est caractérise par son nom et de déroule dans un pays donnée à une date prévue.  On souhaite également stocker la monnaie du pays concerné. A la fin d’un tournoi.  un joueur ou une équipe participant à ce tournoi obtient un score qui reposent le nombre de tours passés dans le tournoi (1er tour vaut 1, 2eme tour vaut 2 points etc.).  On attribue à chaque tournoi un coefficient selon son importance.
  • 39. 8 - Exemple 4 • Un éditeur de documents graphiques supporte le groupement d'objets graphiques. Un document se compose de plusieurs feuilles, chacune contenant des objets graphiques (texte, forme géométrique et groupe d'objets). Un groupe est un ensemble d'objets pouvant contenir d'autres groupes. Un groupe doit contenir au moins deux éléments. Les formes géométriques comprennent les cercles, les ellipses, les rectangles, les carrés, les lignes...
  • 41. 9 - Méta modèle : Nous venons de voir que les modèles étaient des représentations de l’information nécessaire à la production et à l’évolution des applications informatiques.  Le méta-modèle permet de définir la sémantique des modèles qui vont être créés. Ils se placent dans le niveau 2 de l’architecture de méta modélisation définie par l’OMG.  Le Méta-Modèle est représenté sous forme d’un diagramme de classe UML  Ils permettent d’associer des traitements aux modèles grâce notamment aux méta-opérations  des méta classes.
  • 43. 10 -Références: • http://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-classes • http://slauncha.dyndns.org/ • http://uml.free.fr/cours/i-p14.html • https://msdn.microsoft.com/fr-fr/library/dd323862.aspx • http://www.eyrolles.com/Chapitres/9782212115390/chap2_Blanc.pdf • Livre : Analyse et Conception avec UML. • Livre : Introduction à UML Jean-Yves Didier unversity d'évary .