3.7 KiB
PRODUCT BACKLOG — Projet PIF
1. US UTILISATEUR
Ce sont les besoins réels d’un utilisateur final qui voudrait simplement visualiser ou convertir une image.
US-U1 — Ouvrir un fichier PIF
En tant qu’utilisateur, je veux pouvoir ouvrir un fichier .pif via un argument ou un sélecteur de fichiers, afin d’afficher l’image.
US-U2 — Afficher l’image dans une fenêtre
En tant qu’utilisateur, je veux voir l’image affichée dans une fenêtre redimensionnable.
US-U3 — Centrage automatique
En tant qu’utilisateur, je veux que l’image soit centrée si elle est plus petite que la fenêtre, pour une meilleure visibilité.
US-U4 — Déplacement de l’image
En tant qu’utilisateur, je veux pouvoir déplacer l’image à la souris si elle dépasse la taille de la fenêtre.
US-U5 — Charger une image RGB (PNG/JPEG)
En tant qu’utilisateur, je veux charger une image standard afin de la convertir en .pif.
US-U6 — Exporter une image au format PIF
En tant qu’utilisateur, je veux enregistrer l’image sous format .pif.
US-U7 — Aperçu de l’image avant conversion
En tant qu’utilisateur, je veux voir une miniature de l’image chargée.
2. US DÉVELOPPEUR
Ce sont les besoins techniques indispensables au fonctionnement interne du format PIF.
US-D1 — Lire des bits depuis un flux
Le système doit permettre la lecture bit par bit depuis un fichier PIF.
US-D2 — Écrire des bits dans un fichier
Le système doit permettre l’écriture de bits pour générer un fichier PIF.
US-D3 — Construire les tables de fréquences RGB
Le système doit analyser l’image pour obtenir les fréquences des valeurs R, G, B.
US-D4 — Construire un arbre de Huffman
Le système doit créer un arbre à partir des fréquences d’une composante.
US-D5 — Générer les codes Huffman
Le système doit produire les codes initiaux à partir de l’arbre.
US-D6 — Générer les codes canoniques
Le système doit transformer les codes Huffman en codes canoniques.
US-D7 — Reconstruire les codes canoniques en lecture
Le système doit pouvoir reconstruire les codes à partir des longueurs contenues dans le fichier .pif.
US-D8 — Décoder un fichier PIF
Le système doit pouvoir reconstituer l’image RGB à partir des données compressées.
3. US PROFESSEUR (PEDAGOGIQUE)
Ces fonctionnalités n’ont aucune utilité pour un utilisateur réel, mais sont demandées par le professeur pour vérifier le bon fonctionnement de notre projet.
US-P1 — Affichage des tables de fréquences
En tant que professeur, je veux consulter la table de fréquences R, G et B pour vérifier que le calcul est correct.
US-P2 — Affichage des codes Huffman
En tant que professeur, je veux voir les codes Huffman générés afin de valider votre algorithme.
US-P3 — Affichage des codes canoniques
En tant que professeur, je veux visualiser les codes canoniques afin d’évaluer votre compréhension de leur construction.
US-P4 — Affichage de l’arbre Huffman (optionnel)
En tant que professeur, je veux pouvoir inspecter la structure de l’arbre pour vérifier votre implémentation.
US-P5 — Documentation Javadoc pour chaque classe
En tant que professeur, je veux avoir une documentation claire auto-générable.
US-P6 — Diagrammes UML dans le rapport
En tant que professeur, je veux retrouver un diagramme de classes et un diagramme d’objets dans le rapport.
US-P7 — Makefile complet
En tant que professeur, je veux pouvoir compiler les deux programmes en .jar exécutables avec un Makefile clair.