Examen Principal du 1er Semestre - Analyse et Conception Orientées Objets

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

Examen Principal du 1er Semestre - Analyse et Conception Orientées Objets

École Nationale des Sciences de l'Informatique (ENSI) · Informatique, Programmation, Analyse de Système · exam

Voir tous les documents en programmation

UNIVERSITE DE LA MANOUBA

----- -----

ECOLE NATIONALE DES SCIENCES

DE L'INFORMATIQUE

ANNEE UNIVERSITAIRE

2011-2012

Examen Principal du 1er Semestre

Mati re : Analyse et Conception Orient es Objets

Niveau : II2

Nombre de pages : 11 pages

Enseignants : Y. JAMOUSSI, I. BEN HAMOUDA, I. FLISS, S. MTIBAA, G. ZIADA

Date : Mardi 3 Janvier 2012

Dur e: 2H

Documents : non autoris s

NB :

R pondez directement sur les feuilles de r ponses

Ne r pondez pas laveuglette

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

Probl me

Lobjectif de ce probl me est danalyser et de concevoir en partie, une version simplifi e du

jeu de soci t Monopoly qui se joue de 2 6 joueurs. Dans ce jeu, les joueurs se d placent sur

un plateau contenant 40 cases organis es cycliquement (lorsquon atteint la derni re case, on

continue sur la premi re) comme lillustre la figure ci-dessous. Les 40 cases repr sentent : 22

terrains b tir, 4 gares, 2 compagnies, une case prison , une case allez en prison , une

case taxe de luxe , une case imp t sur le revenu , une case parc gratuit , une case

d part , des cases chance et des cases caisse de communaut . Monopoly est le jeu

o l'on vend, ach te ou loue des propri t s de mani re profitable, afin que les joueurs puissent

s'enrichir. Le joueur qui ne parvient pas faire face aux d penses qui lui incombent fait

faillite, ses propri t s deviennent libres et il quitte ainsi le jeu. Le but du jeu est d' tre le

dernier joueur nayant pas fait faillite.

Ce jeu comporte 28 cases dites de Propri t

relativement aux terrains, aux gares et aux

compagnies. Chaque propri t peut

faire

lobjet dun achat (si elle nest pas d j acquise

par un autre joueur), dune vente ou dun

paiement / encaissement de loyer.

Les 28 propri t s sont divis es en 10

groupes :

" Les terrains dune m me couleur forment

un groupe de propri t s. Il existe donc huit

groupes diff rents de propri t s (puisquil

y a huit couleurs).

Publicité

" Les 4 gares forment le 9 me groupe.

" Les 2 compagnies forment le 10 me groupe.

Examen ACOO Session Principale-Page-1/11-

Dans ce jeu, chaque joueur est caract ris par son nom et son capital dargent. Il occupe une

case parmi les 40 cases du plateau. Il poss de un pion, portant son nom, qui marque sa

position dans le plateau. Les diff rents joueurs d marrent le jeu la position case de "d part",

et le capital initial de chacun dentre eux est de 20.000 euros.

Le syst me d tient les Titres de Propri t et un nombre illimit de constructions (maisons et

h tels). Il paye les salaires et les primes, encaisse l'argent des imp ts, des taxes et des achats

