Laboratoire 8: BugLab!

GEF 321 - Technique Objet-Orientée

But

Le but principal de ce laboratoire est de vous donner une opportunité de continuer avec votre familiarisation avec la phase de construction dans le Rational Unifindeinied Process. Un deuxième but est de vous donner plus d'expérience avec les cadres d'applications (frameworks). Les cadres d'applications se consistent en classes implémentées et des patterns qui donne des indices comment utiliser le cadre d'applications pour arriver à une implémentation d'une application spécifique.

Tache

Pour ce laboratoire vous devez concevoir, documenter et implémenter un composant dans une simulation de vie artificiel. Les systèmes de vie artificiels sont utiliser par les chercheurs pour explorer comment se comportent les systèmes artificiels qui sont modélisé d'une façon après les systèmes vivants.

  • Télécharger le fichier source du labo, qui contient un copie du cadre d'applications de simulation de vie artificiel et sa modèle en Rose.
  • Créez un projet en Eclipse avec les contenues du fichier. Les instructions spécifiques sera données dans le période du labo.

Details

Ouvrez le fichier de modèle avec Rose et étudier le cadre d'applications pour vie artificiel ledans. Après avoir obtenu une bonne compréhension du design de cadre d'applications et les patterns nécessaires pour l'utiliser, vous devez concevoir votre propre Bug qui vivra dans la simulation. La classe TestBug dans le modèle Rose est un exemple.

Utilisez Rational Rose pour documenter votre design. Vous devez créer spécifications pour chacune de vos classes et des opérations identifiées. Il faut qu'il y ait assez d'information dans votre design pour qu'une implémentation soit facile à créer commençant du design. Souvenez-vous que ce n'est pas l'idée d'avoir tous les messages possibles sur un diagramme. C'est beaucoup mieux d'avoir quelques petits diagrammes qui définirent les interactions nécessaires entre les objets et comment utiliser les opérations.

Dans votre design, utilisez une bonne décomposition orientée objet. Votre Bug sera une extension de la classe Creature, mais probablement il inclura des autres objets pour avoir assez de fonctionnalité.

Au moment de terminaison de votre Bug, faites attention aux références aux objets créer. Il faut que tous les références soient libérer; si non, c'est possible d'avoir une perte de mémoire qui terminera la simulation.

Vous devez implémenter votre Bug. Utiliser un nouveau nom de classe pour votre Bug. Pour tester votre design, vous devez créer un paquet bugs dans votre projet; votre fichier .java va ledans. Vous devez aussi modifier le fichier SimulationSetup.java pour ajouter votre Bug à la simulation. Créer les tests d'unité pour votre Bug (en utilisant JUnit ou comme vous voulez).

Vous n'aurez pas accès au code source pour la simulation.

Tous les implémentations seront exécuter dans une démonstration dans le période de laboratoire finale du cours. Le meilleur Bug recevront un bonus pour ses créateurs.

Soumission

La date de soumission est 8h00, vendredi, le 13 avril 2007.

Vous devez documenter votre design, incluant toutes les spécifications pour les classes et les opérations, dans le fichier de modèle de Rose.

Votre rapport de laboratoire doit être complet, claire, et avec les sections suivantes :

  • Introduction et description de votre produit (pour donner du contexte).
  • Une section sur la stratégie adoptée par votre Bug; c'est à dire comment il opère et interagit avec son environnement.
  • Une description de votre système de testage pour votre Bug.
  • Une description détaillée d'un nouvel organe qu'on peut ajouter au système pour rendre la simulation plus intéressant. Dans cette section vous devez montrer que vous avez une bonne compréhension du pattern Decorator et comment ce pattern est utilisé dans le cadre d'applications de simulation.
  • Une conclusion qui parle de l'usage de patterns dans le cadre d'applications de simulation.

Vous devez inclure tous votre code de Bug et votre code de testage.

This web site is not an official publication of the Royal Military College of Canada nor of the Department of National Defence. Ce site web n'est pas une publication officielle du Collége militaire royal du Canada ni du Ministère de la défense nationale.

View: ReST source. Validate: HTML, CSS.