Olivier Catry
Vincent Meunier
Alexandre Hamon
Ronan Postec

Cahier des charges
02 Avril 2010

Analyse

Les étudiants sont actuellement notés par matière.
Le besoin est le suivant : les étudiants doivent aussi être notés selon leurs compétences.
Chaque matière fait intervenir un ou plusieurs domaines de compétences, ces informations sont données.

Le projet est la réalisation d'un programme indiquant pour chaque étudiant l'état de ses compétences, en fonction des notes obtenues aux matières.

Ce projet est réalisé dans le cadre des projet de génie logiciel de troisième année à l'école Polytechnique de Nantes.
Une réunion avec le client a déjà eu lieu, au cours de laquelle les besoins ont été exprimés.
Ce projet doit permettre au client de juger nos qualités de travail en équipe et de gestion de projet.

A l'état final, le programme sera un éxécutable, nécéssitant la présence des informations (notes des étudiants et répartition des matières par compétence), fournissant un navigateur d'étudiant, et l'état des compétences pour chacun d'entre eux.
Cet état des compétences est un pourcentage de réussite de la compétence, qui peut être représenté graphiquement.

Une contraine de temps est imposée : le projet doit être réalisé avant le 1er Juin 2010.

Besoins fonctionnels

Une feuille de calcul type Excel pourrait répondre au besoin, mais la portabilité et la qualité d'utilisation sont trop faibles.
Le programme demandé doit avoir l'avantage d'être utilisable à tout moment, sur une machine ne possédant pas de logiciel tableur.
La mise à jour des informations d'entrée doit pouvoir être prise en compte par le programme.
Des besoins supplémentaires peuvent être exprimés : 
1) la visualisation des notes par matière au sein de l'interface du programme.
2) la mise à jour des informations d'entrée via l'interface du programme.
Il doit être suffisamment aisé de maintenir le programme pour implémenter ces fonctionnalités dans le futur.

Les critères du programme sont les suivants :
- Portabilité
- Rapidité d'utilisation
- Clareté
- Maintenabilité

Cadre de Reponse

Pour répondre au besoin de portabilité :
Le programme ne doit pas nécéssiter d'installation, il doit consister en un éxécutable, fonctionnant à l'aide des informations d'entrée, qui sont des fichiers annexes.
Un éxécutable ne nécéssitant aucune librairie externe doit être réalisé.
L'éxécutable doit fonctionner sur des systèmes de type Windows.

Pour répondre au besoin de rapidité d'utilisation :
La dimension des tableaux ne dépasse pas l'ordre de 10x10, et il y a peu d'étudiants, donc le parcours et les opérations sur les données peut se faire selon des algorithmes simples sans perte de vitesse.

Pour répondre au besoin de clareté :
Une interface graphique doit être réalisée.
Un menu déroulant doit permettre de sélectionner un étudiant.
Pour chaque étudiant, les données doivent être affichées.
Les données sur l'état des compétences, pour répondre au besoin de représentation graphique, peut être représenté par une jauge. (une jauge pleine signifiera que toutes les matières impliquant la compétence ont délégué une note de 20/20)

Pour répondre au besoin de maintenabilité :
De nombreux parcours de tableaux seront programmés, et beaucoup de relations entre les données existent. Le programme doit donc mettre en application une base de donnée, ou alors être orienté objet. Nous avons fait le choix de l'orientation objet, avec fichiers en entrée.
Le nombre de données doit pouvoir être variable.

Ces réponses apportent la réponse au besoin global :
Le programme sera réalisé en java, et les données d'entrée doivent être au format CSV. Le CSV est un format reconnu et exportable depuis tous les logiciels tableurs
Le traitement de donnée se fera à l'aide de la librairie Java CSV Library.
L'interface se fera à l'aide de la libraire Java Swing.

Tests de recette

La procédure de test de recette est la suivante :

1 : Lancer le programme tel qu'il est fourni sur la machine du client
2 : Choisir un étudiant dans la liste
3 : Acquérir son bilan de compétence
4 : Choisir un autre étudiant dans la liste
5 : Acquérir son bilan de compétence
6 : Quitter le programme
7 : Ajouter un étudiant dans les données (via le logiciel tableur habituel) et enregistrer au format CSV selon les critères demandés
8 : Reprendre les procédures 2 à 6
9 : Supprimer un étudiant dans les données
10 : Reprendre les procédures 2 à 6

Si l'étape d'acquisition des compétences a toujours fonctionné et a toujours rendu le bilan de compétence correct, relatif à l'étudiant et ses résultats, alors les tests de recette sont réussis.

Scénarios alternatifs :
1-1 : Lancer le programme en ayant supprimé les données annexes
2-1 : Le programme ne doit rien charger, et ne proposer aucun choix d'étudiant à analyser.

1-2 : Reprendre les procédures 1 à 3.
2-2 : Supprimer les données annexes
3-2 : Reprendre les procédures 4 à 5. Elles doivent fonctionner et afficher le bilan de compétence de l'étudiant choisi.