Analyse des interactions dans Monopoly : règles de tour, prison et scénarios variés

Page 1 sur 8Lecteur de document UniversityLib

Analyse des interactions dans Monopoly : règles de tour, prison et scénarios variés

Programming, Math, etc. · exam

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 l’acteur

« joueur » et les trois cas d’utilisation « 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 d’utilisation. Donnez,

en langage naturel, une description sommaire pour chaque scénario. N’oubliez pas de prendre en

considération l’entrée et la sortie de prison.as d’utilisation : « 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 d’une 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. S’il 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 qu’il 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, s’il 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 n’a pas fait un double avec les dés durant l'un des trois

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.

• Lors de son tour de jeu, le joueur s’arrête sur une case terrain qui n’a pas de propriétaire et il

dispose du capital nécessaire pour son achat, il l’achète s’il le souhaite.

• Lorsqu’un joueur possède tous les terrains d'un groupe de couleur, il a le droit d’acheter des

Publicité

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 s’acquitte du prix indiqué pour un Hôtel sur le Titre de Propriété, puis il place son

Hôtel sur ce terrain.

• Lors de son tour de jeu, le joueur peut selon son choix revendre au prix d’achat, des c

•

tions, des terrains nus, des Gares ou des Compagnies de Distribution au syst

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

d’utilisation « Jouer son tour ».

Question 1.2

Formulaire de réponses – Examen ACOO – Session Principale-Page-2/8-

4) Proposez un diagramme d’activités qui illustre la dynamique du jeu ‘Monopoly’.

Formulaire de réponses – Examen ACOO – Session Principale-Page-3/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

brièvement votre réponse. N’oubliez pas d’encercler é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

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

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

Publicité

Justification: Il n’y a pas la notion d’appartenance.

Propriété - Groupe: Association Composition Agrégation X

Justification: Les cases propriétés appartiennent au plateau et appartiennent aussi aux gro

3) L’analyste a oublié la modélisation de l’abstraction ‘Dé’. Rajoutez-la en indiquant les

relations avec les autres classes.

Formulaire de réponses – Examen ACOO – Session Principale-Page-4/8-

4) Dites si le diagramme de classes proposé par l’analyste 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 d’une ‘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,

emprisonner, normal)

(b)

Question 2.2

On suppose qu’on a deux joueurs. Le premier joueur s’appelle ‘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 s’appelle ‘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 d’objets 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 d’un joueur

Formulaire de réponses – Examen ACOO – Session Principale-Page-5/8-

Partie 3 : Conception (6pts)

Question 3.1

Afin de faciliter l’implé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

Publicité

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 d’en supprimer

Frozen : le tissage des liens est fixé lors de la création et ne peut pas changer

NotUnique : il est possible d’avoir plus qu’un 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 d’usage du patron de conception : ‘Singleton’

Problème à résoudre : comment garantir l’existence d’une seule instance d’une classe donnée et

fournir un point d’accès global à cette instance ?

Solution : sauvegarder l’objet singleton dans une variable de classe (statique) et fournir une

méthode de classe retournant l’instance unique, en la créant à la première r

Formulaire de réponses – Examen ACOO – Session Principale-Page-6/8-

equête. Le constructeur est alors déclaré privé (ou mieux : protégé).

2) Proposez un diagramme de classes de conception de l‘application en question en utilisant le

maximum possible le patron de conception ‘Singleton’. N’oubliez pas de préciser le rôle de

chaque méthode que vous comptez ajouter au diagramme de classes proposé par l’analyste.

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-7/8-

Formulaire de réponses – Examen ACOO – Session Principale-Page-8/8-