Diagramme de classes UML - Idir AIT SADOUNE

Transcription

Diagramme de classes UML - Idir AIT SADOUNE
Diagramme de
classes UML
Génie Logiciel
4 - Diagramme de classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
Idir AIT SADOUNE
Classe abstraite
UML vers Java
CentraleSupélec - Département Informatique
3, rue Joliot-Curie, 91192 Gif-sur-Yvette cedex
<http://idir.aitsadoune.free.fr>
<[email protected]>
Année scolaire 2015-2016, Séquence 4
1/34
La vue statique
2/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
La vue statique d’UML permet de décrire la structure du système
I
I
I
classes avec attributs (état), opérations (comportement)
relations entre classes
objets et liens (un état particulier)
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
La vue statique
2/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
La vue statique d’UML permet de décrire la structure du système
I
I
I
I
classes avec attributs (état), opérations (comportement)
relations entre classes
objets et liens (un état particulier)
Les moyens disponibles dans UML pour la vue statique
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
La vue statique
2/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
La vue statique d’UML permet de décrire la structure du système
I
I
I
I
classes avec attributs (état), opérations (comportement)
relations entre classes
objets et liens (un état particulier)
Les moyens disponibles dans UML pour la vue statique
I
Diagramme de classe : décrit une abstraction du système à l’aide de classes
et des relations (description conceptuelle)
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
La vue statique
2/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
La vue statique d’UML permet de décrire la structure du système
I
I
I
I
classes avec attributs (état), opérations (comportement)
relations entre classes
objets et liens (un état particulier)
Les moyens disponibles dans UML pour la vue statique
I
I
Diagramme de classe : décrit une abstraction du système à l’aide de classes
et des relations (description conceptuelle)
Diagramme d’objet : décrit l’état du système à un moment donné avec des
objets et des liens (une instance du diagramme de classe)
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
La vue statique
2/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
La vue statique d’UML permet de décrire la structure du système
I
I
I
I
classes avec attributs (état), opérations (comportement)
relations entre classes
objets et liens (un état particulier)
Les moyens disponibles dans UML pour la vue statique
I
I
I
Diagramme de classe : décrit une abstraction du système à l’aide de classes
et des relations (description conceptuelle)
Diagramme d’objet : décrit l’état du système à un moment donné avec des
objets et des liens (une instance du diagramme de classe)
et les diagrammes de structure composite, de paquetage, de composant
et de déploiement...
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Plan
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe
Association
Généralisation/ Spécialisation
Classe abstraite
UML vers Java
3/34
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Plan
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe
Association
Généralisation/ Spécialisation
Classe abstraite
UML vers Java
4/34
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classe en UML
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe et Objet : définition
I
La classe est le moule (type) permettant de créer des objets (instances)
appartenant à cette classe.
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
5/34
Classe en UML
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe et Objet : définition
I
Association
La classe est le moule (type) permettant de créer des objets (instances)
appartenant à cette classe.
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classe en UML
NomClass
attributs
opérations
5/34
Attributs
6/34
Diagramme de
classes UML
I. Ait Sadoune
I
La forme générale d’un attribut d’une classe :
[visibilité] nom [ : type] [multiplicité] [= valeur-initiale] [propriétés]
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Attributs
6/34
Diagramme de
classes UML
I. Ait Sadoune
I
I
La forme générale d’un attribut d’une classe :
[visibilité] nom [ : type] [multiplicité] [= valeur-initiale] [propriétés]
visibilité (par défaut public) :
I
+(public), -(private), #(protected), ~(package)
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Attributs
6/34
Diagramme de
classes UML
I. Ait Sadoune
I
I
La forme générale d’un attribut d’une classe :
[visibilité] nom [ : type] [multiplicité] [= valeur-initiale] [propriétés]
visibilité (par défaut public) :
I
I
+(public), -(private), #(protected), ~(package)
multiplicité (par défaut 1) :
I
I
I
[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
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Attributs
Diagramme de
classes UML
I. Ait Sadoune
I
I
La forme générale d’un attribut d’une classe :
[visibilité] nom [ : type] [multiplicité] [= valeur-initiale] [propriétés]
visibilité (par défaut public) :
I
I
multiplicité (par défaut 1) :
I
I
I
I
[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
propriétés
I
I
I
I
6/34
+(public), -(private), #(protected), ~(package)
readOnly : valeur constante pour l’objet
static : attribut commun à tous les objets
unique : si multiplicité > 1, valeurs distinctes
ordered : si multiplicité > 1, valeurs ordonnées
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Attributs
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Exemple
Généralisation/
Spécialisation
Individu
-id : Integer {unique}
nom : String
-date_naissance
+age : Integer [0..1]
+tel : Integer [0..*] {ordered}
statut : String = “étudiant”
7/34
Classe abstraite
UML vers Java
Opérations
8/34
Diagramme de
classes UML
I. Ait Sadoune
I
La forme générale d’une opération dans une classe :
[visibilité] nom [(liste-paramètres)] [ : type-retour] [propriétés]
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Opérations
8/34
Diagramme de
classes UML
I. Ait Sadoune
I
I
La forme générale d’une opération dans une classe :
[visibilité] nom [(liste-paramètres)] [ : type-retour] [propriétés]
visibilité (par défaut public) :
I
+(public), -(private), #(protected), ~(package)
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Opérations
8/34
Diagramme de
classes UML
I. Ait Sadoune
I
I
La forme générale d’une opération dans une classe :
[visibilité] nom [(liste-paramètres)] [ : type-retour] [propriétés]
visibilité (par défaut public) :
I
I
+(public), -(private), #(protected), ~(package)
La liste des paramètres est de la forme :
[direction] nom : type [= valeur-par-défaut]
I
Les directions sont in, out et inout (entrée seule sans modification, sortie
seule, entrée et sortie).
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Opérations
Diagramme de
classes UML
I. Ait Sadoune
I
I
La forme générale d’une opération dans une classe :
[visibilité] nom [(liste-paramètres)] [ : type-retour] [propriétés]
visibilité (par défaut public) :
I
I
La liste des paramètres est de la forme :
[direction] nom : type [= valeur-par-défaut]
I
I
Les directions sont in, out et inout (entrée seule sans modification, sortie
seule, entrée et sortie).
propriétés
I
I
I
I
8/34
+(public), -(private), #(protected), ~(package)
readOnly : valeur constante pour l’objet
static : attribut commun à tous les objets
unique : si multiplicité > 1, valeurs distinctes
ordered : si multiplicité > 1, valeurs ordonnées
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Opérations
Diagramme de
classes UML
I. Ait Sadoune
Classe
Exemple
Association
Individu
Généralisation/
Spécialisation
Classe abstraite
-id : Integer {unique}
nom : String
-date_naissance
+age : Integer [0..1]
+tel : Integer [0..*] {ordered}
statut : String = “étudiant”
+getAge() : Integer
+setAge(in newAge : Integer) : void
9/34
UML vers Java
Plan
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe
Association
Généralisation/ Spécialisation
Classe abstraite
UML vers Java
10/34
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
Un système est constitué d’un ensemble de classes qui interagissent entre
elles (en relation).
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
11/34
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
I
11/34
Un système est constitué d’un ensemble de classes qui interagissent entre
elles (en relation).
Association
Une relation d’association entre deux classes doit être stable (elle dure dans
le temps et elle est non ponctuelle).
Classe abstraite
Généralisation/
Spécialisation
UML vers Java
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
I
I
11/34
Un système est constitué d’un ensemble de classes qui interagissent entre
elles (en relation).
Association
Une relation d’association entre deux classes doit être stable (elle dure dans
le temps et elle est non ponctuelle).
Classe abstraite
Il est possible de nommer une relation d’association.
Généralisation/
Spécialisation
UML vers Java
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
I
I
Un système est constitué d’un ensemble de classes qui interagissent entre
elles (en relation).
Association
Une relation d’association entre deux classes doit être stable (elle dure dans
le temps et elle est non ponctuelle).
Classe abstraite
Il est possible de nommer une relation d’association.
Exemple
Professeur
11/34
enseigne
Module
Généralisation/
Spécialisation
UML vers Java
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
Une association est par défaut bidirectionnelle
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
12/34
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
Une association est par défaut bidirectionnelle
I
Une association peut être orientée (sens de navigation)
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
12/34
Les relations d’association
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
Une association est par défaut bidirectionnelle
I
Une association peut être orientée (sens de navigation)
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Exemple
Pays
12/34
est la capitale
Ville
Le rôle dans une association
13/34
Diagramme de
classes UML
I. Ait Sadoune
I
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans
l’association
I
I
nom de l’extrémité d’une association
indispensable pour les associations réflexives
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Le rôle dans une association
Diagramme de
classes UML
I. Ait Sadoune
I
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans
l’association
I
I
Association
nom de l’extrémité d’une association
indispensable pour les associations réflexives
Généralisation/
Spécialisation
Exemple
13/34
Classe
Classe abstraite
UML vers Java
Professeur
enseigne
est enseigné par
Module
Le rôle dans une association
Diagramme de
classes UML
I. Ait Sadoune
I
En plus du nom, nous pouvons définir le rôle que joue chaque classe dans
l’association
I
I
Classe
Association
nom de l’extrémité d’une association
indispensable pour les associations réflexives
Généralisation/
Spécialisation
Exemple
Classe abstraite
UML vers Java
Professeur
enseigne
est enseigné par
Module
est sous la responsabilité de
Employé
est responsable de
13/34
Multiplicité
14/34
Diagramme de
classes UML
I. Ait Sadoune
I
spécifie combien d’instance d’une classe sont liées à une instance d’une autre
classe
I
1, 0..1, M..N, *, 0..*, 1..*
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Multiplicité
Diagramme de
classes UML
I. Ait Sadoune
I
spécifie combien d’instance d’une classe sont liées à une instance d’une autre
classe
I
Association
1, 0..1, M..N, *, 0..*, 1..*
Généralisation/
Spécialisation
Exemple
14/34
Classe
Classe abstraite
Professeur
enseigne
est enseigné par
1..*
0..*
Module
UML vers Java
Multiplicité
Diagramme de
classes UML
I. Ait Sadoune
I
spécifie combien d’instance d’une classe sont liées à une instance d’une autre
classe
I
Classe
Association
1, 0..1, M..N, *, 0..*, 1..*
Généralisation/
Spécialisation
Exemple
Classe abstraite
Professeur
enseigne
est enseigné par
1..*
0..*
Module
est sous la responsabilité de
0..1
0..* Employé
est responsable de
14/34
UML vers Java
Associations n-aires
15/34
Diagramme de
classes UML
I. Ait Sadoune
I
C’est une association qui relie plus de deux classes
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Associations n-aires
Diagramme de
classes UML
I. Ait Sadoune
I
Classe
C’est une association qui relie plus de deux classes
Association
Exemple
Généralisation/
Spécialisation
Classe abstraite
Étudiant
UML vers Java
0..* assiste
Professeur enseigne
0..*
15/34
0..*
assuré
Module
Classe d’Association
16/34
Diagramme de
classes UML
I. Ait Sadoune
I
Un attribut (une méthode) d’une relation est un attribut (une méthode) qui
caractérise la relation
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classe d’Association
Diagramme de
classes UML
I. Ait Sadoune
I
Un attribut (une méthode) d’une relation est un attribut (une méthode) qui
caractérise la relation
Classe
Association
Généralisation/
Spécialisation
Exemple
Classe abstraite
Évaluation
UML vers Java
note : Integer
validate() : boolean
Étudiant
16/34
Module
Agrégation
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
Une relation d’agrégation est un cas particulier de relation d’association.
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
17/34
Agrégation
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
Une relation d’agrégation est un cas particulier de relation d’association.
Association
I
Elle représente un lien de subordination correspondant au verbe “possède”
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
17/34
Agrégation
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
Une relation d’agrégation est un cas particulier de relation d’association.
Association
I
Elle représente un lien de subordination correspondant au verbe “possède”
Elle correspond généralement à une relation tout ou parties
(composé/composant)
Généralisation/
Spécialisation
I
I
17/34
Il y a agrégation si le tout dépend de l’existence de ses parties pour avoir un
sens.
Classe abstraite
UML vers Java
Agrégation
Diagramme de
classes UML
I. Ait Sadoune
Classe
I
Une relation d’agrégation est un cas particulier de relation d’association.
Association
I
Elle représente un lien de subordination correspondant au verbe “possède”
Elle correspond généralement à une relation tout ou parties
(composé/composant)
Généralisation/
Spécialisation
I
I
Il y a agrégation si le tout dépend de l’existence de ses parties pour avoir un
sens.
Exemple
Itinéraire
Gare
2..*
17/34
Classe abstraite
UML vers Java
Composition
18/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
La composition est une agrégation avec un lien plus fort
I
Si on détruit une instance d’une classe, on détruit tout ses composants
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Composition
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
La composition est une agrégation avec un lien plus fort
I
I
18/34
Si on détruit une instance d’une classe, on détruit tout ses composants
Elle représente un lien correspondant au verbe “est composé de”
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Composition
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
La composition est une agrégation avec un lien plus fort
I
I
Si on détruit une instance d’une classe, on détruit tout ses composants
Elle représente un lien correspondant au verbe “est composé de”
Exemple
Paragraphe
Phrase
1..*
18/34
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Plan
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe
Association
Généralisation/ Spécialisation
Classe abstraite
UML vers Java
19/34
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Définitions
20/34
Diagramme de
classes UML
I. Ait Sadoune
I
Généralisation : factoriser les propriétés/opérations de plusieurs classes dans
une super-classe.
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Définitions
Diagramme de
classes UML
I. Ait Sadoune
I
I
Généralisation : factoriser les propriétés/opérations de plusieurs classes dans
une super-classe.
Spécialisation : capturer les particularités des instances d’une sous-classe.
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
20/34
Définitions
Diagramme de
classes UML
I. Ait Sadoune
I
I
Généralisation : factoriser les propriétés/opérations de plusieurs classes dans
une super-classe.
Spécialisation : capturer les particularités des instances d’une sous-classe.
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
Personne
Etudiant
20/34
UML vers Java
Définitions
Diagramme de
classes UML
I. Ait Sadoune
I
I
Généralisation : factoriser les propriétés/opérations de plusieurs classes dans
une super-classe.
Spécialisation : capturer les particularités des instances d’une sous-classe.
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
Personne
Etudiant
I
20/34
Une sous classe possède les propriétés/opérations de ses super-classes.
UML vers Java
Exemple
Diagramme de
classes UML
I. Ait Sadoune
Personne
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Etudiant
Salarié
Apprenti
21/34
Professeur
Contraintes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
I
Ce sont des propriétés concernant les liens de généralisations
Classe abstraite
UML vers Java
22/34
Contraintes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
I
I
Ce sont des propriétés concernant les liens de généralisations
Représentées par la contrainte entre accolades : {contrainte}
I
22/34
disjoint : les ensembles formés par les instances des classes filles sont disjoints
Classe abstraite
UML vers Java
Contraintes
22/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
I
I
Ce sont des propriétés concernant les liens de généralisations
Représentées par la contrainte entre accolades : {contrainte}
I
I
disjoint : les ensembles formés par les instances des classes filles sont disjoints
overlapping : les ensembles formés par les instances des classes filles se
recouvrent
Classe abstraite
UML vers Java
Contraintes
22/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
I
I
Ce sont des propriétés concernant les liens de généralisations
Représentées par la contrainte entre accolades : {contrainte}
I
I
I
disjoint : les ensembles formés par les instances des classes filles sont disjoints
overlapping : les ensembles formés par les instances des classes filles se
recouvrent
complete : les ensembles formés par les instances des classes filles forment
l’ensemble des instances de la classe mère
Classe abstraite
UML vers Java
Contraintes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Exemple
Association
Généralisation/
Spécialisation
Personne
Classe abstraite
UML vers Java
{disjoint}
Homme
23/34
Femme
Contraintes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Exemple
Association
Généralisation/
Spécialisation
Animal
Classe abstraite
UML vers Java
{overlapping}
Herbivore
24/34
Quadrupede
Contraintes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Exemple
Association
Généralisation/
Spécialisation
Personne
Classe abstraite
UML vers Java
{complete}
Homme
25/34
Femme
Plan
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe
Association
Généralisation/ Spécialisation
Classe abstraite
UML vers Java
26/34
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Définitions
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
I
Une classe abstraite est une classe qui ne peut pas être instanciée
Classe abstraite
UML vers Java
27/34
Définitions
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
27/34
I
Une classe abstraite est une classe qui ne peut pas être instanciée
Classe abstraite
I
Toute classe qui possède une méthode abstraite doit être abstraite
UML vers Java
Définitions
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
27/34
I
Une classe abstraite est une classe qui ne peut pas être instanciée
Classe abstraite
I
Toute classe qui possède une méthode abstraite doit être abstraite
UML vers Java
I
Une classe abstraite n’a d’intérêt que parce qu’elle possède des classes filles
Définitions
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
I
Une classe abstraite est une classe qui ne peut pas être instanciée
Classe abstraite
I
Toute classe qui possède une méthode abstraite doit être abstraite
UML vers Java
I
Une classe abstraite n’a d’intérêt que parce qu’elle possède des classes filles
Remarque
I
27/34
La classe/méthode abstraite est notée en italique
Exmple
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Animal
Généralisation/
Spécialisation
Classe abstraite
seNourir()
28/34
UML vers Java
Herbivore
Carnivore
seNourir()
seNourir()
Plan
Diagramme de
classes UML
I. Ait Sadoune
Classe
Classe
Association
Généralisation/ Spécialisation
Classe abstraite
UML vers Java
29/34
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Classes
30/34
I
A chaque classe UML correspond une classe Java
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Classes
30/34
I
I
A chaque classe UML correspond une classe Java
Chaque attribut de la classe UML sera un attribut de la classe Java
I
I
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Classes
30/34
I
I
A chaque classe UML correspond une classe Java
Chaque attribut de la classe UML sera un attribut de la classe Java
I
I
I
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
la visibilité de la propriété est la visibilité de l’attribut
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Classes
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Classes
I
I
A chaque classe UML correspond une classe Java
Chaque attribut de la classe UML sera un attribut de la classe Java
I
I
I
I
la visibilité de la propriété est la visibilité de l’attribut
Chaque opération de la classe UML sera une méthode de la classe Java
I
30/34
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
le sens de l’argument de l’opération est non retranscrit
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Associations
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Associations
31/34
I
Les associations sont traduites par des attributs dans les classes reliées
I
I
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Associations
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Associations
31/34
I
Les associations sont traduites par des attributs dans les classes reliées
I
I
I
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
Un attribut est ajouté uniquement si l’association est navigable
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Associations
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Associations
31/34
I
Les associations sont traduites par des attributs dans les classes reliées
I
I
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
I
Un attribut est ajouté uniquement si l’association est navigable
I
Le nom de l’attribut est le nom de l’extrémité navigable
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Associations
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Transcription des Associations
I
Les associations sont traduites par des attributs dans les classes reliées
I
I
31/34
cardinalité ≤ 1 : une variable
cardinalité > 1 : un ensemble de variables
I
Un attribut est ajouté uniquement si l’association est navigable
I
Le nom de l’attribut est le nom de l’extrémité navigable
I
Contraintes en général non retranscrite
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les ensembles de variables
32/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
L’ensemble de variables sera traduit par RSA en différents ensemble suivant
les propriétés de l’attribut/association.
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les ensembles de variables
32/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
L’ensemble de variables sera traduit par RSA en différents ensemble suivant
les propriétés de l’attribut/association.
I
aucune propriété supplémentaire :
I
traduit en Collection.
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les ensembles de variables
32/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
L’ensemble de variables sera traduit par RSA en différents ensemble suivant
les propriétés de l’attribut/association.
I
aucune propriété supplémentaire :
I
I
traduit en Collection.
possède la propriété ordered :
I
traduit en List.
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les ensembles de variables
32/34
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
L’ensemble de variables sera traduit par RSA en différents ensemble suivant
les propriétés de l’attribut/association.
I
aucune propriété supplémentaire :
I
traduit en Collection.
I
possède la propriété ordered :
I
possède la propriété unique :
I
I
traduit en List.
traduit en Set.
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les ensembles de variables
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
I
L’ensemble de variables sera traduit par RSA en différents ensemble suivant
les propriétés de l’attribut/association.
I
aucune propriété supplémentaire :
I
I
possède la propriété ordered :
I
possède la propriété unique :
I
I
I
traduit en List.
traduit en Set.
possède les propriétés ordered et unique :
I
32/34
traduit en Collection.
traduit en SortedSet.
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
Les ensembles en Java
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
Classe abstraite
UML vers Java
33/34
L’Héritage et les classes abstraites
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
Transcription des Généralisations/Spécialisations
Classe abstraite
UML vers Java
I
34/34
La relation de généralisation est traduite par une relation d’héritage en Java
L’Héritage et les classes abstraites
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
Transcription des Généralisations/Spécialisations
Classe abstraite
UML vers Java
I
La relation de généralisation est traduite par une relation d’héritage en Java
I
34/34
Attention : problème si héritage multiple
L’Héritage et les classes abstraites
Diagramme de
classes UML
I. Ait Sadoune
Classe
Association
Généralisation/
Spécialisation
Transcription des Généralisations/Spécialisations
Classe abstraite
UML vers Java
I
La relation de généralisation est traduite par une relation d’héritage en Java
I
I
34/34
Attention : problème si héritage multiple
L’abstraction est traduite directement d’UML vers Java