SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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).
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 .
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.
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.
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.
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).
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.
//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
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)
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
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
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
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.
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.
Exemple
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).
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 :
6.2.2 - Association « ou-exclusif »
Un contrat d’assurance concerne une entreprise ou une personne
mais pas les deux en même temps.
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 :
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.
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.
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.
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.
Exemple de Composition et Agrégation
Agrégation
Composition
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 ".
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.
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:
• 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)
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.
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.
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.
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...
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.
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 .
Diagramme de classe

Weitere ähnliche Inhalte

Was ist angesagt?

Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes umlmeriem sari
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisationaminooovich
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
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
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
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
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionLilia Sfaxi
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 

Was ist angesagt? (20)

Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes uml
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisation
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyseGénie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
 
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
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
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 des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
UML Diagrammes Statiques
UML Diagrammes StatiquesUML Diagrammes Statiques
UML Diagrammes Statiques
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 

Andere mochten auch

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
 
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
 

Andere mochten auch (20)

Diagrammes de classes
Diagrammes de classesDiagrammes de classes
Diagrammes de classes
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
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
 
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...
 

Ähnlich wie Diagramme de classe

Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
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
 
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
 
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.pptxMisaha2
 
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
 

Ähnlich wie Diagramme de classe (20)

Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
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 mansouri
 
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
 
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
 
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
 

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).
  • 5.
  • 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.
  • 34.
  • 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.
  • 36.
  • 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.
  • 38.
  • 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...
  • 40.
  • 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.
  • 42.
  • 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 .