next_inactive up previous


Devoir de programmation objet
Licence d'Informatique & ILOG1

Marc Champesme
Marc.Champesme@lipn.univ-paris13.fr
Departement d'Informatique
Institut Galilée

Objectif du devoir

Le but est de mettre en pratique les concepts de la programmation orientée objet et plus particulièrement :

Présentation du sujet

Il s'agit de réaliser un tableur très simple. Pour réduire la quantité de travail nécessaire, le code source en JAVA d'une version préliminaire du logiciel vous est fourni (disponible à l'adresse http://marc.champesme.free.fr/POO/source/tableur.tar.gz). Cependant, cette version du logiciel possède un certain nombre de défauts :

Travail demandé

Le devoir doit être réalisé individuellement : chaque étudiant devra rendre sa propre version du logiciel sur laquelle il sera évalué. Le travail à réaliser consiste à :

Corrections à apporter au logiciel

Afin de rendre la gestion de l'interface indépendante de la gestion des données du tableur, les caractéristiques (attributs ou méthodes) liées à l'affichage doivent être placées dans des classes distinctes de celles assurant le traitement des données. Par exemple, dans la classe Cell, les méthodes assurant la modification des données (setValue() et setRawValue()) restent dans la classe Cell, tandis que les méthodes assurant l'interaction avec l'utilisateur (affichage et récupérations des actions de l'utilisateur comme les clicks de souris) doivent être déplacées dans les classes assurant l'affichage (de la cellule ou du tableur).

Faire des classes distinctes pour les trois types de cellules (avec utilisation de l'héritage et du polymorphisme).

Mettre dans une classe séparée de la classe Cell tout ce qui concerne l'analyse syntaxique des formules.

Fonctionnalités à ajouter

Evaluation

Compte tenu de l'objectif fixé, ce n'est pas la richesse en fonctionnalité, mais plutôt la qualité de la réalisation qui sera évaluée.

La qualité de la réalisation sera évaluée selon les critères suivants :

Documents à rendre par chaque étudiant

Chaque étudiant rend une disquette et un rapport sur papier contenant :

Standards de programmation

Commentaires
Les commentaires doivent être rédigés en respectant les règles suivantes :

Choix des identificateurs
Tous les identificateurs doivent être francisés. Les seules exceptions admises sont les préfixes get et set pour les méthodes servant à consulter ou modifier un champ particulier : par exemple, il est admit que l'identificateur de méthode setCenter soit traduit (de manière incomplète) en setCentre. Pour les attributs privés (visibilité private), les identificateurs doivent avoir le préfixe '_' (exemple : _centre).

Assertions
Vous devez définir un invariant pour chaque classe et, sauf cas particulier (qui doit rester rare), toute méthode doit posséder une pré-condition et une post-condition.

Vous devez vous efforcer d'écrire les assertions en JAVA de façon à ce qu'elles puissent être activées à l'exécution. Cependant certaines assertions ne peuvent être décrites de manière satisfaisante en JAVA, dans ce cas, les assertions pourront être écrites en français.

Visibilité / masquage d'information
Toutes les classes et les méthodes doivent être déclarées public et tous les attributs doivent être déclarés private. Il est néanmoins admis que les attributs final soient déclarés public.

Toute exception à cette règle devra être clairement justifiée dans les commentaires.

Variables de classe
L'usage de variables de classes devra être réservé à des cas exceptionnels (par exemple variables final).

À propos de ce document...

Devoir de programmation objet
Licence d'Informatique & ILOG1

This document was generated using the LaTeX2HTML translator Version 2002 (1.62)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 devoirTableur.tex

The translation was initiated by Marc Champesme on 2002-12-20


next_inactive up previous
Marc Champesme 2002-12-20