de terrain et des constructions. Le syst me ne peut jamais "faire faillite" (on supposera qu'il

d tient une quantit infinie d'argent).

A son tour, chaque joueur lance 2 d s puis avance son pion sur le plateau de jeu, d'autant de

cases que l'indique le total des d s et ce dans le sens des aiguilles dune montre. Chaque fois

que le joueur passe lors de son avancement par la case "D part", le syst me lui verse un

salaire de 20.000 euros. Si le joueur obtient un double avec les d s, il se d place

normalement. Il effectue l'op ration de sa case d'arriv e, puis relance les d s et se d place

nouveau. Il effectuera alors une nouvelle op ration. Par ailleurs, sil obtient un double trois

fois de suite, il doit se rendre imm diatement en Prison. Son tour de jeu est alors termin .

Plusieurs pions peuvent se trouver sur une m me case au m me moment. La case sur laquelle

le joueur va sarr ter indique ce que ce dernier doit ou peut faire. En fonction de la case de

destination, il se produit lune des actions suivantes :

" Si la case de destination est un terrain qui na pas de propri taire, le joueur peut lacheter

sil le souhaite et sil dispose du capital n cessaire pour son achat.

" Si la case de destination est un terrain la possession dun autre propri taire, il doit lui

payer un loyer.

" Si la case de destination est un terrain dont il est le propri taire, rien ne se passe.

" Si la case de destination est une case de type "CHANCE" ou " CAISSE DE

COMMUNAUTE", il doit tirer une carte de la pile correspondante et applique lune des

trois actions suivantes :

  • se rendre en prison ou se d placer sur une autre case
  • faire un paiement (taxes, imp t)
  • percevoir une r compense sous forme dune somme dargent

" Si la case de destination est une case de type "IMP T" ou "TAXE", il doit payer le

montant indiqu sur ces cases;

" Si la case de destination est une case de type "ALLEZ EN PRISON", il doit sy rendre.

Lorsquun joueur poss de tous les terrains d'un groupe de couleur, il a le droit dacheter des

maisons pour ce groupe (au plus 4 maisons par terrain), ce qui augmente la valeur du loyer.

Le prix d'une Maison est indiqu sur le Titre de Propri t correspondant. A tout moment,

durant son tour de jeu, le joueur peut acheter et construire autant de Maisons que sa fortune le

lui permet (il n'y a aucune contrainte sur la fa on de construire les maisons).

Pour pouvoir acheter un H tel, un joueur doit poss der 4 Maisons sur chaque terrain d'un

m me groupe. Si un joueur d sire construire un H tel, il demande au syst me de lui changer

les 4 Maisons du terrain de son choix contre un H tel, et il sacquitte du prix indiqu pour un

H tel sur le Titre de Propri t , puis il place son H tel sur ce terrain. Il ne peut construire

qu'un seul H tel par terrain.

Publicité

Examen ACOO Session Principale-Page-2/11-

Lors de son tour de jeu, un joueur quil soit endett (nayant pas un capital suffisant pour

payer ses d penses : imp ts, ses taxes et ses loyers) ou non peut selon son choix revendre au

prix dachat, des constructions, des terrains nus, des Gares ou des Compagnies de Distribution

au syst me.

Par ailleurs, l'arriv e dun joueur en Prison met fin son tour de jeu. Il ne franchit pas la case

"D part" et ne re oit pas 20.000 euros jusqu ce quil quitte la prison.

Le joueur pourra sortir de Prison :

  • Sil fait un double avec les d s durant l'un des trois tours qui suit son arriv e en Prison

; il se d place alors du nombre de cases indiqu par les d s, puis relance les d s

comme tout joueur ayant obtenu un double et il rejoue encore une fois.

  • Apr s avoir lanc les d s au cours du troisi me tour : il doit alors sil n'a pas fait de

double - payer une amende de 5.000 euros. Puis, il se d place du nombre de cases

indiqu par les d s et il continue jouer.

Pendant quun joueur est en Prison, il peut percevoir des loyers. Sil n'est pas "envoy " en

Prison mais quil parvient sur cette case dans le cours normal du jeu, son s jour est

consid r comme une "simple visite". Le joueur n'encourra alors aucune p nalit et il peut

se d placer normalement au tour suivant.

Lors de lanalyse du jeu Monopoly, un d veloppeur a propos le diagramme de classes UML

incomplet suivant :

Travail faire

Lobjectif de ce probl me et danalyser et concevoir en partie le jeu simplifi de Monopoly

gr ce aux diagrammes UML vus en cours. Pour cela, r pondez directement aux questions

qui sont pos es dans les feuilles de r ponses.

Examen ACOO Session Principale-Page-3/11-

Probl me :

Partie 1 : Expression des besoins (7pts)

Question 1.1

1) Nous nous proposons de d crire le jeu simplifi de Monopoly par uniquement lacteur

joueur et les trois cas dutilisation Jouer son tour , Vendre Acheter .

Compl tez les relations pouvant exister entre ces trois cas et entre le joueur et les cas.

.

Joueur

Monopoly

Acheter

Jouer son tour

Vendre

2) Imaginez les diff rentes variantes possibles de sc narios relatifs aux diff rents cas dutilisation.

Donnez, en langage naturel, une description sommaire pour chaque sc nario. Noubliez pas de

prendre en consid ration lentr e et la sortie de prison.

Examen ACOO Session Principale-Page-4/11-

3) Proposez un diagramme de s quence syst me pour d crire le sc nario nominal du cas

dutilisation Jouer son tour .

Publicité

Examen ACOO Session Principale-Page-5/11-

