Exercice1 : Spécification des besoins
1-
Identifiez parmi la liste de noms suivante, les acteurs de l’application ‘Sys_vote’. Il s’agit
d’encercler l’acteur et préciser son type (principal ou secondaire) et de donner une justification dans
le cas où le nom n’est pas retenu comme acteur:
Noms
Justifications
Type
a. Appareil
b. Administrateur
c.
Serveur Central
d. Directeur Général Des Élections
e.
f.
g.
h.
i.
j.
k.
Electeur
Partie Politique
Employé
Bulletin
Lecteur De L’appareil De Vote
Advertisement
Horloge
Scrutateur
………………………………………………………
………………………………………………………
..............................................................................
………………………………………………………
……………………………………………………….
……………………………………………………..
……………………………………………………..
………………………………………………………
………………………………………………………
………………………………………………………
……………………………………………………….
1/8
2- Nous nous proposons de considérer: « voter pour un parti » et «comptabiliser les votes » des cas
d’utilisation de l’application en question. Indiquez parmi les actions suivantes celles qui peuvent être
retenues comme cas d’utilisation complémentaires de l’application en question en l’encerclant et en
justifiant votre réponse.
a. Consulter liste des partis politiques
Actions
Justifications
b. S’identifier
c. Compléter le bulletin
d. Modifier les informations sur un parti politique
e. Ajouter un nouveau parti politique
Advertisement
f. Récupérer le résultat du vote
g. Accéder aux données globales
h. Enlever un parti politique existant
2/8
3- Représentez une partie du diagramme de cas d’utilisation du système en question comportant
uniquement les acteurs et les cas d’utilisation retenus dans les deux questions précédentes en
précisant, si besoin, les dépendances entre les cas.
Voter pour un
parti politique
Comptabiliser
les votes
4- Un diagramme de cas d’utilisation uniquement, permet-il des spécifier l’ordre d’exécution des cas ?
Expliquez.
...................................................................................................................................................................
................................................................................................................................................................
5- Concernant le cas d’utilisation « voter pour un parti politique » :
a. Proposez une pré-condition à ce cas
........................................................................................................................................................
3/8
b. Imaginez trois variantes (nominal, alternatif et exceptionnel) de scénarios relatifs à ce cas. Donnez,
en langage naturel, une description claire pour chaque scénario.
Nominal
Alternatif
Exceptionnel
6- Concernant le cas d’utilisation «comptabiliser les votes», imaginez deux variantes (nominal
Advertisement
et alternatif) de scénarios relatifs à ce cas. Donnez, en langage naturel, une description
sommaire pour chaque scénario.
Nominal
Alternatif
4/8
Exercice 2 : Analyse+ Conception
Partie 1 : Analyse
1- Le diagramme de classes proposé par le développeur est incomplet. Parmi les manques nous
signalons :
(1) le manque de cardinalités de certaines associations
(2) le manque d’associations entre la classe ‘Coup’ et les autres classes du diagramme
(3) l’absence de précision des associations pouvant être promues en composition ou agrégation
Complétez ces trois manques sur le digramme de classes suivant en justifiant vos réponses:
Justifications :
2- Elaborez le diagramme d’objets conformément au diagramme de classes proposé par le développeur et
aux modifications que vous avez apportées dans la question (1) reflétant :
a. la disposition initiale du jeu d’échecs illustrée par la figure ci-dessous:
5/8
b. une évolution du jeu d’échecs de la question précédente (a) de deux coups illustrée par la figure
ci-dessous :
Remarque concernant les instances des classes ‘Case’(ou dérivées) : on vous demande de représenter que les cases
occupées, pour des raisons de clarté
6/8
Partie 2 : Conception
1- Pour comprendre les règles de gestion gouvernant l’évolution des liens entre les objets, on se propose de
Advertisement
décorer les associations par les contraintes {ordered}, {addOnly} , {frozen}, {notUnique}. Donnez pour
chacune de ces associations les contraintes appropriées en justifiant votre réponse.
JeuEchecs-Piece :
JeuEchecs-Coup :
Echiquier-Case :
2- L’implémentation des associations avec cardinalité multiple nécessite l’utilisation d’une structure qui
implémente une collection (non définie dans le modèle UML proposé par le développeur). Sachant
qu’on souhaite utiliser des tableaux statique et/ou les collections STL, proposez les différentes structures
que vous comptez utiliser pour les différentes associations multiples ci-dessous indiquées. Commentez
brièvement vos choix.
JeuEchecs-Piece :
JeuEchecs-Coup :
Echiquier-Case :
3- Indiquez, en commentant éventuellement, l’ordre de navigation nécessaire de ou des associations vous
permettant de :
7/8
• Savoir si une case est jouable ou non pour une pièce donnée.
• Savoir si une pièce est en risque d’attaque par une pièce de l’adversaire.
4- Dans le diagramme de classes proposé par le développeur, la classe ‘Case’ ne comporte pas de
coordonnées (colonne et rangée). Discutez brièvement l’avantage et l’inconvénient de la mémorisation
ou non mémorisation des coordonnées dans la classe ‘Case’.
5- Considérons la classe JeuEchecs dont la responsabilité est de gérer le déroulement d'une partie de jeu
d'échecs. Donnez le diagramme d'états/transitions associé à cette classe.
8/8