Files
SAE32_2025/ProductBacklog.MD
T

91 lines
3.7 KiB
Markdown
Raw Normal View History

2025-12-13 10:39:45 +01:00
# PRODUCT BACKLOG — Projet PIF
# 1. US UTILISATEUR
Ce sont les besoins réels dun utilisateur final qui voudrait simplement visualiser ou convertir une image.
---
### **US-U1 — Ouvrir un fichier PIF**
En tant quutilisateur, je veux pouvoir ouvrir un fichier `.pif` via un argument ou un sélecteur de fichiers, afin dafficher limage.
### **US-U2 — Afficher limage dans une fenêtre**
En tant quutilisateur, je veux voir limage affichée dans une fenêtre redimensionnable.
### **US-U3 — Centrage automatique**
En tant quutilisateur, je veux que limage soit centrée si elle est plus petite que la fenêtre, pour une meilleure visibilité.
### **US-U4 — Déplacement de limage**
En tant quutilisateur, je veux pouvoir déplacer limage à la souris si elle dépasse la taille de la fenêtre.
### **US-U5 — Charger une image RGB (PNG/JPEG)**
En tant quutilisateur, je veux charger une image standard afin de la convertir en `.pif`.
### **US-U6 — Exporter une image au format PIF**
En tant quutilisateur, je veux enregistrer limage sous format `.pif`.
### **US-U7 — Aperçu de limage avant conversion**
En tant quutilisateur, je veux voir une miniature de limage 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 limage 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 dune composante.
### **US-D5 — Générer les codes Huffman**
Le système doit produire les codes initiaux à partir de larbre.
### **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 limage RGB à partir des données compressées.
---
# 3. US PROFESSEUR (PEDAGOGIQUE)
Ces fonctionnalités nont **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 larbre Huffman (optionnel)**
En tant que professeur, je veux pouvoir inspecter la structure de larbre 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 dobjets 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.