Vous êtes sur la page 1sur 7

[A COMPLETER]

Baccalaurat S Informatique et Sciences du Numrique


PROJET Dossier de prsentation du projet (consignes et contenus)
Acadmie : Orlans-Tours Lyce ou Centre de formation : XXXXXX Ville : XXXXXX Nom du projet : Compresseur de Huffman Projet propos et suivi par : Mr XXX (professeur), Mr XXX (professeur) Points cls du projet : Algorithmique Programmation Rseaux
Rcapitulatif des projets du Lyce ou du Centre de Formation Projet N1 : Compresseur de Huffman Projet N2 : xxx Projet N3 : xxx Projet N4 : xxx Projet N5 : xxx Nombre d'tudiants concerns 2 x x x x

Session : 2013

Baccalaurat S, spcialit ISN

[A COMPLETER]

Prsentation du projet

Le projet consiste raliser un logiciel compresseur/dcompresseur de fichiers. La partie compresseur utilisera lalgorithme de Huffman. La partie dcompresseur ne dcompressera que les fichiers ayant t compresss par la partie compresseur.

2
2.1

Expression du besoin
Description technique du projet
Un compresseur/dcompresseur de fichiers crit en Python et donc portable sur tout systme dexploitation possdant linterprteur Python version minimale 2.6.x. Ce logiciel o Fonctionnera en invoquant linterprteur python en ligne de commande o Demandera lutilisateur un fichier compresser ou dcompresser o Compression : gnrera une version compresse du fichier dentre selon lalgorithme de Huffman o Dcompression : gnrera une version dcompresse du fichier dentre Une documentation utilisateur (format HTML) du logiciel.

Il sagit de raliser :

2.2

Architecture du compresseur

Larchitecture du compresseur devra respecter le diagramme dactivit suivant :

Baccalaurat S, spcialit ISN

[A COMPLETER]

2.2.1

Fonction LireFichierDonnees() Entre : Nom de Fichier Sortie : Toutes les donnes du fichier (charges en mmoire)

Fonctionnement : Ouverture du fichier Lecture de toutes les donnes dans une variable Fermeture du fichier
Baccalaurat S, spcialit ISN 3

[A COMPLETER]

2.2.2

Fonction AfficherStatistiques() Entre : Sortie : Donnes Aucune Fonctionnement : Affichage de la longueur des donnes (en octets), de lentropie de ces donnes (en bits), de la taille minimale thorique des donnes aprs une compression optimale

2.2.3

Fonction CalculerOccurences() Entre : Donnes Sortie : Dictionnaire du nombre doccurrences de chaque octet dans les donnes (dictionnaire 256 entres)

Fonctionnement : Compte le nombre dapparition de tous les octets possibles (0 255) dans les donnes dentre, et cre le dictionnaire 2.2.4 Fonction InitialiserHuffman() Entre : Dictionnaire des occurrences Sortie : Liste de nuds de Huffman, un nud par octet Un nud contient : valeur octet, nombre doccurrences, code binaire de Huffman (vide), nud fils gauche (vide) nud fils droit (vide)

Fonctionnement : Cre un nouveau nud pour chaque octet (256 nuds crer)

2.2.5

Fonction ConstruireArbreHuffman() Entre : Liste des nuds Sortie : Arbre de Huffman, racine = un nud Un nud contient : valeur octet, nombre doccurrences, code binaire de Huffman (vide), nud fils gauche (ventuellement vide) nud fils droit (ventuellement vide)

Fonctionnement : Assemble les nuds conformment lalgorithme de Huffman 2.2.6 Fonction DeterminerCodesHuffman() Entre : Arbre de Huffman Sortie : Dictionnaire des codes de Huffman (256 entres)

Fonctionnement : Parcours larbre de Huffman pour dterminer les codes de Huffman de chaque nud feuille, puis cre le dictionnaire de ces codes

Baccalaurat S, spcialit ISN

[A COMPLETER]

2.2.7

Fonction EcrireFichierCompresse() Entre : Sortie : Nom de fichier compress Fichier compress Donnes Dictionnaire des codes de Huffman Fonctionnement : Ouvre le fichier en criture Ecrit lentte permettant au dcompresseur de pouvoir dcompresser correctement Ecrit les donnes compresses en remplaant chaque octet de Donnes par son code de Huffman (cf. dictionnaire) Ferme le fichier

2.3

Architecture du dcompresseur

[A COMPLETER]

3
3.1

Moyens disponibles et contraintes de ralisation


Contrainte de dveloppement

Le cycle de dveloppement prconis est de type cycle en V .

FAIT

Le projet dbutera par : Une identification des solutions techniques retenir pour la conception dtaille Une identification des outils de dveloppement et de test ncessaires

