Examen de rattrapage du 1er Semestre

Ce document est un examen de rattrapage en Analyse et Conception Orientées Objet, destiné à évaluer les compétences des étudiants en modélisation UML, conception orientée objet, et compréhension des diagrammes dynamiques et statiques.

D'après le document Examen de rattrapage du 1er Semestre

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Examen de rattrapage du 1er Semestre

Analyse et Conception Orientées Objet · École Nationale des Sciences de l'Informatique (ENSI) · PDF · 2 pages · 2014

Afficher l'aperçu du document

Consulter le document original →

Ce document est un examen de rattrapage en Analyse et Conception Orientées Objet, destiné à évaluer les compétences des étudiants en modélisation UML, conception orientée objet, et compréhension des diagrammes dynamiques et statiques.

Questions de réflexion

Cette section comporte trois questions courtes visant à vérifier la compréhension des concepts de base en UML et en conception orientée objet.

1. Axe (statique ou dynamique) des diagrammes UML suivants

Il s'agit d'indiquer si chaque type de diagramme UML est statique (décrivant la structure) ou dynamique (décrivant le comportement).

  • Diagramme de classes : Il décrit la structure des classes, leurs attributs, méthodes et relations. C'est un diagramme statique.
  • Diagramme de séquence : Il montre l'interaction entre objets dans le temps, donc un diagramme dynamique.
  • Diagramme d’objets : Il représente des instances d’objets à un instant donné, donc un diagramme statique.
  • Diagramme d’activités : Il décrit le déroulement des activités ou processus, donc un diagramme dynamique.

Réponse finale :

  • Diagramme de classes : statique
  • Diagramme de séquence : dynamique
  • Diagramme d’objets : statique
  • Diagramme d’activités : dynamique

2. Qu’est-ce qu’une classe abstraite ?

Une classe abstraite est une classe qui ne peut pas être instanciée directement. Elle sert de modèle ou de base à d'autres classes qui en héritent. Elle peut contenir des méthodes abstraites (sans implémentation) que les sous-classes doivent définir.

Réponse finale : Une classe abstraite est une classe qui ne peut pas être instanciée et qui sert à définir des comportements communs à ses sous-classes.

3. Quelle est l’utilité d’une classe associative ?

Une classe associative est utilisée pour modéliser une relation entre deux classes qui possède elle-même des attributs ou des comportements. Elle permet de représenter une association avec des propriétés propres.

Réponse finale : Une classe associative sert à représenter une relation entre classes qui a des attributs ou des comportements spécifiques.

Exercice 1 : Diagramme de cas d’utilisation + diagramme d’activités

Il s'agit d'analyser un système de gestion d’un centre sportif, en identifiant les acteurs, représentant le diagramme de cas d’utilisation avec relations « include », puis en précisant une pré-condition et un diagramme d’activités pour un cas d’utilisation.

1. Identification des acteurs

On doit identifier deux acteurs du système, préciser leur type (principal ou secondaire) et justifier.

Analyse :

  • Membre : Utilisateur principal du système qui accède aux installations, utilise les machines, consulte ses données d’entraînement. C’est un acteur principal car il initie les interactions avec le système.
  • Employé : Personne qui gère les membres, vérifie leur identité, enregistre les programmes, ajoute des membres. C’est un acteur secondaire car il intervient pour gérer le système mais ne l’utilise pas directement pour ses propres besoins.

Réponse finale :

  • Membre : acteur principal, car il utilise directement les fonctionnalités du système.
  • Employé : acteur secondaire, car il intervient pour gérer et contrôler le système.

2. Diagramme de cas d’utilisation avec relations « include »

On doit représenter les cas d’utilisation du système avec au moins deux relations « include ».

Analyse :

  • Cas d’utilisation principaux : « S’identifier », « Faire des entraînements », « Consulter dossier membre », « Enregistrer programme », « Ajouter membre ».
  • Relations « include » possibles :
    • « Faire des entraînements » inclut « S’identifier » (car il faut être identifié pour accéder aux machines).
    • « Consulter dossier membre » inclut « S’identifier » (pour accéder aux données personnelles).

Le diagramme comporterait donc ces cas d’utilisation avec les relations « include » indiquées.

Réponse finale : Diagramme de cas d’utilisation comportant au moins les cas « S’identifier », « Faire des entraînements », « Consulter dossier membre », « Enregistrer programme », « Ajouter membre », avec les relations « include » :

  • « Faire des entraînements » inclut « S’identifier »
  • « Consulter dossier membre » inclut « S’identifier »

3. Cas d’utilisation « faire des entraînements »

a. Proposer une pré-condition

Analyse : Pour faire un entraînement, le membre doit être identifié et autorisé à accéder aux installations.

Pré-condition proposée : Le membre est identifié et son dossier est en règle.

b. Diagramme d’activités illustrant la dynamique du cas

