Projet 2014-2015

De $1

Modalités

Pour le projet, des groupes aléatoires de 3 ou 4 étudiants ont été constitués. L'utilisation d'un gestionnaire de source est obligatoire. Il doit être accessible par le chargé de TPs et les logs de commit pourront être évalués pour la notation finale.

Dans le cadre du module SMZG111 Programmation Avancée le projet sera évalué en fonction des critères suivants :

  • fonctionnalité
  • mécanisme de gestion de plugins et de chargement dynamique
  • persistance
  • modularité et dépendances
  • documentation / gestion du projet 

Chacun de ces critères comptant pour 20% de la note de rendu du projet. Cette note sera commune à tout le groupe sauf si il existe une différence trop importante dans le travail fourni entre les membres.

Vous devez remettre votre projet au plus tard le dimanche 15 décembre à minuit. Le chef de projet doit envoyer un e-mail à son chargé de TP en mettant en copie ses équipiers. Le mail aura obligatoirement un titre de la forme [Miage][M1][POO] Projet [Nom du projet] -<Nom de famille des équipiers>

Le corps du mail doit obligatoirement contenir :

  • Le NOM et prénom des participants du projet
  • Une archive contenant les sources du projet (un projet Eclipse ou NetBeans), pas les binaires !
  • Un .jar exécutable qui aura été préalablement testé
  • Un rapport (20 pages maximum) qui décrit
    • La participation de chacun des membres de l'équipe ;
    • La procédure à suivre pour tester votre projet ;
    • Un calendrier des grandes étapes du projet (par membre) ;
    • Pour chacun des 5 points énoncés au début (fonctionnalité, chargement dynamique, persistance, modularité, suivi), la façon dont ils ont été adressés ou pas et les aspects remarquables.  
  • La procédure pour créer de nouveaux plugins 
  • Plusieurs exemples de plugins (au moins 6) avec une courte description (10 lignes maximum) de ce qu'ils font.

Le contenu du mail (si trop gros) peut également être déposé sur un site de gestion de code (type google code ou assembla). Il faudra penser à garder une copie locale au cas où le site tombe en panne la veille de la démonstration.

Une soutenance orale (par groupe) aura lieu le lundi 12 janvier selon un ordre de passage annoncé ultérieurement. Cette présentation orale de 20 minutes aura pour but de mettre en lumière la contribution individuelle de chaque membre du groupe. Cette note de soutenance sera individuelle. 

La note finale de projet sera calculée en faisant la moyenne de la note de rendu de projet (50%) et la note de soutenance (50%).

Sujet

Le but de ce projet est de construire un logiciel de gestion de fichier (type Explorateur windows, Finder Mac) dont les fonctionnalités pourront être étendues par plugin.

De base, le logiciel offrira une vue permettant de naviguer dans une arborescence de fichiers et d'avoir des informations basiques telles que la taille ou la date de modification des fichiers. Il devra être possible d'ajouter des plugins au logiciel pour changer son apparence ou ajouter de nouvelles fonctionnalités. Chaque plugin devra proposer une fenêtre de configuration permettant de modifier son comportement, et son état devra être sauvegardé sur disque. De plus, l'état de l'ensemble de l'application devra être sauvegardé sur le disque, de façon à la restaurer quand l'utilisateur la relance. Il y aura au moins deux types de plugins, qui ne sont pas mutuellement exclusifs (i.e un plugin d'analyse peut être aussi un plugin de vue).

Plugins de vue

Les plugins de vue permettront d'afficher une autre visualisation des répertoires/fichiers que celle par défaut. Par exemple, colorier les noms des fichiers en fonction des droits d'accès ou de leur propriétaire, affichier les images en miniature...

Plugins d'analyse

Ces plugins traiteront un répertoire ou une arborescence pour en extraire des nouvelles informations. Par exemple, un plugin pourra calculer la taille occupée par chacun des répertoires, un autre pourra chercher les fichiers identiques (MD5). L'affichage de ces informations pourra se faire dans le même plugin ou nécessiter le recours d'un plugin de vue.

Remarques

Outre l'aspect visuel et l'utilité des plugins développés, la qualité et la robustesse du logiciel sera un critère important pour l'évaluation. En particulier, l'ajout et la suppression de plugin doit pouvoir se faire à chaud. Toutes les erreurs doivent être gérer proprement.

Scénario pour l'évaluation

Afin d'évaluer vos projets, voici un ensemble d'étapes qui sera effectué. Vous devez vous assurer que ce scénario marche sur n'importe quelle machine. Le projet sera testé sur un Linux ou un Mac avec un Java 8.

  1. Compilation du projet (maven ou ANT)
    1. Génération d'un jar exécutable (l'explorateur de fichier)
    2. Création d'une arborescence contenant des plugins de base chargés dés le lancement de l'application
    3. Création d'une arborescence séparée contenant des plugins que l'utilisateur pourra ajouter à l'application
  2. Démarrage de l'application avec java -jar ...
  3. Déplacement dans l'arborescence, ajout/suppression de plugins...

Le but de cette évaluation est d'avoir un aperçu rapide de votre programme afin de préparer la présentation orale.

 

 

Mots clés:
 
Images (0)
 
Commentaires (0)
Vous devez être connecté pour poster un commentaire.