Question 1.2

4) Proposez un diagramme dactivit s qui illustre la dynamique du jeu Monopoly.

Examen ACOO Session Principale-Page-6/11-

Partie 2 : Analyse (7 pts)

Question 2.1

Le diagramme de classes propos par le d veloppeur est incomplet.

1) Ajouter les cardinalit s manquantes ;

2) On se propose de promouvoir dans la mesure du possible les associations en

compositions ou en des agr gations. Cochez LA bonne r ponse pour chaque

proposition en justifiant bri vement votre r ponse. Noubliez pas dencercler

ventuellement la classe qui a la responsabilit de subordination:

Jeu - Plateau: Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&.

Plateau - Case: Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Case - Joueur: Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Jeu - Groupe: Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Jeu - Joueur: Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Joueur - Propri t : Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Propri t - Groupe: Association Composition Agr gation

Justification:&&&&&&&&&&&&&&&&&&&&&&&&&&&

3) Lanalyste a oubli la mod lisation de labstraction D . Rajoutez-la en indiquant les

relations avec les autres classes.

Examen ACOO Session Principale-Page-7/11-

4) Dites si le diagramme de classes propos par lanalyste permet-il de repr senter

chacun de ces trois nonc s :

(a)- un joueur est en simple visite de la prison ou emprisonn

(b)- partant dune Propri t donn e, il est possible de conna tre que les Propri t s

compl tant ce groupe appartiennent un m me joueur

(c)- le nombre de construction dans un terrain.

Si oui justifiez sinon proposez une solution.

Question 2.2

On suppose quon a deux joueurs. Le premier joueur sappelle Ali. Il poss de la gare

du Nord, la gare de Lyon et la propri t Belleville. Il est actuellement la compagnie

des eaux. Le deuxi me joueur sappelle Zied. Il poss de les compagnies d lectricit

et des eaux. Il est actuellement la case d part. Conform ment au diagramme de

classes propos par le d veloppeur, repr sentez le diagramme dobjets qui illustre cette

situation du jeu Monopoly.

Publicité

Remarque concernant les instances des classes Case(ou d riv es) et les instances de la

classe Groupe : Repr sentez que celles qui sont concern es par cette question.

Question 2.3

Examen ACOO Session Principale-Page-8/11-

Donnez un diagramme d tat transition qui illustre l volution de l tat dun joueur

Partie 3 : Conception (6pts)

Question 3.1

Afin de faciliter limpl mentation des associations, on se propose de limiter au maximum

possible la navigation. Pr cisez le sens de navigation sur le diagramme de classes en bas

de page (Q3.2).

Question 3.2

Pour comprendre les r gles de gestion gouvernant l volution des liens entre les objets, on se

propose de d corer les associations par les contraintes {ordered},{addOnly},{frozen},

{notUnique}.

1) Rappelez la signification de chaque contrainte de gestion :

Ordered: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

AddOnly :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.....

Frozen :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..

NotUnique :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

2) D corez, directement sur le diagramme de classes ci-dessous, chacune des associations par

les contraintes de gestion appropri es. Vous pouvez tout simplement annoter le bout

navigable de chaque association par les symboles O, A, F, N (respectivement pour (O)rdered,

(A)ddOnly, (F)rozen et (N)otUnique).

Examen ACOO Session Principale-Page-9/11-

Question 3.3

1) Rappelez le contexte et la solution dusage du patron de conception : Singleton

Probl me r soudre : comment garantir lexistence dune seule instance dune classe donn e

et fournir un point dacc s global cette instance ?

Solution : sauvegarder lobjet singleton dans une variable de classe (statique) et fournir une

m thode de classe retournant linstance unique, en la cr ant la premi re requ te. Le

constructeur est alors d clar priv (ou mieux : prot g ).

2) Proposez un diagramme de classes de conception de lapplication en question en utilisant

le maximum possible le patron de conception Singleton. Noubliez pas de pr ciser le

r le de chaque m thode que vous comptez ajouter au diagramme de classes propos par

lanalyste.

Examen ACOO Session Principale-Page-10/11-

3) En vous basant sur le diagramme de classes que vous avez propos dans la question

pr c dente (n 2), pr cisez les objets n cessaires au d roulement normal de jouer son

tour .

4) Donnez le digramme de s quence de jouer son tour avec les diff rents objets que

vous avez identifi s dans la question pr c dente (n 3).

Examen ACOO Session Principale-Page-11/11-