Upload
vuthu
View
223
Download
0
Embed Size (px)
Citation preview
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Génie Logiciel4 - Diagramme de Classes UML
Idir AIT SADOUNE
Plateau du Moulon - Gif sur Yvette - France
1e année CentraleSupelec - Séquence 4
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Objectifs du cours
Apprendre à modéliser les concepts et les entités constituant un système avec UML
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)
Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.
Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.
Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.
Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).
Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.
Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Description de l’organisation des objets dans le systèmes à modéliser (structures etrelations)Les outils offerts par UML pour spécifier la vue statique
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.Diagramme d’objets : décrit les liens entre des instances réelles de classes à momentde l’exécution du système.Diagramme de paquetage : décrit les regroupements des classes et des interfaces.Diagramme de composants : décrit l’organisation (les classes) et les dépendancesentre les composants (services offerts ou utilisés).Diagramme de structure composites : décrit les composants complexes d’un systèmeen terme de combinaisons entre les composants.Diagramme de déploiement : décrit les modalités d’installation et d’exécution d’unsystème.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
La vue statique : diagrammes structurels
Dans ce cours, on va étudier :
Diagramme de classe : décrit les entités (classes et interfaces) constituant le systèmeà modéliser et les relations statiques entre celles-ci.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Plan
1 Classe
2 Association
3 Généralisation/ Spécialisation
4 Classe abstraite et Interface
5 UML vers Java
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
1 - ClasseDéfinition de la Classe en UMLLes éléments de la Classe en UML
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
1 - ClasseDéfinition de la Classe en UMLLes éléments de la Classe en UML
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).En UML, une classe représente un type de classificateur .
Exemple
Une classe : AutomobileDes objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.
Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).En UML, une classe représente un type de classificateur .
Exemple
Une classe : AutomobileDes objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).
En UML, une classe représente un type de classificateur .
Exemple
Une classe : AutomobileDes objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).En UML, une classe représente un type de classificateur .
Exemple
Une classe : AutomobileDes objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).En UML, une classe représente un type de classificateur .
Exemple
Une classe : AutomobileDes objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).En UML, une classe représente un type de classificateur .
Exemple
Une classe : Automobile
Des objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Classe et Objet : définition
Une classe représente un groupe d’objets possédant des états et un comportementcommuns.Une classe peut représenter un concept concret (voiture, facture ...) ou un conceptabstrait (stratégie ...).En UML, une classe représente un type de classificateur .
Exemple
Une classe : AutomobileDes objets : Renault, Peugeot, Volkswagen, ...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Définition d’une classe en UML
En UML, une classe est définie par un cadre rectangulaire comportant 3 zones :
1 Zone contenant le nom de la classe2 Zone contenant les attributs de la classe3 Zone contenant les opérations de la classe
Représentation d’une classe en UML
NomClasse
ListeAttributs
ListeOpérations
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Définition d’une classe en UML
En UML, une classe est définie par un cadre rectangulaire comportant 3 zones :
1 Zone contenant le nom de la classe
2 Zone contenant les attributs de la classe3 Zone contenant les opérations de la classe
Représentation d’une classe en UML
NomClasse
ListeAttributs
ListeOpérations
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Définition d’une classe en UML
En UML, une classe est définie par un cadre rectangulaire comportant 3 zones :
1 Zone contenant le nom de la classe2 Zone contenant les attributs de la classe
3 Zone contenant les opérations de la classe
Représentation d’une classe en UML
NomClasse
ListeAttributs
ListeOpérations
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Définition d’une classe en UML
En UML, une classe est définie par un cadre rectangulaire comportant 3 zones :
1 Zone contenant le nom de la classe2 Zone contenant les attributs de la classe3 Zone contenant les opérations de la classe
Représentation d’une classe en UML
NomClasse
ListeAttributs
ListeOpérations
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Définition d’une classe en UML
En UML, une classe est définie par un cadre rectangulaire comportant 3 zones :
1 Zone contenant le nom de la classe2 Zone contenant les attributs de la classe3 Zone contenant les opérations de la classe
Représentation d’une classe en UML
NomClasse
ListeAttributs
ListeOpérations
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Définition de la Classe en UML
Définition d’une classe en UML
En UML, une classe est définie par un cadre rectangulaire comportant 3 zones :
1 Zone contenant le nom de la classe2 Zone contenant les attributs de la classe3 Zone contenant les opérations de la classe
Représentation d’une classe en UML
NomClasse
ListeAttributs
ListeOpérations
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
1 - ClasseDéfinition de la Classe en UMLLes éléments de la Classe en UML
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs d’une classe UML
Les caractéristiques (propriétés) d’une classe UML sont représentées sous la formed’attributs.Un attribut peut être représenté au moyen de deux notations différentes :
1 en ligne pour des données primitives simples (entiers, réels, ...),2 relation pour exprimer des liens avec d’autres classes (voir la section suivante).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs d’une classe UML
Les caractéristiques (propriétés) d’une classe UML sont représentées sous la formed’attributs.
Un attribut peut être représenté au moyen de deux notations différentes :1 en ligne pour des données primitives simples (entiers, réels, ...),2 relation pour exprimer des liens avec d’autres classes (voir la section suivante).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs d’une classe UML
Les caractéristiques (propriétés) d’une classe UML sont représentées sous la formed’attributs.Un attribut peut être représenté au moyen de deux notations différentes :
1 en ligne pour des données primitives simples (entiers, réels, ...),2 relation pour exprimer des liens avec d’autres classes (voir la section suivante).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs d’une classe UML
Les caractéristiques (propriétés) d’une classe UML sont représentées sous la formed’attributs.Un attribut peut être représenté au moyen de deux notations différentes :
1 en ligne pour des données primitives simples (entiers, réels, ...),
2 relation pour exprimer des liens avec d’autres classes (voir la section suivante).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs d’une classe UML
Les caractéristiques (propriétés) d’une classe UML sont représentées sous la formed’attributs.Un attribut peut être représenté au moyen de deux notations différentes :
1 en ligne pour des données primitives simples (entiers, réels, ...),2 relation pour exprimer des liens avec d’autres classes (voir la section suivante).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs en ligne
La forme générale d’un attribut en ligne dans une classe :visibilité / nom : type multiplicité = valeur-initiale {propriétés}
Les attributs dérivés "/"
C’est un attribut qui peut être calculé à partir d’autres attributs de la classe
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs en ligne
La forme générale d’un attribut en ligne dans une classe :
visibilité / nom : type multiplicité = valeur-initiale {propriétés}
Les attributs dérivés "/"
C’est un attribut qui peut être calculé à partir d’autres attributs de la classe
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs en ligne
La forme générale d’un attribut en ligne dans une classe :visibilité / nom : type multiplicité = valeur-initiale {propriétés}
Les attributs dérivés "/"
C’est un attribut qui peut être calculé à partir d’autres attributs de la classe
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les attributs en ligne
La forme générale d’un attribut en ligne dans une classe :visibilité / nom : type multiplicité = valeur-initiale {propriétés}
Les attributs dérivés "/"
C’est un attribut qui peut être calculé à partir d’autres attributs de la classe
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut[min..max ] : il y a entre min et max fois cet attribut[min..* ] : il y a au moins min fois cet attribut[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut[min..max ] : il y a entre min et max fois cet attribut[min..* ] : il y a au moins min fois cet attribut[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut[min..max ] : il y a entre min et max fois cet attribut[min..* ] : il y a au moins min fois cet attribut[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut
[min..max ] : il y a entre min et max fois cet attribut[min..* ] : il y a au moins min fois cet attribut[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut[min..max ] : il y a entre min et max fois cet attribut
[min..* ] : il y a au moins min fois cet attribut[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut[min..max ] : il y a entre min et max fois cet attribut[min..* ] : il y a au moins min fois cet attribut
[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Visibilité (par défaut public)
+(public), –(private), #(protected), ~(package)
Multiplicité (par défaut 1)
[val ] : il y a val fois cet attribut[min..max ] : il y a entre min et max fois cet attribut[min..* ] : il y a au moins min fois cet attribut[* ] : il y a un nombre indéterminé d’occurrence de cet attribut
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Propriétés
readOnly : valeur constantestatic : attribut partagé entre tous les objets (souligné dans le diagramme UML)unique : si multiplicité > 1, valeurs distinctesordered : si multiplicité > 1, valeurs ordonnées
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Propriétés
readOnly : valeur constante
static : attribut partagé entre tous les objets (souligné dans le diagramme UML)unique : si multiplicité > 1, valeurs distinctesordered : si multiplicité > 1, valeurs ordonnées
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Propriétés
readOnly : valeur constantestatic : attribut partagé entre tous les objets (souligné dans le diagramme UML)
unique : si multiplicité > 1, valeurs distinctesordered : si multiplicité > 1, valeurs ordonnées
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Propriétés
readOnly : valeur constantestatic : attribut partagé entre tous les objets (souligné dans le diagramme UML)unique : si multiplicité > 1, valeurs distinctes
ordered : si multiplicité > 1, valeurs ordonnées
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Propriétés
readOnly : valeur constantestatic : attribut partagé entre tous les objets (souligné dans le diagramme UML)unique : si multiplicité > 1, valeurs distinctesordered : si multiplicité > 1, valeurs ordonnées
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Exemple
Etudiant
–id : Integer {unique}+nom : String–dateNaissance : Date–/age : Integer [0..1]–tel : Integer [5] {ordered}–anneeEtude : Integer = 1– nombreEtudiants : Integer–modulesSuivis : String [1..*] {unique,ordered}–notesModulesSuivis : Double [1..*] {ordered}
...
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.
La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :
visibilité nom (paramètres) : type-retourné {propriétés}Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :
direction nom : type multiplicité = valeur-initiale {propriétés}les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Les opérations d’une classe UML
Une opération permet d’invoquer une fonctionnalité offerte par une classe.La forme générale d’une opération dans une classe :visibilité nom (paramètres) : type-retourné {propriétés}
Un paramètre d’une opération est de la forme :direction nom : type multiplicité = valeur-initiale {propriétés}
les directions sont in (entrée seule sans modification), out (sortie seule) et inout(entrée et sortie).
Remarque
La visibilité et les propriétés ont les mêmes définitions et les mêmes utilisations quedans le cas des attributs.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe
Les éléments de la Classe en UML
Exemple
Etudiant
...–modulesSuivis : String [1..*] {unique,ordered}–notesModulesSuivis : Double [1..*] {ordered}
+getAge() : Integer+setName(in newName : String) : void+getMoyenne() : Double
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
2 - AssociationLes relations d’associationLes associations d’agrégationLes classes d’association
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les attributs d’une classe UML
Les caractéristiques (propriétés) d’une classe UML sont représentées sous la formed’attributs.Un attribut peut être représenté au moyen de deux notations différentes :
1 en ligne pour des données primitives simples (entiers, réels, ...),2 relation pour exprimer des liens avec d’autres classes (voir la section suivante).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
2 - AssociationLes relations d’associationLes associations d’agrégationLes classes d’association
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les relations d’association
Un système est constitué d’un ensemble de classes (d’objets) qui interagissententre elles (des classes avec des relations entre elles).Une relation d’association entre deux classes peut être interprétée par un "... a un...", "... est propriétaire de ..." ou "... est composé de ...".Une relation d’association doit être stable (elle dure dans le temps et elle est nonponctuelle).Il est possible de nommer une relation d’association.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les relations d’association
Un système est constitué d’un ensemble de classes (d’objets) qui interagissententre elles (des classes avec des relations entre elles).
Une relation d’association entre deux classes peut être interprétée par un "... a un...", "... est propriétaire de ..." ou "... est composé de ...".Une relation d’association doit être stable (elle dure dans le temps et elle est nonponctuelle).Il est possible de nommer une relation d’association.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les relations d’association
Un système est constitué d’un ensemble de classes (d’objets) qui interagissententre elles (des classes avec des relations entre elles).Une relation d’association entre deux classes peut être interprétée par un "... a un...", "... est propriétaire de ..." ou "... est composé de ...".
Une relation d’association doit être stable (elle dure dans le temps et elle est nonponctuelle).Il est possible de nommer une relation d’association.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les relations d’association
Un système est constitué d’un ensemble de classes (d’objets) qui interagissententre elles (des classes avec des relations entre elles).Une relation d’association entre deux classes peut être interprétée par un "... a un...", "... est propriétaire de ..." ou "... est composé de ...".Une relation d’association doit être stable (elle dure dans le temps et elle est nonponctuelle).
Il est possible de nommer une relation d’association.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les relations d’association
Un système est constitué d’un ensemble de classes (d’objets) qui interagissententre elles (des classes avec des relations entre elles).Une relation d’association entre deux classes peut être interprétée par un "... a un...", "... est propriétaire de ..." ou "... est composé de ...".Une relation d’association doit être stable (elle dure dans le temps et elle est nonponctuelle).Il est possible de nommer une relation d’association.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Exemple d’une relation d’association
enseignerProfesseur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
La navigabilité dans une association
Une association est par défaut bidirectionnelleUne association peut être orientée (sens de navigation)
Exemple
sa capitalePays Ville
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
La navigabilité dans une association
Une association est par défaut bidirectionnelle
Une association peut être orientée (sens de navigation)
Exemple
sa capitalePays Ville
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
La navigabilité dans une association
Une association est par défaut bidirectionnelleUne association peut être orientée (sens de navigation)
Exemple
sa capitalePays Ville
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
La navigabilité dans une association
Une association est par défaut bidirectionnelleUne association peut être orientée (sens de navigation)
Exemple
sa capitalePays Ville
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les rôles dans une association
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans uneassociation
nom de l’extrémité d’une association
Exemple
est enseigné par enseigneProfesseur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les rôles dans une association
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans uneassociation
nom de l’extrémité d’une association
Exemple
est enseigné par enseigneProfesseur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les rôles dans une association
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans uneassociation
nom de l’extrémité d’une association
Exemple
est enseigné par enseigneProfesseur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les rôles dans une association
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans uneassociation
nom de l’extrémité d’une association
Exemple
est enseigné par enseigneProfesseur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Exemples
sa capitalePays Ville
est responsable de
est sous la responsabilité de
Employé
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Exemples
sa capitalePays Ville
est responsable de
est sous la responsabilité de
Employé
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Multiplicité dans une association
spécifie, dans une association, le nombre d’instance d’une classe qui sont liées àune instance d’une autre classe
1, 0..1, M..N, *, 0..*, 1..*
Exemple
est enseigné par
1..*
enseigne
1..*
Professeur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Multiplicité dans une association
spécifie, dans une association, le nombre d’instance d’une classe qui sont liées àune instance d’une autre classe
1, 0..1, M..N, *, 0..*, 1..*
Exemple
est enseigné par
1..*
enseigne
1..*
Professeur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Multiplicité dans une association
spécifie, dans une association, le nombre d’instance d’une classe qui sont liées àune instance d’une autre classe
1, 0..1, M..N, *, 0..*, 1..*
Exemple
est enseigné par
1..*
enseigne
1..*
Professeur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Multiplicité dans une association
spécifie, dans une association, le nombre d’instance d’une classe qui sont liées àune instance d’une autre classe
1, 0..1, M..N, *, 0..*, 1..*
Exemple
est enseigné par
1..*
enseigne
1..*
Professeur Module
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Exemples
0..1
sa capitale
1
Pays Ville
est responsable de0..*
est sous la responsabilité de
0..1
Employé
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Exemples
0..1
sa capitale
1
Pays Ville
est responsable de0..*
est sous la responsabilité de
0..1
Employé
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les associations n-aires
C’est une association qui relie plus de deux classes
prof
1..* matière1..*
étudiant1..*
Professeur Matière
Étudiant
Cours
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les associations n-aires
C’est une association qui relie plus de deux classes
prof
1..* matière1..*
étudiant1..*
Professeur Matière
Étudiant
Cours
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les relations d’association
Les associations n-aires
C’est une association qui relie plus de deux classes
prof
1..* matière1..*
étudiant1..*
Professeur Matière
Étudiant
Cours
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
2 - AssociationLes relations d’associationLes associations d’agrégationLes classes d’association
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations d’agrégation
Une association d’agrégation est une relation entre classes qui est plus fortequ’une relation d’association classique.Une association d’agrégation peut être traduite par le verbe "posséder"Une association d’agrégation correspond généralement à une relation tout ouparties (composé/composant)
Il y a agrégation si le composé dépend de l’existence de ses composants pour avoirun sens.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations d’agrégation
Une association d’agrégation est une relation entre classes qui est plus fortequ’une relation d’association classique.
Une association d’agrégation peut être traduite par le verbe "posséder"Une association d’agrégation correspond généralement à une relation tout ouparties (composé/composant)
Il y a agrégation si le composé dépend de l’existence de ses composants pour avoirun sens.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations d’agrégation
Une association d’agrégation est une relation entre classes qui est plus fortequ’une relation d’association classique.Une association d’agrégation peut être traduite par le verbe "posséder"
Une association d’agrégation correspond généralement à une relation tout ouparties (composé/composant)
Il y a agrégation si le composé dépend de l’existence de ses composants pour avoirun sens.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations d’agrégation
Une association d’agrégation est une relation entre classes qui est plus fortequ’une relation d’association classique.Une association d’agrégation peut être traduite par le verbe "posséder"Une association d’agrégation correspond généralement à une relation tout ouparties (composé/composant)
Il y a agrégation si le composé dépend de l’existence de ses composants pour avoirun sens.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations d’agrégation
Une association d’agrégation est une relation entre classes qui est plus fortequ’une relation d’association classique.Une association d’agrégation peut être traduite par le verbe "posséder"Une association d’agrégation correspond généralement à une relation tout ouparties (composé/composant)
Il y a agrégation si le composé dépend de l’existence de ses composants pour avoirun sens.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Exemple d’une association d’agrégation
les iténiraires0..*
passe par
2..*
Itinéraire Gare
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations de composition
L’association de composition est une association d’agrégation avec un lien plus fortL’association de composition peut être traduite par le verbe "composer de"
Si on détruit une instance du composé, on détruit tous ses composants
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations de composition
L’association de composition est une association d’agrégation avec un lien plus fort
L’association de composition peut être traduite par le verbe "composer de"Si on détruit une instance du composé, on détruit tous ses composants
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations de composition
L’association de composition est une association d’agrégation avec un lien plus fortL’association de composition peut être traduite par le verbe "composer de"
Si on détruit une instance du composé, on détruit tous ses composants
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Les associations de composition
L’association de composition est une association d’agrégation avec un lien plus fortL’association de composition peut être traduite par le verbe "composer de"
Si on détruit une instance du composé, on détruit tous ses composants
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les associations d’agrégation
Exemple d’une association de composition
son programme
1
son comportement
0..*
Programme Instruction
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les classes d’association
2 - AssociationLes relations d’associationLes associations d’agrégationLes classes d’association
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les classes d’association
Classe d’association
C’est une association possédant un nom, des attributs et des méthodes
étudiants inscrits1..*
modules suivis1..*
Étudiant Module
Évaluation
-note : Integer
+validate() : boolean
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les classes d’association
Classe d’association
C’est une association possédant un nom, des attributs et des méthodes
étudiants inscrits1..*
modules suivis1..*
Étudiant Module
Évaluation
-note : Integer
+validate() : boolean
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Association
Les classes d’association
Classe d’association
C’est une association possédant un nom, des attributs et des méthodes
étudiants inscrits1..*
modules suivis1..*
Étudiant Module
Évaluation
-note : Integer
+validate() : boolean
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
3 - Généralisation/ SpécialisationDéfinitions
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
3 - Généralisation/ SpécialisationDéfinitions
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Définitions
Une relation de généralisation permet d’indiquer qu’une classe constitue un casplus général d’une autre classe.Une relation de généralisation est utilisée pour extraire des propriétés/opérationscommunes à plusieurs classes afin de les regrouper dans une super-classe.A l’inverse, une relation de spécialisation permet de décrire les spécificités d’un casparticulier d’une classe dans une sous-classe (relation "... est un ...").
Remarque
Une sous classe possède, en plus de ses propres propriétés/opérations, lespropriétés/opérations de ses super-classes.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Définitions
Une relation de généralisation permet d’indiquer qu’une classe constitue un casplus général d’une autre classe.
Une relation de généralisation est utilisée pour extraire des propriétés/opérationscommunes à plusieurs classes afin de les regrouper dans une super-classe.A l’inverse, une relation de spécialisation permet de décrire les spécificités d’un casparticulier d’une classe dans une sous-classe (relation "... est un ...").
Remarque
Une sous classe possède, en plus de ses propres propriétés/opérations, lespropriétés/opérations de ses super-classes.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Définitions
Une relation de généralisation permet d’indiquer qu’une classe constitue un casplus général d’une autre classe.Une relation de généralisation est utilisée pour extraire des propriétés/opérationscommunes à plusieurs classes afin de les regrouper dans une super-classe.
A l’inverse, une relation de spécialisation permet de décrire les spécificités d’un casparticulier d’une classe dans une sous-classe (relation "... est un ...").
Remarque
Une sous classe possède, en plus de ses propres propriétés/opérations, lespropriétés/opérations de ses super-classes.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Définitions
Une relation de généralisation permet d’indiquer qu’une classe constitue un casplus général d’une autre classe.Une relation de généralisation est utilisée pour extraire des propriétés/opérationscommunes à plusieurs classes afin de les regrouper dans une super-classe.A l’inverse, une relation de spécialisation permet de décrire les spécificités d’un casparticulier d’une classe dans une sous-classe (relation "... est un ...").
Remarque
Une sous classe possède, en plus de ses propres propriétés/opérations, lespropriétés/opérations de ses super-classes.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Définitions
Une relation de généralisation permet d’indiquer qu’une classe constitue un casplus général d’une autre classe.Une relation de généralisation est utilisée pour extraire des propriétés/opérationscommunes à plusieurs classes afin de les regrouper dans une super-classe.A l’inverse, une relation de spécialisation permet de décrire les spécificités d’un casparticulier d’une classe dans une sous-classe (relation "... est un ...").
Remarque
Une sous classe possède, en plus de ses propres propriétés/opérations, lespropriétés/opérations de ses super-classes.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Exemple
Etudiant Enseignant
Personne
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Généralisation/ Spécialisation
Définitions
Exemple
Personne
Etudiant Salarié
Apprenti Professeur
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
4 - Classe abstraite et InterfaceClasse abstraiteInterfaces
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
4 - Classe abstraite et InterfaceClasse abstraiteInterfaces
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
Définition d’une classe abstraite
Une classe abstraite permet de regrouper des propriétés et des fonctionnalitéscommunes à différents types d’objets.
Une classe abstraite est une classe qui ne peut pas être instanciée
Une classe abstraite peut être une classe dont toutes les méthodes n’ont pas étéimplémentées.
Une classe possédant une méthode abstraite doit être déclarée comme une classeabstraite
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
Définition d’une classe abstraite
Une classe abstraite permet de regrouper des propriétés et des fonctionnalitéscommunes à différents types d’objets.
Une classe abstraite est une classe qui ne peut pas être instanciée
Une classe abstraite peut être une classe dont toutes les méthodes n’ont pas étéimplémentées.
Une classe possédant une méthode abstraite doit être déclarée comme une classeabstraite
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
Définition d’une classe abstraite
Une classe abstraite permet de regrouper des propriétés et des fonctionnalitéscommunes à différents types d’objets.
Une classe abstraite est une classe qui ne peut pas être instanciée
Une classe abstraite peut être une classe dont toutes les méthodes n’ont pas étéimplémentées.
Une classe possédant une méthode abstraite doit être déclarée comme une classeabstraite
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
Définition d’une classe abstraite
Une classe abstraite permet de regrouper des propriétés et des fonctionnalitéscommunes à différents types d’objets.
Une classe abstraite est une classe qui ne peut pas être instanciée
Une classe abstraite peut être une classe dont toutes les méthodes n’ont pas étéimplémentées.
Une classe possédant une méthode abstraite doit être déclarée comme une classeabstraite
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
Définition d’une classe abstraite
Une classe abstraite permet de regrouper des propriétés et des fonctionnalitéscommunes à différents types d’objets.
Une classe abstraite est une classe qui ne peut pas être instanciée
Une classe abstraite peut être une classe dont toutes les méthodes n’ont pas étéimplémentées.
Une classe possédant une méthode abstraite doit être déclarée comme une classeabstraite
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
L’héritage d’une classe abstraite
Une classe qui hérite d’une classe abstraite peut implémenter les méthodesabstraites de la classe mère (sauf si la classe fille est également une classeabstraite).Une classe qui hérite d’une classe abstraite peut ré-implémenter les méthodes déjàimplémentées.
Remarque
En UML, la classe/méthode abstraite est notée en italique
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
L’héritage d’une classe abstraite
Une classe qui hérite d’une classe abstraite peut implémenter les méthodesabstraites de la classe mère (sauf si la classe fille est également une classeabstraite).
Une classe qui hérite d’une classe abstraite peut ré-implémenter les méthodes déjàimplémentées.
Remarque
En UML, la classe/méthode abstraite est notée en italique
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
L’héritage d’une classe abstraite
Une classe qui hérite d’une classe abstraite peut implémenter les méthodesabstraites de la classe mère (sauf si la classe fille est également une classeabstraite).Une classe qui hérite d’une classe abstraite peut ré-implémenter les méthodes déjàimplémentées.
Remarque
En UML, la classe/méthode abstraite est notée en italique
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
L’héritage d’une classe abstraite
Une classe qui hérite d’une classe abstraite peut implémenter les méthodesabstraites de la classe mère (sauf si la classe fille est également une classeabstraite).Une classe qui hérite d’une classe abstraite peut ré-implémenter les méthodes déjàimplémentées.
Remarque
En UML, la classe/méthode abstraite est notée en italique
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Classe abstraite
Exemple
Animal
marcher()manger()
Herbivore
marcher()manger()
Carnivore
marcher()manger()
Cheval
marcher()
Gazelle
marcher()
Lion
marcher()
Tigre
marcher()
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
4 - Classe abstraite et InterfaceClasse abstraiteInterfaces
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Définition d’une interface
Une interface est un classificateur contenant des déclarations de propriétés et deméthodes abstraites assurant un service cohérent.
Une interface est comme une classe abstraite dans laquelle aucune méthode neserait implémentée (donc ne peut pas être instanciée).Une interface permet de définir un ensemble de services sans se préoccuper de leursimplémentations (méthodes abstraites).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Définition d’une interface
Une interface est un classificateur contenant des déclarations de propriétés et deméthodes abstraites assurant un service cohérent.
Une interface est comme une classe abstraite dans laquelle aucune méthode neserait implémentée (donc ne peut pas être instanciée).Une interface permet de définir un ensemble de services sans se préoccuper de leursimplémentations (méthodes abstraites).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Définition d’une interface
Une interface est un classificateur contenant des déclarations de propriétés et deméthodes abstraites assurant un service cohérent.
Une interface est comme une classe abstraite dans laquelle aucune méthode neserait implémentée (donc ne peut pas être instanciée).
Une interface permet de définir un ensemble de services sans se préoccuper de leursimplémentations (méthodes abstraites).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Définition d’une interface
Une interface est un classificateur contenant des déclarations de propriétés et deméthodes abstraites assurant un service cohérent.
Une interface est comme une classe abstraite dans laquelle aucune méthode neserait implémentée (donc ne peut pas être instanciée).Une interface permet de définir un ensemble de services sans se préoccuper de leursimplémentations (méthodes abstraites).
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Implémentation d’une interface
Une interface représente un contrat que doit respecter chaque classe quiimplémente cette interface.
Une classe implémentant une interface doit obligatoirement implémenter toutes lesméthodes déclarées dans l’interface, à moins qu’elle ne soit elle-même déclaréeabstraite !
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Implémentation d’une interface
Une interface représente un contrat que doit respecter chaque classe quiimplémente cette interface.
Une classe implémentant une interface doit obligatoirement implémenter toutes lesméthodes déclarées dans l’interface, à moins qu’elle ne soit elle-même déclaréeabstraite !
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Implémentation d’une interface
Une interface représente un contrat que doit respecter chaque classe quiimplémente cette interface.
Une classe implémentant une interface doit obligatoirement implémenter toutes lesméthodes déclarées dans l’interface, à moins qu’elle ne soit elle-même déclaréeabstraite !
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Exemple
�interface�ObjetPersistant
-OID : Integer
+save() : Boolean+delete() : Boolean+retrieve() : Boolean
Personne
-Nom : String-Prenom : String
+setNom(String n) : void+setPrenom(String p) : void
Etudiant
-NumEtud : Integer
+save() : Boolean+delete() : Boolean+retrieve() : Boolean
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Conclusion : Classe Abstraite vs Interface
La notion d’interface est utilisée pour représenter des propriétés transverses declasses.Là où une classe abstraite doit être étendue et spécialisée, une interface nous ditjuste que telle classe possède telle propriété et assure tel service, indépendammentde ce qu’elle représente.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Conclusion : Classe Abstraite vs Interface
La notion d’interface est utilisée pour représenter des propriétés transverses declasses.
Là où une classe abstraite doit être étendue et spécialisée, une interface nous ditjuste que telle classe possède telle propriété et assure tel service, indépendammentde ce qu’elle représente.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
Classe abstraite et Interface
Interfaces
Conclusion : Classe Abstraite vs Interface
La notion d’interface est utilisée pour représenter des propriétés transverses declasses.Là où une classe abstraite doit être étendue et spécialisée, une interface nous ditjuste que telle classe possède telle propriété et assure tel service, indépendammentde ce qu’elle représente.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
5 - UML vers JavaLes classesLes relationsLes collectionsExemple
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
5 - UML vers JavaLes classesLes relationsLes collectionsExemple
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.
A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;
cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.
A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les classes
Transcription des classes
A chaque classe UML, correspondra une classe Java.A chaque attribut d’une classe UML, correspondra un attribut d’une classe Java.
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
A chaque opération d’une classe UML, correspondra une méthode d’une classeJava.A chaque classe UML abstraite, correspondra une classe Java abstraite.
Remarque
Les visibilités des attributs et des opérations d’une classe UML seront les mêmes dansla classe Java obtenue.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
5 - UML vers JavaLes classesLes relationsLes collectionsExemple
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’associationUn attribut est ajouté uniquement si l’association est navigableLe nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’association
Un attribut est ajouté uniquement si l’association est navigableLe nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’associationUn attribut est ajouté uniquement si l’association est navigable
Le nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’associationUn attribut est ajouté uniquement si l’association est navigableLe nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’associationUn attribut est ajouté uniquement si l’association est navigableLe nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;
cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’associationUn attribut est ajouté uniquement si l’association est navigableLe nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les relations
Transcription des associations
A chaque association UML, correspondra un attribut dans les classesJava participantes à l’associationUn attribut est ajouté uniquement si l’association est navigableLe nom de l’attribut est le nom de l’extrémité navigable
cardinalité ≤ 1 : TypeAttribut nomAttribut ;cardinalité > 1 : Collection<TypeAttribut> nomAttribut ;
La relation de généralisation en UML est traduite par une relation d’héritage enJava.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
5 - UML vers JavaLes classesLes relationsLes collectionsExemple
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les collections en Java
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les attributs de type Collection
Le type de la Collection affecté à un attribut d’une classe Java, dépend despropriétés de l’attribut/association déclarées en UML.
aucune propriété :traduit en Collection (à configurer par l’outil).
possède la propriété ordered :traduit en List.
possède la propriété unique :traduit en Set.
possède les propriétés ordered et unique :traduit en SortedSet.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les attributs de type Collection
Le type de la Collection affecté à un attribut d’une classe Java, dépend despropriétés de l’attribut/association déclarées en UML.
aucune propriété :traduit en Collection (à configurer par l’outil).
possède la propriété ordered :traduit en List.
possède la propriété unique :traduit en Set.
possède les propriétés ordered et unique :traduit en SortedSet.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les attributs de type Collection
Le type de la Collection affecté à un attribut d’une classe Java, dépend despropriétés de l’attribut/association déclarées en UML.
aucune propriété :traduit en Collection (à configurer par l’outil).
possède la propriété ordered :traduit en List.
possède la propriété unique :traduit en Set.
possède les propriétés ordered et unique :traduit en SortedSet.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les attributs de type Collection
Le type de la Collection affecté à un attribut d’une classe Java, dépend despropriétés de l’attribut/association déclarées en UML.
aucune propriété :traduit en Collection (à configurer par l’outil).
possède la propriété ordered :traduit en List.
possède la propriété unique :traduit en Set.
possède les propriétés ordered et unique :traduit en SortedSet.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les attributs de type Collection
Le type de la Collection affecté à un attribut d’une classe Java, dépend despropriétés de l’attribut/association déclarées en UML.
aucune propriété :traduit en Collection (à configurer par l’outil).
possède la propriété ordered :traduit en List.
possède la propriété unique :traduit en Set.
possède les propriétés ordered et unique :traduit en SortedSet.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Les collections
Les attributs de type Collection
Le type de la Collection affecté à un attribut d’une classe Java, dépend despropriétés de l’attribut/association déclarées en UML.
aucune propriété :traduit en Collection (à configurer par l’outil).
possède la propriété ordered :traduit en List.
possède la propriété unique :traduit en Set.
possède les propriétés ordered et unique :traduit en SortedSet.
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Exemple
5 - UML vers JavaLes classesLes relationsLes collectionsExemple
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Exemple
Exemple
vertex*center
1
Shape
+ perimeter() : Double
Circle
-radius Double
+ perimeter() : Double
Polygon
+ perimeter() : Double
Point
-x : Double-y : Double
+distanceTo(p : Point) : Double
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Exemple
Exemple
pub l i c c l a s s Po in t {p r i v a t e double x ;p r i v a t e double y ;
pub l i c double d i s t anceTo ( Po in t au t r e ){re tu rn 0 . 0 ;
}}
pub l i c abs t rac t c l a s s Shape{pub l i c abs t rac t double p e r ime t e r ( ) ;
}
Diagramme de Classes UML Idir AIT SADOUNE<[email protected]>
UML vers Java
Exemple
Exemple (suite)
pub l i c c l a s s C i r c l e extends Shape{p r i v a t e Po in t c e n t e r ;p r i v a t e double r a d i u s ;
pub l i c double p e r ime t e r ( ){re tu rn 0 . 0 ;
}}
pub l i c abs t rac t c l a s s Polygon extends Shape {p r i v a t e Co l l e c t i o n <Point> v e r t e x ;
pub l i c double p e r ime t e r ( ){re tu rn 0 . 0 ;
}}