Analyse : Le diagramme d’activités doit montrer les étapes suivantes :

  • Le membre glisse sa carte sur la machine
  • Le système vérifie la validité de la carte
  • Le membre accède aux menus spécifiques
  • Pour machines musculaires : consultation historique, ajout d’informations
  • Pour machines cardio : consultation statistiques, enregistrement automatique des données
  • Le membre peut à tout moment visionner une vidéo d’utilisation sans identification

Ce diagramme illustre la séquence d’actions et les choix possibles.

Réponse finale :

  • Pré-condition : Le membre est identifié et son dossier est en règle.
  • Diagramme d’activités : décrit les étapes d’identification, accès aux menus, consultation ou ajout d’informations selon type de machine, et possibilité de visionner une vidéo sans identification.

Exercice 2 : Diagramme de classes + diagramme d’objets

Il s'agit de concevoir une application modélisant un objet géométrique composé d’éléments géométriques (poly-lignes et surfaces), puis de représenter un exemple d’objet géométrique.

1. Proposition du diagramme de classes

Analyse :

  • Classes principales :
    • ObjetGeometrique : composé d’éléments géométriques
    • ElementGeometrique (classe abstraite ou générale) : peut être une poly-ligne ou une surface
    • Polyligne : suite ordonnée de Point, reliés par segments
    • Surface (classe abstraite ou générale) : peut être un cercle ou un polygone
    • Cercle : défini par un centre (Point) et un rayon (valeur numérique positive)
    • Polygone : suite ordonnée de Point reliés, dernier point relié au premier
    • Point : possède deux coordonnées x et y
  • Méthodes à inclure :
    • Calcul longueur poly-ligne
    • Calcul périmètre et aire d’une surface
    • Translation d’un élément ou de l’objet par un vecteur (x, y)

Réponse finale : Diagramme de classes comprenant les classes ObjetGeometrique, ElementGeometrique (abstraite), Polyligne, Surface (abstraite), Cercle, Polygone, et Point, avec les relations d’héritage et d’agrégation décrites ci-dessus.

2. Diagramme d’objets relatif à l’exemple donné

Analyse : L’objet géométrique est composé de :

  • Une poly-ligne à 4 points
  • Trois polygones (avec 3, 4 et 6 points respectivement)
  • Deux cercles

Le diagramme d’objets doit montrer une instance d’ObjetGeometrique contenant :

  • Une instance de Polyligne avec 4 instances de Point
  • Trois instances de Polygone avec les nombres de points correspondants
  • Deux instances de Cercle chacune avec un Point centre et un rayon

Réponse finale : Diagramme d’objets représentant l’ObjetGeometrique avec ses composants comme décrit, chaque élément lié à ses points.

Exercice 3 : Diagramme d’états-transitions

Il s'agit de modéliser le fonctionnement d’une boîte de vitesses automatique avec ses états et transitions.

Analyse :

  • États possibles :
    • Point mort (N)
    • Marche arrière (R)
    • Position parking (P)
    • Première marche avant (1)
    • Deuxième marche avant (2)
    • Troisième marche avant (3)
  • Transitions :
    • Au démarrage, boîte au point mort (N)
    • De N vers R ou P ou 1
    • De 1 vers 2, puis 2 vers 3 (accélération)
    • De 3 vers 2, puis 2 vers 1 (décélération)
    • De R, P, 1 vers N directement

Diagramme d’états-transitions :


État initial : N (point mort)

Transitions :
N → R (marche arrière)
N → P (parking)
N → 1 (première marche avant)

1 → 2 (accélération)
2 → 3 (accélération)

3 → 2 (décélération)
2 → 1 (décélération)

R → N
P → N
1 → N

Réponse finale : Diagramme d’états-transitions modélisant les états N, R, P, 1, 2, 3 avec les transitions décrites ci-dessus.

Méthode

Ce sujet récompense une bonne maîtrise des concepts UML et de la modélisation orientée objet, ainsi que la capacité à analyser un cahier des charges pour en extraire les éléments essentiels.

  • Pour les questions théoriques, il faut répondre précisément en utilisant la terminologie correcte (ex : distinction entre diagrammes statiques et dynamiques).
  • Pour les exercices de modélisation, il est important de bien identifier les acteurs, cas d’utilisation, classes et objets, en respectant les relations d’héritage, d’agrégation et d’association.
  • La clarté des diagrammes est essentielle, notamment pour les relations « include » dans les cas d’utilisation et la cohérence des états dans le diagramme d’états-transitions.
  • Les pré-conditions et diagrammes d’activités doivent refléter la logique métier et les contraintes du système.
  • Les erreurs fréquentes à éviter : confondre acteurs principaux et secondaires, oublier les relations « include », ne pas respecter la hiérarchie des classes, ou omettre des transitions dans le diagramme d’états.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions