INF2 – PROJET DE G´
ENIE LOGICIEL 2010-2011
EMMANUEL BRUNO
1. Objectifs et organisation
1.1. Objectifs. Ce projet a pour objectif pratique de r´ealiser un outil simple
d’autoformation `a l’algorithmique et `a la programmation de base. Cet outil est
destin´e `a deux cat´egories d’utilisateurs : les enseignants qui pourront ajouter des
algorithmes (une description et le code source) `a la base existante et suivre les
progr`es des ´etudiants, les ´etudiants qui pourront consulter les algorithmes mais
aussi tester leur propre solution.
L’objectif p´edagogique principal est la mise en pratique des concepts ´etudi´es en
cours et appliqu´es en TP dans le cadre d’un projet complet :
•Analyse du probl`eme et conception d’une solution simple mod´elis´ee avec
un diagramme de classe UML.
•Implantation de la solution en Java en utilisant :
–Les concepts de base fournis par java (Interfaces, classes abstraites,
h´eritage, r´eutilisation, la documentation avec javadoc, . . . )
–Les fonctionnalit´es des paquetages classiques (interface graphique avec
Swing, connexion via JDBC au SGBDR Postgresql, chargement et
ex´ecution dynamique de classe, . . . ).
–Les extension classiques (les tests unitaires avec Junit, la gestion des
logs avec log4j ou le jdk . . . )
Ce projet est compos´e de deux parties. La premi`ere comprend la gestion
classique de donn´ees en Java (Cr´eation et consultation des algorithmes
dans un SGBDR via une IHM). La seconde est d´edi´ee `a la v´erification de
l’implantation d’un algorithme propos´ee par un ´etudiant par rapport `a une
solution de r´ef´erence.
1.2. Organisation du projet. Cette section d´ecrit les deux parties du projet. La
premi`ere est une application directe du cours et la seconde demande un peu plus
de recherche personnelle.
2. Gestion des donn´
ees
La premi`ere partie du travail consiste `a fournir un outil permettant la gestion des
algorithmes (une liste d’algorithmes est disponible ici :http://zanotti.univ-tln.
fr/ALGORITHMIQUE/).
Un algorithme est d´ecrit par un code `a trois champs : le domaine (NUM pour
num´erique, GRA pour graphe, DON pour traitement de donn´ees,. . . ), le type (ITR
pour it´eratif, REC pour recursif), et le niveau de difficult´e (de 0 `a 3). Pour chaque
algorithme on disposera au moins de son nom, d’une description en HTML et d’un
pseudo-code. On pourra aussi avoir le programme en langage C correspondant.
Les utilisateurs de cette application sont de deux types : Les enseignants et les
´etudiants. Les enseignants ajoutent des algorithmes ou les modifient. Les ´etudiants
consultent les algorithmes. La formation des ´etudiants est d´ecoup´ee en ´etapes
(L1,L2,L3,M1,M2), et chaque ´etudiant appartient `a une promotion (une ´etape et
Date: d´ecembre 2010.
1