Files
SAE32_2025/ProductBacklog.MD
T
2026-01-03 13:08:16 +01:00

91 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.