Imprimer
Catégorie : SAÉ - Développement IHM
Affichages : 563

1°/ Objectifs du projet

Le projet "développement IHM" a pour but de construire une application de type jeu de plateau en utilisant le langage Java et la bibliothèque graphique JavaFx. D'un point de vue pédagogique, ce projet permet de mettre en pratique les connaissances abordées pendant les cours, avec notamment le paradigme d'architecture MVC (Modèle - Vue - Contrôleur), la programmation objet, le test unitaire, mathématiques ... Ce projet étant transversal à la formation, les attendus mettent également en jeu des matières telles que l'expression, l'anglais et l'économie-droit.

Afin de garantir que les objectifs et délivrables attendus soient respectés, le sujet n'est pas libre. Les jeux possibles sont décrits dans la section suivante. Leur implémentation se fera obligatoirement en utilisant des frameworks de développement de jeux, fournis par le département, qui se déclinent en deux versions : une pour des jeux en mode texte, et une autre pour des jeux en mode graphique utilisant JavaFX.  Ce framework permet de respecter une architecture MVC stricte, et facilite la mise en place des tests unitaires. De plus, il fournit l'essentiel de la "mécanique" nécessaire pour créer un jeu de plateau, ce qui permet au développeur de se concentrer sur le codage des règles du jeu choisi, sa représentation visuelle et les algorithmes de décisions pour permettre à l'ordinateur de jouer.

A ce sujet, chaque projet devra permettre de jouer soit à 2 joueurs humains ou ordinateurs, soit avec 1 humain et 1 ordinateur. De plus, quand un joueur est l'ordinateur, il devra pouvoir appliquer au minimum 2 stratégies différentes pour prendre ses décisions de jeu. Plus de détails sont indiqués dans la section cahier des charges.

 

2°/ Sujets possibles

Les groupes de projets doivent obligatoirement choisir 1 jeu parmi les 5 suivants. Les liens mènent vers un article précisant les règles utilisées pour chaque jeu dans le cadre de la SAÉ :

Ces jeux sont plus ou moins classés par difficulté de réalisation croissante, dont une partie vient de la complexité à gérer les règles et côté graphique du jeu, et l'autre sur les stratégies de jeu. Il va de soi que cette complexité impactera l'évaluation.

 

3°/ Cahier des charges synthétique

 

Les points ci-dessous concernent tout ce qui est commun entre les deux versions. Pour les fonctionnalités spécifiques à chaque version, consultez les articles dédiés :

 

3.1°/ contraintes techniques

Remarque : les deux frameworks ayant une majorité de parties communes, une grande partie du code de la version 1 pourra être réutilisé pour produire la version 2.

 

3.2°/ contraintes fonctionnelles

  

3.2.1°/ les règles

 

 

3.2.2°/ ordinateur joueur

 

3.2.3°/ l'aspect graphique

 

3.2.4°/ Tests unitaires

 

4°/ Organisation

 

4.1°/ planning 

 

lundi 29 janvier : présentation générale

 

jeudi 14 mars : présentation de l'organisation du développement de la version en mode texte

 

du 14 mars au 24 mai : développement de la version mode texte + travail sur un question du droit du logiciel.

 

du 27 mai au 15 juin : développement de la version graphique.

 

4.2°/ délivrables

 

4.2.1°/ Jalon 1 - 24 mai

Les délivrables du premier jalon sont :

Les détails sur les deux derniers points sont donnés dans l'article dédié : Jalon 1 : délivrables rédactionnels (rapport + vidéo)

IMPORTANT : pour ce jalon, le jeu doit être jouable dans tous les modes (2 humains, 2 ordis, 1 humain+1ordi), quand bien même toutes les règles ne sont pas forcément appliquées.

 

4.2.2°/ Jalon 2 - fin mai

Une évaluation sur un sujet dans le domaine du droit du logiciel sera faite par B. Viezzi. Au mois d'avril, il affectera à chaque groupe un sujet particulier à traiter. La forme de cette évaluation devrait être une soutenance mais c'est susceptible de changer. A voir avec M. Viezzi.

 

4.2.3°/ Jalon 3 - 17/18 juin

Les délivrables du dernier jalon sont :

Les détails sur ces différents points sont donnés dans l'article dédié : Deuxième version : attendus & méthodologie (2)