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.
.
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.
Cas dutilisation : Jouer son tour
" 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. 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 (payer loyer, tirer carte de chance, payer imp t,&), puis relance les d s et se d place
nouveau. Il effectuera alors une nouvelle op ration. Sil obtient un double trois fois de suite ou
sa case de destination est allez en prison , il doit se rendre imm diatement en Prison. Son
tour de jeu est alors termin . Il ne franchit pas la case "D part" et ne re oit pas 20.000 euros
jusqu ce quil quitte la prison.
Formulaire de r ponses Examen ACOO Session Principale-Page-1/8-
"
" A son tour, un joueur lance les 2 d s puis avance son pion sur le plateau de jeu, la case de
destination est prison . 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.
A son tour, un joueur emprisonn (envoy en prison), 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.
" A son tour, un joueur emprisonn qui na pas fait un double avec les d s durant l'un des trois
Publicité
tours qui suit son arriv e en Prison, lance les d s au cours du troisi me tour et paye une
amende de 5.000 euros. Puis, il se d place du nombre de cases indiqu par les d s et il continue
jouer.
Cas dutilisation : Acheter
" Lors de son tour de jeu, le joueur sarr te sur une case terrain qui na pas de propri taire et il
dispose du capital n cessaire pour son achat, il lach te sil le souhaite.
" 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). A tout moment, durant son tour de jeu,
le joueur peut acheter et construire autant de Maisons que sa fortune le lui permet.
" Si le joueur poss de 4 Maisons sur chaque terrain d'un m me groupe et il 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.
Cas dutilisation : Vendre
" Lors de son tour de jeu, le joueur peut selon son choix revendre au prix dachat, des
constructions, des terrains nus, des Gares ou des Compagnies de Distribution au syst me.
3) Proposez un diagramme de s quence syst me pour d crire le sc nario nominal du cas
dutilisation Jouer son tour .
Il faudrait montrer linteraction entre lacteur : le joueur et le syst me en bo te noire, il suffit
de d crire un sc nario dans lequel le joueur nest pas envoy en prison
Question 1.2
4) Proposez un diagramme dactivit s qui illustre la dynamique du jeu Monopoly.
Formulaire de r ponses Examen ACOO Session Principale-Page-2/8-
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
Publicité
bri vement votre r ponse. Noubliez pas dencercler ventuellement la classe qui a la
responsabilit de subordination:
Jeu - Plateau: Association Composition X Agr gation
Justification: Appartenance totale+ cycles de vies d pendants
Plateau - Case: Association Composition Agr gation X
Justification: Les cases appartiennent au plateau et peuvent aussi appartenir aux groupes
(tel est le cas des cases propri t s)
Case - Joueur: Association Composition Agr gation X
Justification: Le joueur appartient la case et au jeu : appartenance faible
Jeu - Groupe: Association Composition X Agr gation
Justification: Appartenance totale+ cycles de vies d pendants
Formulaire de r ponses Examen ACOO Session Principale-Page-3/8-
Jeu - Joueur: Association Composition Agr gation X
Justification: Le joueur appartient la case et au jeu : appartenance faible
Joueur - Propri t : Association X Composition Agr gation
Justification: Il ny a pas la notion dappartenance.
Propri t - Groupe: Association Composition Agr gation X
Justification: Les cases propri t s appartiennent au plateau et appartiennent aussi aux
groupes
3) Lanalyste a oubli la mod lisation de labstraction D . Rajoutez-la en indiquant les
relations avec les autres classes.
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.
(a)Non : ajouter un attribut la classe joueur qui pr cise l tat du joueur (simple visite,
Publicité
emprisonner, normal)
(b) Oui : nous pouvons parvenir cette information gr ce la navigation : Joueur->Propri t -
>Groupe->(Propri t )*->Joueur
(c) Non : ajouter un attribut dans la classe terrain : int nbre_construction.
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
Formulaire de r ponses Examen ACOO Session Principale-Page-4/8-
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.
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
Donnez un diagramme d tat transition qui illustre l volution de l tat dun joueur
Formulaire de r ponses Examen ACOO Session Principale-Page-5/8-
L tat limin peut tre consid r comme l tat final de la classe 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: les l ments de la collection repr sentant le tissage des liens sont ordonn s
AddOnly : il est possible de tisser de nouveaux liens mais impossible den supprimer
Publicité
Formulaire de r ponses Examen ACOO Session Principale-Page-6/8-
Frozen : le tissage des liens est fix lors de la cr ation et ne peut pas changer
NotUnique : il est possible davoir plus quun lien entre deux objets avec la m me association
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).
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.
Formulaire de r ponses Examen ACOO Session Principale-Page-7/8-
Le patron de conception singleton ne peut tre appliqu que pour le cas de la classe jeu et la
classe plateau. Dans ca cas, il faut ajouter ces deux classes les m thodes statiques getinstance
et rendre les constructeurs priv s
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 .
1 instance de jeu, 1 instance de plateau, 1 instance de d , des instances de case (ou on pourrait aussi
pr ciser les types de cases utiliser)
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).
Formulaire de r ponses Examen ACOO Session Principale-Page-8/8-