Projet JAVA
1 Présentation
Le sujet présente une problématique générale et une approche pour résoudre de
façon pratique, cette problématique. Certains points ne sont pas totalement
spécifiés car c’est justement à l’étudiant d’être capable de s’en accommoder.
Le prof peut agir comme le “client” et aider l’étudiant à spécifier certains de ces
points.
2 Documents définitif à fournir :
Pour ce projet, vous aurez à fournir :
1. Un rapport sur papier comportant entre 8 et 15 pages. Celui-ci rappelle la
problématique du projet et en donne les spécifications. Il détaille ensuite
l’analyse effectuée par l’étudiant et comment celle-ci est implémentée
(conception). Un soin particulier doit être pris pour expliquer comment les
diverses tâches ont été réparties entre les différents étudiants travaillant sur le
projet. Il est très important également de rappeler que ce rapport ne doit pas
comporter les lignes de codes du logiciel. Enfin, le rapport doit présenter les
tests effectués, une conclusion et des perspectives.
2. Le code source (sous la forme d’une archive .zip ou .tar.gz). Il s’agit de
l’ensemble des fichiers permettant de compiler et exécuter votre logiciel. Le
code doit être correctement présenté (indentation), clair (utilisation de norme
précise pour les noms) et commenté (intelligemment).
L’ensemble de ces fichiers est à fournir sous la forme d’une archive (.zip ou
.tar.gz).
3 Cahier de charge :
Ce projet consiste à développer une application de gestion des projets
académiques.
Les projets académiques sont de trois types : -Projet de Fin année ( durée 2 mois
) - Projet Fin d’étude ( durée 5 à 6mois ) – Doctorat ( 3 à 6 ans).
Les projets de fin d’année et de fin d’étude ont un seul encadrant, un doctorat
peut avoir deux encadrant dont un au minimum est un PH ou un PES et
membres d’un laboratoire.
Les projets doivent avoir un lieu (entreprise ou laboratoire, pour un doctorat
c’est obligatoirement un laboratoire).
Une entreprise est définit par une raison sociale, adresse, téléphone, email et
responsable
Un laboratoire est définit par un nom, email, responsable (un professeur de
l’école) et membre (doctorants + professeurs)
Un département est définit par nom, email, chef département (professeur de
l’école) et des membres (professeurs de l’école)
Une filière est définit par un nom, un département d’attache, un
coordonnateur(membre du département d’attache).
Un professeur est définit par un nom, prénom, email, département , grade.
Un étudiant est définit par un nom, prénom, email, filière, niveau
Un projet est définit par un titre, une durée, date départ, des étapes….
Une étape est définit par une durée, étape de départe, documentation (fichiers) et
une livraison(fichier)
Le projet est divisé en trois partie :
1. Backoffice : Partie pour gérer les utilisateurs ( projets ,étudiants,
département, filières, entreprises, laboratoires et professeurs)
1.1. Ajout, modification, suppression, archivage et édition des professeurs
1.1.1. Un professeur doit être attaché à un département et définir son rôle
(membre ou chef département)
1.1.2. Un professeur peut être affecté à un laboratoire
1.1.3. Un coordonnateur d’une filière est désigné par le chef du
département d’attache
1.1.4. Un professeur peut être supprimé si seulement n’as aucun projet
1.1.5. Un professeur peut être archivé que si n’as aucun projet en cours,
un professeur archivé n’ encadré plus de projet.
1.2. Ajout, modification, suppression et édition ( par groupe ou par personne)
des étudiants ( les étudiants peuvent être ajoutés par un fichier Excel)
1.3. Création, affectation (étudiant et professeur), modification, édition des
projets
1.3.1. Un projet ne peut pas être affecté à deux étudiants
1.3.2. Un étudiant ne peut pas avoir plus d’un projet en cours
1.3.3. Les projets PFE démarrent en février au plus tôt et se terminent en
septembre au plus tard
1.3.4. Les projets PFA démarrent en Juin et se terminent en Aout
1.3.5. Les doctorats démarrent en octobre.
1.3.6. Les projets PFE et PFA sont affectés par un le coordonnateur de la
filière
1.3.7. Les projets de doctorat sont affectés par le directeur du laboratoire
1.4. Ajout, modification, suppression et édition des départements, entreprises,
filières, laboratoires
2. Front office : Partie de gestion des projets et partage de documentation
2.1. Le professeur définit les étapes et livrables de chaque projet, valide
l’avancement du projet et sa clôture, définit les rendez-vous et valide leurs
rapports
2.2. L’étudiant consulte ses rendez vous, dépose les livrables ainsi que les
rapports
2.3. Le professeur et les étudiants ont le droit de déposer des documents
(chargement, mots clés…). Chaque document dépend du projet et la
recherche s’effectue par des mots clés. L’étudiant à le droit de consulter
que les documents de son projet.
3. Reporting : Partie des statistiques
3.1. Le professeur consulte les statistiques d’avancement de chaque projet
ainsi que tous les projets ou par type de projet.
3.2. L’administrateur peut consulter en plus les statistiques d’avancement de
tous les projets ou par type de projet
Les contraintes techniques imposés sur le projet sont les suivants :
1. La base de donnée est commune entre Back office, Front office et Reporting
2. Les interfaces graphiques du back office : Swing
3. Les interfaces graphiques du back office : JavaFX
4. Les interfaces graphiques du back office : Swing ou JavaFX ou une autre
technologie de Java
4 Le rapport :
Le rapport doit comporter :
1. Une introduction : elle replace ce rapport dans le contexte de votre formation.
2. Les spécifications : partie normalement rédigée conjointement avec le client
qui comprend une description en langue naturelle de ce que doit faire le
programme. Dans notre cas, les spécifications seront rédigées à partir des
énoncés et des questions posées à l’enseignant.
3. L’analyse : cette partie explique comment les spécifications vont être
réalisées. Elle comporte :
•La maquette des interfaces graphique
•Le dictionnaire des données
• MCD
Toute autre ajout sera le bienvenu pour bien expliquer le projet.
4. La conception : cette partie explique comment l’analyse est implémentée,
c’est-à-dire :
• La conception générale de chaque partie de projet (Architecture de chaque
partie du projet)
• détailler les problèmes que vous avez rencontrés, comment vous les avez
résolus, contournés ou non.
• donnez un exemple commenté d’utilisation du logiciel du début à la fin.
5. La validation : spécifier les procédures de test de votre logiciel, c’est-à-dire :
• les tests unitaires : comment les méthodes ont été testées individuellement ?
Donnez quelques résultats ;
• les tests globaux : en utilisant votre interface, quels cas particuliers avez-vous
testés ?
6. La maintenance : donnez quelques évolutions possibles du logiciel. Quelles
sont les fonctionnalités que l’on peut rajouter et comment ? Pourquoi cela sera-t-
il facile ou difficile ?
7. Une conclusion : quel est votre avis sur ce projet, sur les résultats produits et
sur les perspectives éventuelles ?
8. Un guide d’industrialisation devra être ajouté en annexe.
6 Notes complémentaires :
• Tout étudiant peut être appelé à présenter son projet à l’enseignant et à
répondre à ses questions, même si le projet a été réalisé à plusieurs. Cette
présentation peut rentrer dans le calcul de la note finale du projet.
• Un programme qui fonctionne mais qui fait peu de choses sera mieux noté
qu’un programme qui ne fonctionne pas du tout (par définition qui ne fait rien).
Autrement dit : l’étendue des fonctionnalités réalisables par l’interface (et qui
fonctionne) est un critère important.
• Plus les mécanismes objets et les particularités de JAVA seront mis à profit,
plus la note sera élevée (et inversement).
•Une bonne gestion du projet sera appréciée lors de la soutenance (Une bonne
répartition des taches, diagramme de gant : décrit le déroulement du projet …)
• L’utilisation du code d’autres auteurs (et libre de droit) est autorisée à
condition qu’elle soit clairement signalée. Ces codes ne seront simplement pas
pris en compte dans la note. Au contraire, une utilisation non signalée annule le
reste du travail.
Bonne chance !