Diagramme de Classe Flashcards

1
Q

Qu’est-ce-qu’un diagramme de classes ?

A

Le diagramme de classe est un diagramme structurel (statique) qui permet de représenter :
- les classes (attributs + méthodes)
- les associations (relations) entre les classes
C’est le plus important de tous les diagrammes, le seul obligatoire lors de la modélisation d’un système.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quels sont les différents types de visibilité (encapsulation) des méthodes et attributs ?

A
  • public
  • private
  • protected
  • package
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Définir le type de visibilité public et donner son signe à placer devant l’attribut ou la méthode :

A
  • Elément non encapsulé visible par tous

- signe : + (plus)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Définir le type de visibilité private et donner son signe à placer devant l’attribut ou la méthode :

A
  • Elément encapsulé visible seulement dans la classe

- signe : - (moins)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Définir le type de visibilité protected et donner son signe à placer devant l’attribut ou la méthode :

A
  • Elément encapsulé visible dans la classe et dans les sous-classes
  • signe : # (hashtag, dièse)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Définir le type de visibilité package et donner son signe à placer devant l’attribut ou la méthode :

A
  • Elément encapsulé visible dans les classes du même package

- signe : ~ (tilde)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

la déclaration de méthode suivante est-elle correcte :

“+void régler(int heures, int minutes) / Si fausse, donner la bonne déclaration

A

Fausse, la bonne déclaration est la suivant :

“+regler(heures : int, minutes : int) : void

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que veut dire l’acronyme OCL et que désigne-t-il ?

A
  • Object Contraint Language

- Langage spécialement conçu pour exprimer des contraintes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce-qu’une contrainte ?

A

Une contrainte est une condition écrite entre deux accolades, elle peut être exprimé dans :

  • un langage naturel (description textuelle)
  • un langage formel (c++, java…)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que veut-dire la contrainte {readOnly} ?

A

La valeur de l’attribut ne peut plus être modifiée (constante)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que veut-dire la contrainte {query} ?

A

Une méthode peut être déclarée comme requête (query) si son code ne modifie pas l’état de l’objet (aucun de ses attributs).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que veut-dire les contraintes {ordered} et {list} ?

A

Lorsqu’une multiplicité supérieure à 1 est précisée, on précise si les valeurs sont ordonnées (ordered) ou pas (list).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que veut-dire la contrainte {unique} ?

A

On demande qu’il n’y ait aucun doublon dans les valeurs de la collection.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Que veut-dire la contrainte {not null} ?

A

L’attribut doit être obligatoirement initialisé²

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Définir les particularités de la relation de dépendance entre classes :

A
  • La forme la plus faible de relation entre classes.
  • Signifie que l’une des deux utilise l’autre.
  • Relation transitoire, la relation n’est pas conservée à terme, on parle de liaison ponctuelle.
  • Elle est représentée par un trait discontinu orienté de la classe qui utilise vers la classe utilisée.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Définir les particularités de la relation d’association entre classes :

A
  • Signifie qu’une classe contiendra une référence (ou pointeur) de l’objet de la classe associée sous la forme d’un attribut.
  • Relation plus forte
  • Indique qu’une classe est en relation avec une autre pendant un certain laps de temps.
  • Représentée par un trait continu, permet la navigation d’une instance vers l’autre.
17
Q

Comment détailler une association (7 détails)?

A
  • Lui donner un nom
  • Lui donner un rôle
  • Lui donner une multiplicité (cardinalité)
  • Préciser sa navigabilité
  • Si elle réflexives (ou récursive)
  • Préciser les contraintes
  • Préciser sa qualification
18
Q

A quoi sert-il de préciser un nom pour l’association ?

A

Permet d’informer de l’intérêt de la relation. Il peut être suivi d’une flèche précisant le sens de lecture.

19
Q

A quoi sert-il de préciser un rôle pour l’association ?

A

Indique la manière dont l’objet est vu de l’autre côté de l’association

20
Q

En quoi nous informent les multiplicités (cardinalités) ?

A

Indiquer le nombre d’instances (d’une classe donnée) quoi sont impliquées dans la relation.

21
Q

La navigation des associations est unidirectionnelle par défaut … Vrai ou Faux ?

A

C’est faux, elle est bidirectionnelle.