Projet de Licence Java

Le but de ce projet est de réaliser une application permettant de calculer des métriques sur un code Java.

Modalité

Ce projet est à faire par binôme (toujours 2 personnes max). et est à rendre pour le lundi 12 mai.
L'archive ZIP contenant l'ensemble du projet devra être envoyé simultanément aux adresses : forax@univ-mlv.fr, dr@univ-mlv.fr et bedon@univ-mlv.fr.

Introduction

Une métrique est une mesure effectuée sur le code permettant de quantifier un aspect de celui-ci.
Par exemple, il existe des métriques permettant de savoir quelle est le coût de développement ou de maintenance d'un projet. Ces métriques sont des fonctions qui dépendent par exemple du nombre de champs et/ou de méthodes par classe, du nombre de types utilisés, du nombre de classes hérités, etc..
Le but de ce projet est de fournir une application permettant de calculer une métrique pour un code java et de rajouter facilement de nouvelles métriques. L'accent devra être mis sur une réalisation propre et objet de l'application.

Fonctionnalités

L'application manipule deux concepts différents :

  1. Les métriques (Metric) qui évaluent chaque item (classes, paquetages, champs, etc ...) du code
  2. Les parcours (Traversal) qui permettent d'indiquer le parcours et sur quel ensemble d'items une métrique devra travailler
Chaque métrique et chaque parcours possède un nom qui permet à un utilisateur d'indiquer sur la ligne de commande quelle métrique et optionnellement quel parcours il veut utiliser pour son code. L'application devra utiliser les classes et interfaces suivantes :

Parcours

Voici une liste de parcours à implanter ainsi que leur nom

Vous devrez peut-être implanter d'autre parcours, pour pouvoir implanter correctement les métriques ci-dessous.

Métriques

Voici une liste des métriques à implanter ainsi que leur nom

En plus de ces métriques, vous devrez implanter une métrique complexe maintenance permettant de mesurer le coût de maintenance d'un projet.
Si vous voulez de plus amples informations sur les différentes métriques existantes, le Web est à vous.

JavaDoc

L'outil javadoc permet non seulement de générer la documentation d'un projet Java mais permet aussi par l'intermédiaire de doclet de travailler directement sur le source d'un projet.
Nous utiliserons ici cet outil pour obtenir une représentation des sources Java en mémoire.

En ligne de commande

L'application possède deux utilisations distinctes :

Organisation du projet sur le disque

L'archive zip devra contenir les fichiers et répertoires suivants :

  1. un fichier build.xml, script de compilation ANT
  2. un répertoire src contenant les sources Java (organisées dans un ou plusieurs paquetages)
  3. un répertoire classes contenant l'ensemble des classes du projet.
  4. un répertoire lib contenant une l'archive jar correspondant à l'application
  5. un répertoire docs contenant la documentation
  6. Un répertoire bin contenant deux fichiers run.sh et run.bat permettant de lancer l'application resepectivement sous linux et sous windows.

Références