Académique Documents
Professionnel Documents
Culture Documents
GSTR1 - GM1
R.J.
Printemps 2020
2 UML (suite)
Diagramme de classes
Formalisme
Sachez que UML définit différents niveaux de visibilité pour les attributs
:
– – public (public) : signifie que tout le monde peut avoir accès à l’attribut,
sans aucune restriction.
On représente la visibilité publique par l’ajout du symbole + avant le nom
de l’attribut.
– – protégé (protected) : signifie que cet attribut ne pourra être accessi-
ble que de l’intérieur de sa classe ou d’une classe dérivée.
On représente la visibilité protégée par l’ajout du symbole # avant le nom
de l’attribut.
– – privé (private) : signifie que cet attribut ne pourra être accessible que
de l’intérieur de sa classe ; il est inaccessible en dehors de sa classe.
On représente la visibilité privée par l’ajout du symbole - avant le nom
de l’attribut.
– – package (package) : signifie que l’accès peut être fait de l’intérieur
de n’importe quelle classe déclarée dans le même paquetage que notre
classe.
On représente la visibilité package par l’ajout du symbole ∼ avant le nom
de l’attribut.
– – On peut opter pour une visibilité indéfinie (undefined). Dans ce cas
là, le nom de l’attribut n’est précédé d’aucun symbole.
Une opération (une méthode) est une fonction assurée par la classe en
question.
La déclaration des opérations peut préciser des paramètres en entrée
(arguments) et/ou le type de la valeur de retour.
Le mode de passage d’un paramètre peut être :
– – in : le paramètre transmet l’information vers l’opération ; le paramètre
est rentrant. C’est le comportement par défaut.
– – out : le paramètre transmet l’information depuis l’opération ; le
paramètre est sortant.
– – inout : le paramètre transmet l’information vers et depuis l’opération
; le paramètre est rentrant et sortant.
Sachez que UML définit pour les opérations les niveaux de visibilité :
public, protégé, privé, package et indéfini.
Exemple
Dans le cas général, une association est une relation N-aire (N-ary),
i.e., elle relie plusieurs classes entre elles. Mais le plus souvent les
associations sont juste binaires, i.e., elles relient juste deux classes entre
elles.
Attention : L’association est introduite pour montrer une structure, et non
pour montrer des échanges de données.
Une association N-aire possède N rôles qui sont les points terminaux
de l’association ou terminaisons. Chaque classe qui participe à
l’association joue un rôle.
Notez bien que les rôles peuvent porter un nom ou pas. Notez bien
également qu’une association peut elle aussi porter un nom ou pas.
Exemple 1
Exemple 2
Exemple 3
Une association qui a un/des attribut(s), dite aussi porteuse d’un/d’ at-
tribut(s), est appelée une ”classe association” (class association).
Notez bien qu’une classe association possède également des
opérations.
Une classe peut être associée à elle même, en utilisant une ”association
réflexive”.
Notez bien que lorsqu’une classe est associée à elle même, ceci ne
veut pas dire qu’une instance de cette classe est associée à elle même,
mais plutôt qu’une instance de cette classe est associée à une/plusieurs
autre(s) instance(s) de la classe en fonction de la multiplicité.
Exemple
Exemple
Exemple
Notez bien que l’association avec toutes ses formes est la relation qui
est la plus courante et la plus riche du point de vue sémantique.
Exercice 1
Solution de l’exercice 1
Exemple 1
Exemple 2
Exemple
Exercice 2
Solution de l’exercice 2
Solution de l’exercice 2
Solution de l’exercice 2
Solution de l’exercice 2
Exercice 3
Solution de l’exercice 3