3.2

Documents et moyens technologiques mis disposition


1 PC Dveloppement sous Windows par tudiant Accs Internet complet pour recherche dinformations techniques

3.3

Exigences sur la livraison

Les livrables du projet, fournir sur CDROM, sont : Un fichier huffman.py pour le compresseur/dcompresseur Une documentation utilisateur (manuel dutilisation) au format HTML

Baccalaurat S, spcialit ISN

[A COMPLETER]

Planification temporelle prvisionnelle


Semaine 03 Semaines 09 et 10 Semaine 11 Semaines 17 et 18 Semaine 19 Fin semaine 22

Total des heures consacres au projet = 16 semaines * 2 heures hebdomadaires projet = 32 heures Remise des sujets de projet Vacances dhiver Revue N1 Vacances de printemps Revue N2 Remise des dossiers et des livrables

Rpartition des tches


Fonctions dvelopper ou tches effectuer

Travaux en commun

Elve E1 Accs fichier

Elve E2 Huffman

Analyse du problme, recherche de solutions techniques Spcifications dtailles des fonctions (paramtres, valeur de retour) Intgration Analyse des rsultats LireFichierDonnees() AfficherStatistiques() CalculerOccurrences() EcrireFichierCompresse() Gnration des donnes pour analyse : cas idal, cas pathologique, etc. InitialiserHuffman() ConstruireArbreHuffman() DeterminerCodesHuffman()

Baccalaurat S, spcialit ISN

[A COMPLETER]

6
6.1

Exploitation pdagogique et valuation


Compte-rendu dactivit
Dure Travail ralis Remarques et/ou problmes rencontrs

Pendant le droulement du projet, chaque lve doit tenir jour un compte-rendu dactivit selon le modle suivant : Date

6.2

Rapport

Le rapport final du projet, support de lvaluation, nexcdera pas 10 pages et devra contenir dans lordre suivant : 1. Rappel du cahier des charges 2. Architecture logicielle et rpartition du travail par tudiant 3. Algorithmes importants et leur codage 4. Tests unitaires et tests dintgration 5. Analyse des performances a. Comportement du logiciel avec des donnes standard i. Temps de rponse en fonction du volume de donnes ii. Taux de compression en fonction du type de donnes b. Comportement du logiciel avec des donnes idales i. Donnes idales gnres par un des membres de lquipe c. Comportement du logiciel avec des donnes pathologiques i. Donnes pathologiques gnres par un des membres de lquipe 6. Conclusion

6.3

Interrogation orale
Structure de l'preuve
Dure : 20 minutes maximum Coefficient : 2 Note sur 20 points la date fixe par le professeur charg de l'enseignement d'informatique et sciences du numrique, le candidat se prsente l'entretien muni de son dossier-projet. Celui-ci sert uniquement de support l'preuve et n'est pas valu en tant que tel. L'preuve est compose de deux parties qui se droulent conscutivement.

Extrait du bulletin officiel spcial n7 du 6 octobre 2011 :

Premire partie - valuation d'un projet et soutenance orale


Dure : 8 minutes maximum Note sur 8 points Le candidat effectue une prsentation orale de son projet, d'une dure maximale de 8 minutes, pendant laquelle il n'est pas interrompu. Il s'appuie pour cela sur un dossier-projet de 5 10 pages, hors annexes, labor l'aide de l'outil informatique. Ce projet est structur de faon mettre en vidence : - le but vis et les moyens choisis pour atteindre ce but ; - la dmarche de projet qui a conduit au rsultat tel que prsent ; - la dimension collaborative du projet lie au travail en quipe (2 3 lves). Tout candidat se prsentant sans dossier-projet ou avec un dossier-projet non conforme la dfinition de l'preuve (quelle qu'en soit la raison) doit tre considr comme prsent. La commission d'valuation lui fait constater l'absence de dossier-projet ou sa non-conformit. La note de zro pour cette partie de l'valuation lui est alors attribue. Un dossier-projet est considr non conforme s'il n'est pas personnel ou n'est pas ralis avec l'outil informatique, ou comporte moins de 5 pages, hors annexes.

Deuxime partie - Dialogue argument avec la commission d'valuation


Dure : 12 minutes minimum Note sur 12 points La commission d'valuation interroge le candidat sur diffrents aspects de son projet et sur son lien avec les comptences fixes par le programme, puis largit ce questionnement aux autres comptences spcifies dans le programme. Cette interrogation a notamment pour but de vrifier que le candidat s'est appropri les notions fondamentales, sait les utiliser dans un contexte particulier ou les relier aux autres enseignements scientifiques spcifiques de la srie.

Baccalaurat S, spcialit ISN