Sujet de mini-projet en licence d'informatique pour 2005-2006 (pré-version pouvant être modifiée dans les détails)

Présentation du sujet

Ce projet doit être fait par des groupes de 3 étudiants.

Vous aller modéliser en Java des séquences de film. Les types d'objets à modéliser :

On devra pouvoir construire facilement une nouvelle séquence en changeant les acteurs, la scène et le scénario.

Vous commencerez par des séquences très simples. Par exemple, un plan fixe sur un cercle immobile. Voici le minimum qui vous est demandé :

Si votre projet fait correctement ce "minimum", il aura déjà une bonne note (au moins 15, sinon plus, si la conception, la programmation et la documentation sont de bonne qualité).

Voici quelques idées d'autres scénarios :

Essayez d'impressionner le correcteur par votre imagination...

Ce projet comporte une petite partie de recherche personnelle sur des points qui n'ont pas été vus en cours : vous aurez sans doute à étudier comment fonctionnent les threads en Java (un thread sera lancé pour animer la séquence, pour que l'interface graphique ne soit pas figée pendant l'animation) et à lire des compléments sur les interfaces graphiques et sur les dessins en 2D (si vous voulez faire des rotations par exemple).

Vous présenterez les différentes séquences sous forme de choix de menu dans votre interface graphique. Les choix devront obligatoirement comporter les 2 séquences requises au minimum pour ce projet.

Un plus serait de permettre à l'utilisateur de composer en interactif ses propres séquences mais cette fonctionnalité n'est pas obligatoire ; résolvez d'abord les autres problèmes avant d'essayer de l'ajouter à votre projet.

Notation

Il sera tenu le plus grand compte de

  1. Bonne architecture de l'application (relations d'héritage et de composition en particulier).
  2. La lisibilité du code.
  3. L'extensibilité du code. Il devra permettre d'ajouter de nouveaux acteurs à la séquence, de changer facilement de scénario (par programmation, mais pas nécessairement en interactif).
  4. L'ergonomie (faites tester par une personne étrangère au développement...). L'utilisateur ne doit pas avoir besoin d'aller lire le manuel de l'utilisateur que de façon exceptionnelle.
  5. La conformité du projet au format demandé (voir cette page).

Une application qui fait le minimum mais qui le fait bien, d'une façon robuste, conviviale, extensible et bien documentée, est préférable à une application avec beaucoup de fonctionnalités mais qui se plante ou qui est difficile à utiliser et pas extensible. Un grand nombre de fonctionnalités supplémentaires ne pourra compenser un manque de documentation correcte ou un autre point important indiqué ci-dessus.

Mettez-vous à la place du correcteur et facilitez-lui la tâche. Il saura vous en tenir gré. ;-)

Toute application qui ne respectera pas le format indiqué ici ne sera pas corrigée. Idem pour les applications qui ne seront pas documentées ou qui auront, par exemple, une javadoc sans information véritable. Il est temps de prendre des bonnes habitudes pour ceux qui ne les ont pas déjà (une toute petite minorité évidemment...).