Présentation du projet - Service d'echange de Donnees de l'ENST ...
Présentation du projet - Service d'echange de Donnees de l'ENST ...
Présentation du projet - Service d'echange de Donnees de l'ENST ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Projet Java/BD<br />
Présentation <strong>du</strong> <strong>projet</strong><br />
Philippe PICOUET<br />
Philippe TANGUY<br />
03 janvier 2006<br />
Encadrants<br />
Philippe PICOUET<br />
Philippe TANGUY<br />
(philippe.picouet@ens-bretagne.fr)<br />
(philippe.tanguy@enst-bretagne.fr)<br />
Objectifs<br />
L’objectif <strong>du</strong> <strong>projet</strong> est d’abord technologique. Il s’agira <strong>de</strong> développer une application Web utilisant les<br />
technologies Java et SGBD relationnel.<br />
Le <strong>projet</strong> débute début janvier et se termine à la fin <strong>du</strong> mois <strong>de</strong> mars 2006.<br />
Description <strong>de</strong> l’application<br />
En fin <strong>de</strong> <strong>projet</strong>, l’application visée sera un jeu <strong>de</strong> type gestion <strong>de</strong> portefeuille qui se déroule sur une pério<strong>de</strong><br />
virtuelle comprise entre <strong>de</strong>ux dates t1 et t2 précisées au début <strong>du</strong> jeu par un joueur particulier, disposant <strong>du</strong><br />
statut <strong>de</strong> « Maître <strong>de</strong> jeu ».<br />
N joueurs, déclarés par le maître <strong>de</strong> jeu et disposant à la date t1 d’une même somme d’argent M, peuvent<br />
chaque jour acheter ou vendre <strong>de</strong>s actions <strong>de</strong> leur portefeuille au cours <strong>du</strong> jour.<br />
Tous les cours quotidiens <strong>de</strong>s actions sur une pério<strong>de</strong> incluant t1 et t2 sont accessibles via un service Web<br />
« QueryFimatex », accessible en lecture à tous sous la machine candle.enst-bretagne.fr. Cette source <strong>de</strong><br />
données servira à initialiser puis à actualiser la base <strong>de</strong> données <strong>du</strong> jeu.<br />
A la date t2, tous les portefeuilles sont soldés et le gagnant est celui qui dispose <strong>du</strong> plus <strong>de</strong> liquidités.<br />
La fonctionnalité JEU est une fonctionnalité qui « met en scène » la fonctionnalité GESTION DE<br />
PORTEFEUILLE pour un ensemble d’utilisateurs. Cette secon<strong>de</strong> fonctionnalité sera à étudier et à<br />
développer dans une première version.<br />
Notes<br />
Des renseignements sur le service Web et les données FIMATEX sont disponible à l’URL :<br />
http://candle.enst-bretagne.fr/download/FIMATEX/Projet_Java_BD_Fimatex.pdf<br />
Une application Web exemple est disponible à l’URL :<br />
http://candle.enst-bretagne.fr/FimatexAppliWebExemple/in<strong>de</strong>x.html
Exemple <strong>de</strong> cas d’utilisation<br />
<br />
<br />
<br />
Chaque joueur accè<strong>de</strong> via un navigateur à l’application qui lui affiche d’une part le contenu (et la<br />
valeur) <strong>de</strong> son portefeuille et les liquidités dont il dispose, et d’autre part d’un écran lui présentant le<br />
cours <strong>du</strong> jour (et ceux <strong>de</strong>s jours passés) <strong>de</strong>s actions. Il peut déci<strong>de</strong>r <strong>de</strong> vendre une partie <strong>de</strong> ses actions<br />
et/ou d’en acheter d’autres au cours <strong>du</strong> jour, dans la limite <strong>de</strong> ses liquidités. Quand il a passé tous les<br />
ordres pour la journée en cours, il <strong>de</strong>man<strong>de</strong> à passer au jour suivant. Le passage au jour suivant se fait<br />
en même temps pour l’ensemble <strong>de</strong>s joueurs.<br />
Le maître <strong>de</strong> jeu configure la partie (nombre <strong>de</strong> joueurs, i<strong>de</strong>ntifiant <strong>de</strong>s joueurs) et déci<strong>de</strong> <strong>du</strong> mo<strong>de</strong> <strong>de</strong><br />
passage à une date ultérieure : manuel, ce sera à lui <strong>de</strong> passer à la date suivante, et ceci même si tous<br />
les joueurs n’ont pas terminé toutes leurs opérations ; automatique, le passage à une date ultérieure<br />
aura lieu au bout d’un temps défini à l’avance (la journée peut <strong>du</strong>rer 5mn, par exemple) ou encore<br />
quand tous les joueurs auront validé la modification quotidienne <strong>de</strong> leur portefeuille.<br />
Un historique <strong>de</strong>s opérations <strong>de</strong>s joueurs est conservé dans la base <strong>de</strong> données afin <strong>de</strong> permettre <strong>de</strong><br />
développer dans le futur <strong>de</strong>s nouvelles fonctionnalités, telles que rejouer une partie ou analyser la<br />
stratégie <strong>de</strong>s différents joueurs.<br />
Etapes principales<br />
Etape 1 : familiarisation avec les données FIMATEX<br />
Cette étape consiste à prendre en main les données FIMATEX et à maîtriser au sein d’un programme écrit en<br />
Java l’accès au service Web qui en permet la récupération.<br />
Etape 2 : définition <strong>du</strong> cahier <strong>de</strong>s charges <strong>de</strong> la partie GESTION DE<br />
PORTEFEUILLE<br />
Cette <strong>de</strong>uxième étape consiste, à définir plus précisément le cahier <strong>de</strong>s charges. Celui-ci doit préciser les<br />
fonctionnalités <strong>de</strong> l’outil à réaliser et proposer une série <strong>de</strong> prototypes intermédiaires à mettre en œuvre. Pour<br />
chacun <strong>de</strong>s prototypes, la démarche s’appuiera ensuite sur l’utilisation d’UML pour les schémas fonctionnels,<br />
les schémas <strong>de</strong> classes et la tra<strong>du</strong>ction <strong>de</strong> ce schéma en modèle logique pour la base <strong>de</strong> données.<br />
Livrables atten<strong>du</strong>s : à définir.<br />
Etape 3 : développement partie GESTION DE PORTEFEUILLE<br />
Partie base <strong>de</strong> données<br />
Partie Application Web (JSP Java)<br />
Livrables atten<strong>du</strong>s : co<strong>de</strong> source commentés.<br />
Etape 4 : définition <strong>du</strong> cahier <strong>de</strong>s charges <strong>de</strong> la partie JEU<br />
I<strong>de</strong>m étape 2
Etape 5 : développement partie JEU<br />
I<strong>de</strong>m étape 3<br />
Organisation pédagogique<br />
Les groupes seront composés <strong>de</strong> trois étudiants. Les groupes sont incités à collaborer pour progresser plus<br />
vite. Une réunion hebdomadaire avec les encadrants est planifiée toutes les semaines. Les avancées seront<br />
présentées et les problèmes rencontrés seront discutés. Un compte ren<strong>du</strong> succinct <strong>de</strong> la réunion, établi par les<br />
élèves, sera diffusé à l’ensemble <strong>de</strong>s intervenants à la suite <strong>de</strong> la réunion.<br />
Organisation technique<br />
Langage : Java<br />
SGBD relationnel : PostgreSQL 8<br />
Environnement <strong>de</strong> développement :<br />
Eclipse 3.1<br />
Plugin Tomcat<br />
Plugin NitroX (édition <strong>de</strong> co<strong>de</strong> HTML, XML, JSP, etc.)<br />
Gestion <strong>de</strong> versions : SubVersion + plugin Eclipse (SubClipse)