2014_2015:s3:concprogobjet:td:corrections:td1
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 2014_2015:s3:concprogobjet:td:corrections:td1 [2014/08/16 19:42] – [Conception : 15mn] blay | 2014_2015:s3:concprogobjet:td:corrections:td1 [2014/09/03 09:14] (current) – [Conception : 15mn] blay | ||
|---|---|---|---|
| Line 15: | Line 15: | ||
| - Quels sont les grands cas d' | - Quels sont les grands cas d' | ||
| - | {{ : | + | {{ : |
| ===== De l' | ===== De l' | ||
| - | {{ : | + | {{ : |
| ==== Analyse : 15mn ==== | ==== Analyse : 15mn ==== | ||
| - | {{ : | + | {{ : |
| - | {{ : | + | {{ : |
| - | {{ : | + | {{ : |
| - | {{ : | + | {{ : |
| - | {{ : | + | {{ : |
| ==== Conception : 15mn ==== | ==== Conception : 15mn ==== | ||
| - | {{ : | + | {{ : |
| ===== Mise en oeuvre ===== | ===== Mise en oeuvre ===== | ||
| ==== Un projet java (5mn) ==== | ==== Un projet java (5mn) ==== | ||
| - | - Créer un projet java "// | ||
| - | - Placez vous dans la perspective " | ||
| - | - Créer la classe "// | ||
| - | * En sélectionnant le projet, //clique droit, new class// | ||
| - | * Bien sélectionner le //main// et les commentaires sur la classe {{: | ||
| - | ==== Un projet | + | La classe MonScenario à la fin du projet |
| - | A partir de maintenant vous devez prendre l' | + | |
| - | - Pour " | + | <code java> |
| - | - Dans la nouvelle perspective, | + | package busPk; |
| - | - Vérifier que votre fichier est bien, à présent, accessible depuis la forge, pour cela connectez vous sur la forge si ce n'est pas encore fait. | + | |
| - | - Evidemment, l' | + | |
| + | import java.util.ArrayList; | ||
| - | ==== Génération des codes (10 mn) ==== | + | public class MonScenario { |
| - | Nous allons à présent travailler sur les codes. Pour cela nous allons les générer à partir des modèles. Pour cette tâche, vous retournez sous Visual Paradigm. | + | /** |
| - | Aujourd' | + | * @param args |
| + | */ | ||
| + | public static void main(String[] args) { | ||
| - | | + | //créer un bus de nom "Nice-Circulation" |
| - | - Sélectionner votre diagramme | + | Bus monBus = new Bus(" |
| - | - Retourner sous Eclipse, sous la perspective Java, et faîtes un //refresh// (clique droit sur le projet). Si votre répertoire est mal organisé | + | //créer un message annonçant "une attente |
| - | - Corriger vos codes pour qu'ils soient | + | Message m1 = new Message(" |
| - | - Quand il n'y a plus d' | + | //publier le message |
| + | monBus.send(m1); | ||
| + | //créer un message annonçant | ||
| + | Message m2 = new Message(" | ||
| + | //publier le message | ||
| + | monBus.send(m2); | ||
| + | //lire les messages, | ||
| + | ArrayList< | ||
| + | // afficher le contenu des message. | ||
| + | for (Message m : messages ) | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| - | ==== Mise en place du programme principal préliminaire (10mn) ==== | ||
| - | Voici ce que doit faire a minima votre programme principal, pour cela retourner sur " | + | Pour le reste des codes, y compris |
| - | - créer un bus de nom " | + | |
| - | - créer un message annonçant "une attente de 5mn" | + | |
| - | - publier le message sur le bus, | + | |
| - | - créer un message annonçant "un accident" | + | |
| - | - publier le message sur le bus, | + | |
| - | - lire les messages, | + | |
| - | - afficher le contenu des message. | + | |
| - | Ce programme ne peut pas tourner puisque quasi rien n'est implémenté, | ||
| - | Vous pouvez à présent l' | ||
| - | |||
| - | |||
| - | ==== Un projet sous " | ||
| - | Notre objectif est à présent de préparer les tests qui accompagneront notre développement. Pour cela, nous utiliserons l' | ||
| - | |||
| - | - Ajoutez un nouveau dossier de sources nommé //tests// au même niveau d’arborescence que src | ||
| - | * sur le projet, faire un //new source-folder//, | ||
| - | - Dans le menu contextuel de, par exemple la classe // | ||
| - | * Sélectionnez le bouton radio //New JUnit 4 test//. | ||
| - | * Changez le dossier Source folder pour //tests//. | ||
| - | * Nommez la classe '' | ||
| - | * Cochez les cases '' | ||
| - | * Enfin cliquez sur //Finish//. | ||
| - | * Eclipse va remarquer que la bibliothèque de //JUnit// est absente du projet et vous propose d’ajouter automatiquement cette dernière au projet. | ||
| - | * Dans le panneau qui apparaît, cliquez sur OK. | ||
| - | - Eclipse a maintenant créé automatiquement le squelette de la classe de test. Il ne reste plus alors qu’à remplir cette dernière. | ||
| - | - Dans le menu contextuel, cliquez sur //Run As – JUnit test//. | ||
| - | Enfin, le premier rapport de tests s’affiche ! | ||
| - | {{ : | ||
| - | ==== Développement (20mn) | ||
| - | - Terminez la mise en oeuvre du bus en complétant les tests au fur et à mesure et en n' | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ===== Suites prévues pour ce projet ===== | ||
| - | |||
| - | * // | ||
| - | Le bus gère des " | ||
| - | Dans le scénario de base, la voiture A a choisi d' | ||
| - | * //Objectifs : Apprentissage d'une famille courante de patterns (fabrique, builder) mais uniquement par l' | ||
| - | * //Objectifs : Prise en compte des IHMs et mise en place du pattern MVC à tous les niveaux// : Définir les interfaces graphiques qui nous permettraient d' | ||
| - | * //Objectifs : Prise en considération des responsabilités uniques// : Routage en fonction des messages : La voiture A emet un message et le bus décide de la ou des boîtes à messages concernées. | ||
| - | * //Objectifs : mise en oeuvre du pattern DAO + différents modèles de persistance + intégration par les interfaces + travail en équipe// : Les messages seront rendus persistants. Pour certaines boîtes les messages sont persistants, | ||
| - | * Il est assez surprenant d' | ||
| - | - Il sera possible de définir différentes formes de souscription. | ||
| - | |||
| - | Nous n' | ||
| - | |||
| - | ==== Pour aller plus loin ==== | ||
| - | |||
| - | Un "bus à messages" | ||
| - | |||
| - | |||
| - | |||
| - | ===== EVALUATION de CE TD ===== | ||
| - | - Tous les étudiants ont donné accès à leur professeur sur un de leur espace. | ||
| - | - Tous les étudiants ont bien sauvegardé dans leur espace SVN. | ||
| - | - Tous les étudiants ont au moins une fois fait un commit dans cet espace de travail. | ||
| - | - Le programme est fonctionnel et le scénario de base est bien réalisé. | ||
| - | |||
| - | |||
| - | ===== Je sais ===== | ||
| - | |||
| - | <box round rgb(255, | ||
| - | * Créer un projet sous Eclipse, et le structurer correctement. | ||
| - | * Générer le code à partir d'un modèle de classes en UML. | ||
| - | * Connecter mon code à un répertoire SVN. | ||
| - | * Structurer mon projet pour intégrer les tests unitaires. | ||
| - | * Utiliser Eclipse pour améliorer mon développement en utilisant les outils d'aide au développement. | ||
| - | </ | ||
2014_2015/s3/concprogobjet/td/corrections/td1.1408218131.txt.gz · Last modified: 2014/08/16 19:42 by blay