Examen Principal du 1er Semestre

École Nationale des Sciences de l'Informatique (ENSI)
1/3
100%
Rendu du PDF...
Page 1 sur 3Lecteur de document UniversityLib

Examen Principal du 1er Semestre

École Nationale des Sciences de l'Informatique (ENSI) · Analyse et Conception Orientées Objets · exam

UNIVERSITE DE LA MANOUBA

-----¤¤¤¤-----

ECOLE NATIONALE DES SCIENCES

DE L'INFORMATIQUE

ANNEE UNIVERSITAIRE

2012-2013

Examen Principal du 1er Semestre

Matière : Analyse et Conception Orientées Objets

Niveau : II2

Nombre de pages : 2 pages + Annexe UML

Enseignants : Y. JAMOUSSI, I. FLISS, W.CHAKER, M.FARHAT

Date : 16 Janvier 2013

Durée: 2H

Documents : non autorisés

NB : La précision, la consistance et la clarté seront appréciées

Questions de réflexion (4 pts)

1) Dans un diagramme de cas d’utilisation, est-il possible d’exprimer l’ordre d’invocation des

services ? Justifiez votre réponse.

2) Soit le diagramme de classes et les trois diagrammes d’objets (1), (2) et (3) suivants :

(1)

(2)

(3)

Sachant que a, b, c et d sont des instances (objets) respectivement des classes A, B, C et D ; alpha1 et

beta1 sont des liens représentatifs des associations alpha et beta.

Indiquez pour chacun des diagrammes d’objets (1), (2) et (3) s’il est conforme ou pas au diagramme

de classes? Justifiez votre réponse.

.

Exercice 1 « Diagramme de cas d’utilisation » (5 pts)

Un grand magasin envisage de faciliter la gestion des emballages (bouteilles et canettes) des boissons qu’il

vend. A cet effet, il a décidé de se doter d’un système de récupération qui peut accepter plusieurs types de

bouteilles et de canettes. Un type de canette est caractérisé par sa largeur et sa hauteur. Un type de bouteille

Publicité

est caractérisé par sa largeur du col, sa largeur du bas et sa hauteur. Pour chaque type d’article (bouteille ou

canette) correspond un montant. Le client qui désire retourner des articles (canettes et/ou bouteilles) se

présente devant le système et commence à les déposer un par un. L’article déposé est mesuré par la machine

pour pouvoir l’identifier. Si l’article déposé est accepté, le système incrémente le total de ce type d’articles et

l’absorbe. Si l’article n’est pas reconnu par la machine, l’article est mis en lumière jusqu’à son retrait de la

machine. Quand le client dépose tous les articles, il appuie sur le bouton « Reçu ». Le système lui imprime

un reçu contenant pour chaque type d’article son intitulé, le nombre d’articles déposés, le montant unitaire de

dépôt et le montant total. Le total global de tous les dépôts est aussi imprimé à la fin du reçu. Ce reçu est

présenté ensuite à la caisse pour remboursement.

Vers la fin de chaque journée, l’opérateur retire les articles de la machine et imprime le reçu global des

dépôts au cours de la journée en appuyant sur le bouton « Init » derrière la machine. Le reçu imprimé a la

même forme que celui livré aux clients sauf qu’il récapitule tous les dépôts de la journée. L’opérateur peut

aussi configurer les paramètres des cannettes et des bouteilles que la machine peut accepter.

Travail à faire

1) Identifiez le(s) acteur(s) du système de récupération. Précisez à chaque fois le type de l’acteur (principal

ou secondaire) en justifiant votre réponse.

1/3

2) Représentez le diagramme de cas d’utilisation du système en question en utilisant au moins deux

relations « include ». Donnez, en langage naturel, pour chaque cas d’utilisation une description sommaire

des différents scénarios (une phrase par scénario).

3) Afin de décrire le cas d’utilisation "Retourner un article", nous nous proposons d’utiliser soit un

diagramme d’activités ou bien une description en langage naturel. Selon vous quelle est la meilleure

solution à ce stade de modélisation du système ? Expliquez. En vous basant sur la solution que vous avez

choisie, détaillez le cas d’utilisation "Retourner un article".

Exercice 2 « Diagramme de séquence » (5 pts)

On souhaite gérer les différents objets qui participent à l’activité d’un fleuriste. Le client demande au

