social

le diagramme de classes

1. Définissez le diagramme de classes.
2. Définissez la notion d'encapsulation et de visibilité dans le contexte UML, et spécifiez la relation entre ces deux notions.
3. Quelles sont les visibilités qu'on peut associer à un attribut d'une classe? Précisez pour chacune la notation UML correspondante.
4. Qu'est ce qu'une classe abstraite? Quelle est la différence entre une classe abstraite est une interface?
5. Définissez une classe active et précisez sa représentation graphique.
6. Donnez la définition des terminologies suivantes:           
a. attribut de classe           b. attribut dérivé          c. méthode de classe           d. opération surchargée           e. méthode abstraite 
7. Quels sont les différents types de relation qui peuvent exister entre deux classes?

Solution:

1. Le diagramme de classes est une vue statique de la modélisation objet, il montre la structure interne d'un système en modélisant les concepts du domaine d'application.
En fait, il décortique le système étudié en plusieurs classes. Une classe est une description formelle d'un ensemble d'objets ayant une même sémantique et des caractéristiques communes. Chaque classe possède un identifiant (la clé), des propriétés (les attributs), des opérations (les méthodes) et relier avec d'autres classes par des relations d'association, de généralisation ou de dépendance.
le diagramme de classes est le diagramme le plus important de la modélisation objet, sans lequel une modélisation ne peut être valide!

2. L’encapsulation est l’opération qui consiste à masquer les détails d’implémentation d’un objet, en définissant une interface. Une interface est la vue externe d’un objet, elle définit les services accessibles aux utilisateurs de l’objet.


La visibilité déclare la possibilité pour un élément de référencer un élément qui se trouve dans un espace de noms différents de celui de l’élément qui établit la référence.



L’encapsulation permet de définir des niveaux de visibilités des éléments d’un conteneur.

3. Il existe quatre visibilités prédéfinies :

Public  ou  +
Tout élément qui peut voir le conteneur peut également voir l’élément indiqué.
Private  ou  -
Seul un élément situé dans le conteneur peut voir l’élément.
Protected  ou  #
Seul un élément situé dans le conteneur ou un de ses descendants peut voir l’élément indiqué.
Package  ou  ~  ou rien
Seul un élément déclaré dans le même package peut voir l’élément.

4. Une classe est dite abstraite lorsqu’elle définit au moins une méthode ou lorsqu’une classe parent est abstraite ; contient une méthode non encore réalisée.Une classe abstraite ne peut pas être instanciée.



Une classe qui ne comporte que des méthodes abstraites est une classe purement abstraite ; une telle classe est appelée Interface.

5. Une classe active initie et contrôle le flux d’activités.
Une classe est passive par défaut, elle sauvegarde les données et offre des services aux autres.
Graphiquement, une classe active est représentée comme une classe standard dont les lignes verticales du cadre sont doublées :
Classe-active



6. 
    a. Un attribut qui garde une valeur unique et partagée par toutes les instances, souligné graphiquement.
    b.Des attributs qui peuvent être calculés à partir d’autres attributs et de formule de calcul, précédé par / graphiquement
    c. Une méthode de classe ne peut manipuler que des attributs de classe et ses propres paramètres, elle est soulignée graphiquement. Cette méthode n’as pas accès aux attributs de la classes.
    d. Dans une classe une méthode doit être unique. Quand le nom apparaît plusieurs fois avec des paramètres différents, on dit que l’opération est surchargée.
    e.Une méthode est dite abstraite lorsqu’on connaît sa déclaration et pas sa définition (on connait son en tête mais pas la manière dont elle peut être réalisée).

7. Les relations entre classes sont de 3 types :


1. Les relations d’association
2. Les relations de généralisation/spécialisation
      3. Les relations de dépendances
leBlogger

10 commentaires: