Projet de Génie Logiciel
Le but de ce projet est de réaliser une application Web
permettant à des enseignants de se constituer une base
d'exercices au format XML.
Modalité
Ce projet est à faire par groupe de 5 à 6 personnes.
(voir le calendrier pour les différentes itérations).
Pour chaque itération, les documents devront être envoyé
le vendredi soir qui précède la date de rendu (qui se
fait le lundi). L'ensemble des documents papier devra être
au format PDF et archivé dans une archive ZIP.
L'archive devra être envoyée simultanément aux addresses :
forax@univ-mlv.fr et lcalmejane@netteam.fr.
Fonctionnalités
Le projet devra permettre à un enseignant de rentrer des
exercices au format XML, d'éditer à partir de ces exercices une
feuille de TD au format PDF. Le TD correspondant sera aussitôt
disponible au format HTML pour les étudiants.
Le projet est une application Web comportant trois zones
distinctes.
-
Une zone de visualisation où n'importe quel
étudiant peut consulter les TDs propres à un enseignement
aux formats HTML et PDF.
-
Une zone d'édition qui permet à n'importe quel enseignant
d'ajouter de nouveau exercices à la base, de créer de
nouveaux TDs à partir de ces exercices, et enfin, de visualiser
les TDs obtenus.
-
Une zone d'administration qui permet de changer/mettre à
jour les mots de passe et d'effectuer la configuration.
fonctionnalités obligatoires
Voici une liste des fonctionnalités obligatoires
-
authentification des différents acteurs
grâce à des utilisateurs stockés dans une base de donnée.
-
permettre à un enseignant d'uploader des exercices
au format XML.
-
permettre à un enseignant de déclarer un nouvel enseignement ;
matière (ex: Java), annéee (ex: 2002/2003), section (ex: licence).
-
permettre à un enseignant de rechercher des exercices
par mot-clé pour créer un TD dans un enseignement donné.
-
permettre à un enseignant de créer et de lier
une correction à un TD donné.
-
permettre à un enseignant de créer des sujets de projet
(aussi décrits en XML).
-
appliquer des feuilles de styles uniques pour un ensemble de
de TD (feuille de style XML vers HTML, XML vers PDF).
-
générer les index permettant de parcourir le site jusqu'à
l'enseignement voulu (l'index est lui aussi être généré
par une feuille de style).
-
organiser un ensemble de TD pour un enseignement donné.
-
Les exercices, TD, index etc... doivent tous être stockés
au format XML.
fonctionalités optionnelles
Voici une liste des fonctionnalités optionnelles
-
Reconnaître le format OpenOffice (SXW) comme source XML
d'exercices (le format SXW correspond à plusieurs
fichier XML zippé).
-
Possibilité d'associer une FAQ pour chaque exercice.
-
Permettre de choisir entre un stockage XML ou en base
des utilisateurs.
-
Avoir un petit éditeur sur une page Web qui permette
de saisir directement un exercice sans taper de balise XML
(voir Mozilla Midas).
-
Permettre à un enseignant de créer un QCM à partir de questions
déjà rentrées (recherche par mot-clé également).
Phases de création du projet
Voici les différentes phases de réalisation :
- Analyse/Conception
- Cahier des charges fonctionnelles (analyse)
- Planning (analyse)
- Charte graphique zoning/spécification/style/ergonomie
- Cahier des charges techniques (conception détaillée)
- Production
- Developpement
- Intégration, paramétrage
- Controle qualité, tests unitaires
- Prototype
- Version Finale
Calendrier
-
Cahier des charges fonctionnel - le 24 fevrier 2003
- Diagramme d'acteurs
- Diagramme d'interactions
- Uses cases (par paquetage) diagramme+texte
- Planning prévisionnel (diagramme de Gantt)
-
Spécification d'interface graphique - le 10 mars 2003
- Planning
- Zoning de l'interface graphique
-
Cahier des charges techniques - le 17 mars 2003
- Diagramme de séquence
- Diagramme de classes
-
Bibliothèques et logiciels externes utilisés
(choix justifiés + études techniques)
-
Version béta - le 28 avril 2003
- Cahier des charges fonctionnelles
- Cahier des charges techniques
- Script de configuration (ANT+BDD)
- Test unitaire (JUnit)
- Rapport de bugs
- Manuel utilisateur
-
Version finale - dernière semaine de mai 2003
Même chose que pour la version béta, plus
des transparents pour la soutenance.
Organisation des sources du projet
L'organisation ci-dessous est une organisation proposée :
-
src : qui reproupe l'ensemble des sources Java.
Notons que les sources Java doivent être organisées
sous forme de paquetages.
De plus, il est demandé les scripts Ant
qui permettent de compiler, créer le jar à partir des sources Java.
-
classes : qui reproupe l'ensemble
des classes par paquetage (ayant pour racine fr.umlv.
-
docs : qui contient l'ensemble des documentations
- la documentation utilisateur ;
-
la documentation développeur
(toutes les docs crées lors de l'analyse et la conception) ;
- la JavaDoc (stockées dans le sous repertoire api).
.
-
webapp : qui contient un Jar correspondant à
l'application Web demandée.
Références
Rémi Forax - Université de Marne La Vallée