vendeur des renseignements sur les compositions florales. Le vendeur lui fournit toutes les informations

nécessaires. Le client commande alors la composition de son choix et le vendeur émet le bon de fabrication

qu’il transmet à son ouvrier fleuriste. Celui-ci récupère auprès du bon de fabrication les informations

concernant la composition choisie. Il crée ensuite la composition demandée. Une fois la composition

terminée, l’ouvrier fleuriste archive le bon de fabrication (qui est ainsi détruit), et remet ensuite la

Publicité

composition au vendeur. Le vendeur édite ensuite la facture correspondante. La facture est remise au client

pour règlement dès que le bouquet est réalisé. Une fois la facture réglée, le client récupère sa composition et

quitte le magasin.

Travail à faire

Modélisez la situation précédente à l’aide d’un diagramme de séquence en n’utilisant que des échanges

synchrones.

Exercice 3 « Diagramme de classes+ diagramme d’états-transitions » (6 pts)

Dans cet exercice, on se propose de modéliser des « Tamagutchi » avec le modèle d’états-transitions d’UML.

Le Tamagutchi est un petit animal virtuel et interactif que l’utilisateur doit s’en occuper pour le maintenir en

bonne santé. Un Tamagutchi en état normal n'a pas faim pendant un certain temps (appelé temps

d'autonomie). Au bout de ce temps, le Tamagutchi a faim et il pleure. Pour lui donner à manger, l'utilisateur

du Tamagutchi le met à table et le Tamagutchi s'arrête de pleurer. Un Tamagutchi mange pendant un certain

temps (appelé temps de restauration). Au bout de ce temps, il se remet à pleurer. Il pleure jusqu'à ce que

l'utilisateur le sorte de table. Quand il sort de table, le Tamagutchi revient dans l’état normal et ainsi de suite

tant que le Tamagutchi ne meurt pas. Si le Tamagutchi pleure plus de 5 minutes d'affilée, il meurt.

On suppose que les événements émis par le Tamagutchi vers l'utilisateur sont : « avoir faim », « ne plus avoir

faim », « mourir » et que les événements émis par l'utilisateur et reçus par le Tamagutchi sont « être mis à

table » et « sortir de table ».

Un Tamagutchi est un ensemble de matériels : une horloge, un bip et deux boutons. Le bip se présente sous

forme d'une instance de la classe Bip. Si le Tamagutchi appelle la méthode déclencherPleurs(), le bip

commence à émettre des pleurs sans interruption. Si le Tamagutchi appelle la méthode arreterPleurs(), le bip

s'arrête.

Quand l'utilisateur appuie sur le bouton « a table » (resp. « sortie de table »), le Tamagutchi reçoit

l'événement correspondant à sa mise à table (resp. à sa sortie de table). L'horloge se présente sous forme

d'une instance de la classe Horloge avec une méthode lancerTempo(int durée). Si le Tamagutchi appelle la

méthode lancerTempo(durée) à un instant t, il recevra un événement « tempo écoulée » à l'instant t+durée.

Travail à faire

1) Dessinez le diagramme de classes de conception du Tamagutchi.

2) Dessinez un diagramme d’états-transitions à 5 états modélisant le comportement du Tamagutchi. On

utilisera les noms « pas faim pleure pas », « faim pleure », « à table pleure pas », « à table pleure » et «

mort » pour ces 5 états. On ne fera figurer que les événements mentionnés dans l’énoncé sur les

Publicité

transitions du diagramme d’états-transitions.

2/3

AANNNNEEXXEE UUMMLL 22..00

Diagramme de cas d’utilisation

Diagramme d’états

Cas = ensemble de scénarios reliés par un but

commun. Acteurs (rôle d’un utilisateur du système),

limites du système (rectangle), fonctionnalités

principales et liens entre elles (extension, inclusion)

Diagrammes dynamiques

Diagramme de séquences

Etats, transitions entre états, activités internes

Eventuellement superEtats

Diagramme d’activité

(activité de

(boîtes en haut),

lignes verticales

Objets

(existence des objets – « lignes de vie »), lignes

rectangulaires

l’objet), flèches

(envois de messages). L’objet émetteur doit avoir

une association avec l’objet receveur. Création

d’objet (apparition de l’objet à la fin du message),

destruction (une croix X terminant une ligne de

vie).

3/3